你很可能在git中知道使用
可以获得非常好的提交体验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命令吗?
答案 0 :(得分:8)
坏消息是没有svn的交互式命令行提示。好消息是你可以自己编写并成为第一个提出这样一个有用工具的人。
答案 1 :(得分:0)
我认为您在SVN的CLI(命令行界面,即“带有shell命令”)中没有这种功能。
当然,你有一些像TortoiseSVN(Windows)或RabbitVCS (Linux)这样的GUI,但这是图形解决方案,而不是命令行解决方案(再次,不一个shell命令)。
图形化地,增强提交看起来像:
答案 2 :(得分: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
并发出命令提交文件选择
丑陋的小工具
但比执行多个svn ci
提交和svn st
答案 3 :(得分: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 {} \;