2010-04-22 45 views
1

我有svn存儲庫,我已經安排了一些文件和文件夾在svn mv的存儲庫中移動。我也有一些文件是被移動的文件的同伴,這些文件具有本地修改,我只希望這些文件的一個子集與移動一起提交。提交文件刪除到svn存儲庫,同時忽略一些其他本地mod

例如的svn st輸出會是什麼樣子:

D  foo/bar 
D  foo/bar/a.txt 
D  foo/bar/b.txt 
M  foo/exclude.txt 
M  foo/include.txt 
A  foo/whiz/bar 
A + foo/whiz/bar/c.txt 
A + foo/whiz/bar/d.txt 

要提交到移動到存儲庫中,我需要執行提交上foo但也將提交修改foo/exclude.txtfoo/include.txt。除了foo/exclude.txt之外,我將如何只作出刪除/添加,作爲移動的結果加上修改到foo/include.txt

我有一種感覺,答案在於--depth論點svn ci但我不清楚它將如何運作。

回答

2

爲什麼不提交單個文件而不是樹?

$ svn ci foo/bar 
$ svn ci foo/whiz 
... 
+0

這也可以,但是你很可能會損壞你的工作目錄,特別是如果你不是唯一使用同一個存儲庫的人。而且,當你的項目文件很多時,這很難管理。仍然是有效的解決方案。 – 2010-04-22 14:03:38

+0

謝謝,這就是我的想法(最初嘗試),但我在其中一個路徑中犯了一個錯誤(比我的例子更復雜),並且svn的錯誤消息讓我認爲我做錯了事情。 – TheJuice 2010-04-22 14:05:51

+0

@Xavier Ho:您可以在同一個提交命令中指定單個路徑,例如'$ svn ci foo/bar foo/whiz' – TheJuice 2010-04-22 14:07:28

1

對於SVN,這種行爲通常是不期望的。簡短的回答是,不要這樣做。

不過,當然療法是其他方式周圍(與SVN):

  • 店出來,然後合併回後(痛苦的,如果你不熟悉的過程)
  • 上刪除foo/exclude.txt通過使用svn delete --keep-local SVN也可以工作,但它也意味着該文件將變爲未版本化,直到您再次登錄svn add

你的用例是什麼?你爲什麼需要這種行爲?

+0

用例正處於某些工作的中間,然後由於其他原因必須更改某些代碼。我可以解決分支和合並甚至(* shudder *)將我的本地mod複製到exclude.txt中,執行提交併將其放回。我只是想知道是否有一種方法可以在svn的工具集中執行此操作。 – TheJuice 2010-04-22 14:15:16

相關問題