2012-01-05 52 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 {} \;