如何将父目录添加到SVN?

时间:2009-10-26 18:18:38

标签: svn directory

说我有这样的目录结构

dir1
   dir2
   dir3

dir2已受版本控制,而dir1则不受版本控制。现在我意识到我希望dir1也受版本控制(可能稍后在dir3等)。我怎样才能在存储库中正确反映更改?

如果我只是将dir2移出dir1,请将dir1添加到SVN并将dir2移回dir1,这可能会破坏版本历史记录dir2。更复杂的是dir2包含许多不受版本控制的文件(它们被忽略),因此无法(完全)从存储库中重新创建dir2

4 个答案:

答案 0 :(得分:2)

你是对的,重新导入dir2将不会保存现有dir2的历史记录。

这应该可以解决问题(假设 path 是url存储库):

  1. svn mkdir 路径 / dir1
  2. svn mv 路径 / dir2 路径 / dir1

答案 1 :(得分:0)

  • dir1
  • 之外创建dir2
  • dir2移至dir1

您可以在服务器上(通过使用URL)或在工作副本中(通过使用文件系统路径)执行此操作。在后一种情况下,您将不得不事后提交。

答案 2 :(得分:0)

还有另一种可能性,虽然它可能不是您正在寻找的:SVN externals

  1. 签入dir1

  2. dir2添加为dir1属性外部的SVN:

  3. -

    $ svn propget svn:externals dir1
    dir2  svn://repository/dir2
    

答案 3 :(得分:0)

尝试svn add --parents dir1/dir2