我的困惑,当标志混乱源于下面的语句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