2009-04-28 47 views
2

我有一個文件在CVS下的x/y/f.txt。在我的本地副本中,我有x/,但沒有x/y/,我想從回購中獲取f.txt。是否有任何CVS命令行開關的組合可以使其僅與其所有祖先(在此例中爲x/y/)只有x/y/f.txt拉動但沒有任何附屬文件(例如x/y/g.txtx/z)?CVS:用其祖先更新文件,但沒有他們的弟兄


我到目前爲止發現的唯一方法是:

cvs up -d -l x/y 
# ... but be careful not to pass -P (``prune'') implicitly via your ~/.cvsrc 
# ``-l'' means act locally, i.e. no recursion 
# Do the above for every missing ancestor directory, in left-to-right order 
# And ultimately: 
cvs up x/y/f.txt 

不過,這將是相當不雅的shell腳本分裂的路徑,並通過迭代的祖先,所以我仍然在尋找一個好的解決方案。

回答

0

您是否已簽出工作副本或者是否需要全新結帳?

如果您已經有工作副本cvs up -d x/y/f.txt應該完成這項工作。

只有當xy文件夾不存在時,才需要-d。如果它們確實存在,也可以將cd轉換成x/y文件夾,並執行cvs up f.txt

如果這應該是一個新的結帳,那麼cvs co -N x/y/f.txt可能是你需要的。

+1

我有一個部分工作副本--- x但不是x/y。 「cvs up -d x/y/f.txt」抱怨x/y丟失。 「cvs co -N x/y/f.txt」表示「無法擴展模塊」。 – ngn 2009-05-11 11:57:34