11

这是我的困境:

我想从 SVN 签出单个目录(我们称之为 A),但是能够从计算机上的父目录执行并 svn up A 签出。

ig 我在 ~/coolstuff 我想检查 A 并将其放入 ~/coolstuff 中,当我在 ~/coolstuff 中时,我想发出 svn up 并让它更新 A。

这是在基本场景中执行此操作的技巧:在 SVN A 的父目录中是 Z。我在 ~/coolstuff 中对 Z 进行 SVN 检出。然后我 mv ~/coolstuff/Z/.svn 到 ~/coolstuff。Walla 我可以做一个 svn up,它可以工作,它会拉下 ~/coolstuff 内部的 A。

我的场景:我在上面做同样的事情,除了问题是 Z 不仅有孩子 A,而且还有孩子 B。所以 ~/coolstuff 中的 svn up 会拉下 A 和 B。但我没有不希望 B 被拉下。

这是解决方案:我编辑 ~/coolstuff/.svn/entries 并删除了对 B 的引用。现在 svn 看不到 B,只有 A。

当我第一次结帐时,上面的解决方案仍然初始拉下 A,我不想这样做。它看起来也很hack-ish。有没有更好/更清洁的方法来做到这一点,并且希望根本不必拉下“B”?

4

1 回答 1

13

我认为这是你想要做的:

svn co --depth empty file://path/to/A-B/parent coolstuff
cd coolstuff
svn up A

现在,您可以svn upcoolstuff中执行更新A而无需自动拉入B。

于 2011-08-31T22:25:06.153 回答