我的困惑,當標誌混亂源於下面的語句taken from here:衝突拉動已刪除的文件用的darcs
當拉動補丁相互衝突(例如,更改文件的同一部分)的darcs檢測到衝突並將其標記在存儲庫內容中。然後它讓用戶解決問題。
這似乎與我所看到的不一致,所以我創建使用的darcs 2.5.2以下工作流程:
- 創建回購FOO;
- 在foo中創建一個非空文件並記錄它;
- 克隆foo吧;
- 刪除foo中的文件並記錄下來;
- 將另一行添加到bar中的文件並記錄它;
- 從foo拉入欄中,獲取衝突通知;
採取這些步驟後,我跑了吧darcs whatsnew
,顯示出兩個「補丁原語」:
- 一大塊刪除所有「foo中的非空文件」,但沒有提到添加並記錄在欄中的行;
- 刪除文件的rmfile。
我的問題是:爲什麼沒有提及添加和記錄在欄中的行?
如果我跑在酒吧darcs revert
,那麼一切都有道理:我看「非空文件」受既不衝突的修補程序,按照這種說法taken from here:
的darcs恢復該命令將刪除衝突標記並在衝突補丁之前備份。
不過,如果我跑darcs mark-conflicts
我回到同一狀態後拉,與上述兩個「補丁元」,並增加了無行的提及,並記錄在酒吧。
僅供參考/再現這裏是在命令行中我的完整工作流程:
$ mkdir foo
$ cd foo/
foo$ darcs initialize
foo$ touch shopping
foo$ vi shopping <-- add a couple of lines
foo$ darcs add shopping
foo$ darcs record
addfile ./shopping
Shall I record this change? (1/2) [ynW...], or ? for more options: y
hunk ./shopping 1
+cake
+pie
Shall I record this change? (2/2) [ynW...], or ? for more options: y
What is the patch name? Added shopping
Do you want to add a long comment? [yn]n
Finished recording patch 'Added shopping'
foo$ cd ..
$ darcs get foo/ bar
$ cd bar/
bar$ vi shopping <-- add another line
bar$ darcs record
hunk ./shopping 2
+beer
Shall I record this change? (1/1) [ynW...], or ? for more options: y
What is the patch name? Added beer
Do you want to add a long comment? [yn]n
Finished recording patch 'Added beer'
bar$ cd ../foo
foo$ rm shopping
foo$ darcs record
hunk ./shopping 1
-cake
-pie
Shall I record this change? (1/2) [ynW...], or ? for more options: y
rmfile ./shopping
Shall I record this change? (2/2) [ynW...], or ? for more options: y
What is the patch name? Removed shopping
Do you want to add a long comment? [yn]n
Finished recording patch 'Removed shopping'
foo$ cd ../bar
bar$ darcs pull
Pulling from "../foo"...
Mon Nov 14 19:26:44 GMT 2011 [email protected]
* Removed shopping
Shall I pull this patch? (1/1) [ynW...], or ? for more options: y
Backing up ./shopping(-darcs-backup0)
We have conflicts in the following files:
./shopping
Finished pulling and applying.
bar$ darcs whatsnew
hunk ./shopping 1
-cake
-pie
rmfile ./shopping
雖然測試這個,我發現了一個錯誤,因爲在拉出衝突的補丁之後嘗試'在'還原'之前'標記衝突'。我[爲它創建了一個bug](http://bugs.darcs.net/issue2104)。 – dukedave