2010-07-21 45 views
1

我有一個分支機構的大項目。所有的發展都集中在分支機構。 我想在前段時間這個分支的狀態,但不能CVS:在某個日期獲取某個分支的狀態

cvs up -r branch_name -D 2010-05-01 

給我(在CVS狀態的Makefile)粘標籤,但文件的最新版本,而不是在2010-05 -01

cvs up -D 2010-05-01 -r branch_name 

忽略標籤,並更新到HEAD

cvs up -r branch_name:2010-05-01 

的那個日期不會太正常工作,它忽略了日期和更新分支的當前狀態。

+0

我好像記得有涉及冒號的特殊語法,但我不能在這個文檔現在找到它... – 2010-07-21 22:47:28

+1

嗯,它只記錄了'-j'選項(即合併),但我認爲它也可能適用於'-r':'cvs up -r branch_name:2010-05-01'(未測試) – 2010-07-21 22:57:04

+0

Oliver吉森,請將此添加爲答案 – osgx 2010-07-22 00:48:10

回答

2

cvs update -PdC -r BRANCH-NAME-HERE -D "Saturday, May 1, 2010 0:00:00 AM UTC"

如果你知道的時候,添加...

+0

「P」,「d」和「C」選項的含義是什麼? – osgx 2011-12-22 17:06:31

+1

* P =刪除空目錄 * d =如果在回購協議是不是在工作區中的任何迪爾斯,創建它們 不知道什麼是「C」是,但一直用它這個... – Sagar 2012-01-05 21:12:00

+0

這似乎並沒有在那個時候給整個分支。它只會提供自原始分支以來已更改的文件。所以我發現當我按日期結賬時文件丟失了。有沒有辦法讓整個分支? – 2015-06-24 16:40:04

0

這應該做的伎倆:

cvs up -r branch_name:2010-05-01 

冒號語法只記載了-j選項,但可能作品-r了。

+0

是不是很奇怪,可能是它使用了一些不同的日期格式? 它在2010-05-01更新爲舊版本,但未更新。 – osgx 2010-07-22 17:18:09

+0

不,它不起作用。 – osgx 2010-11-18 16:00:28

+0

嗯,在'-r'選項解析中有'parse_tagdate'調用 - [cvs/src/update.c:205](https://sources.debian.net/src/cvs/2:1.12.13%2Breal -15/src/update.c /#L205)('case'r':parse_tagdate(&tag,&date,optarg);')which parse date:[cvs/src/main.c:1146](http:/ /sources.debian.net/src/cvs/2:1.12.13%2Breal-15/src/main.c/?hl=1168#L1146)「解析TAG [:DATE]形式的字符串,其中TAG可以成爲空串。「;它使用與'-D'選項相同的'Make_Date' /'get_date'解析日期。 – osgx 2015-09-14 12:16:39

相關問題