2012-01-05 50 views
5

最大的可能是你在git的知道你可以通过使用是否有类似Git的互动提交SVN的菜单与 - 交互?

git commmit --interactive 

,即会显示一个菜单,在这里你可以添加/更新/补丁/还原事情变得非常好提交的经验,您可以通过选择文件,其范围,例如: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> 

我希望得到在SVN相同的功能就像一个shell命令
你知道什么是SVN命令吗?

+2

嗯,如果你正在使用SVN,你可以使用git-svn的,因为它具有“读/写”支持 – fge 2012-01-05 08:11:24

回答

7

坏消息是,有没有这样的事情作为SVN交互式命令行提示符。好消息是,你可以自己写,并成为第一个想出这样一个有用的工具。

0

我不认为你在CLI(Command Line Interface,命令行界面,即“带有shell命令”)的SVN中具有这种功能。

当然,你有一些它像TortoiseSVN(Windows)或RabbitVCS (Linux)一个GUI,但是这是一个图形的解决方案,而不是一个命令行一个(如此反复, shell命令)。

图形,增强提交的样子:

graphical commit

+0

这不是一个答案我的问题,这是Windows 也许。 – Pentium10 2012-01-05 08:03:27

+0

@ Pentium10:我的观点是,你会发现你在GUI中提到的功能(比如这个Windows,但其他的Os也有其他功能:比如RabbitVCS就是Linux的TortoiseSVN:http://rabbitvcs.org/) 。不在CLI中。 – VonC 2012-01-05 08:21:57

+0

@ Pentium10:我编辑了我的答案,强调了“不可用shell命令”(据我所知)的一部分。 – VonC 2012-01-05 08:27:49

0

在altem的答案的精神,我只是做:

# 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 

,并提出了命令,以提交所选文件

GAD大于做多svn ci提交丑陋

但更容易和svn st

0

意见:我觉得svn非常糟糕的命令行和脚本设计一般...

但我经常使用find及其-ok表达时,我想提示用户:

find . -name "*.jar" -exec svn info {} \; -a -ok svn delete {} \; 

注意的是,在情况下,你不想svn info输出,你必须调用子shell如下(否则-ok不会输出在所有):

find . -name "*.jar" -exec sh -c 'svn info "{}" 2>/dev/null' \; -a -ok svn delete {} \;