2010-04-22 46 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

相关问题