Reputation: 207912
Most probably you know in git you can get a very good commit experience by using
git commmit --interactive
which will show up a menu, where you can add/update/patch/revert things, and you select files by their range, eg: 1-5,10-12,100-1135
$ git commit --interactive
staged unstaged path
*** Commands ***
1: [s]tatus 2: [u]pdate 3: [r]evert 4: [a]dd untracked
5: [p]atch 6: [d]iff 7: [q]uit 8: [h]elp
What now>
I am looking to get the same functionality in SVN like a shell command.
Do you know what is the SVN command?
Upvotes: 5
Views: 1359
Reputation: 447
Opinion: I find svn
very badly designed for the command line and scripting in general...
But I often use find
and its -ok
expression when I want to prompt user:
find . -name "*.jar" -exec svn info {} \; -a -ok svn delete {} \;
Note that in the case you don’t want svn info
output, you have to invoke a subshell as follows (otherwise -ok
will not output at all):
find . -name "*.jar" -exec sh -c 'svn info "{}" 2>/dev/null' \; -a -ok svn delete {} \;
Upvotes: 0
Reputation: 15659
in spirit of altem's answer, i just did:
# collect a list modified files
svn st > temp.sh
# use your favourite editor (although it is vim, right?)
# to edit list into suitable svn command or commands
vim temp.sh
# execute
. ~/temp.sh
and made a command to commit a selection of files
gad that is ugly
but easier than doing multiple svn ci
commits and svn st
Upvotes: 0
Reputation: 5949
Bad news is that there is no such thing as interactive command line prompt for svn. Good news is that you can write your own and be the first to come up with such a useful tool.
Upvotes: 8
Reputation: 1324278
I don't think you have that kind of feature in the CLI (Command Line Interface, ie "with a shell command") of SVN.
Of course, you have some of it in a GUI like TortoiseSVN (Windows) or RabbitVCS (Linux), but this is a graphical solution, not a command-line one (so again, not a shell Command).
Graphically, the enhanced commit looks like:
Upvotes: 0