Pentium10
Pentium10

Reputation: 207912

Is there a menu like interactive commit for SVN like Git has with --interactive?

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

Answers (4)

juj
juj

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

ErichBSchulz
ErichBSchulz

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

altern
altern

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

VonC
VonC

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:

graphical commit

Upvotes: 0

Related Questions