mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 00:45:18 +03:00
a6dc53e738
The current output for a failed merge with conflict markers looks something like: merging foo warning: conflicts during merge. merging foo incomplete! (edit conflicts, then use 'hg resolve --mark') merging bar warning: conflicts during merge. merging bar incomplete! (edit conflicts, then use 'hg resolve --mark') We're going to change the way merges are done to perform all premerges before all merges, so that the output above would look like: merging foo merging bar warning: conflicts during merge. merging foo incomplete! (edit conflicts, then use 'hg resolve --mark') warning: conflicts during merge. merging bar incomplete! (edit conflicts, then use 'hg resolve --mark') The 'warning: conflicts during merge' line has no context, so is pretty confusing. This patch will change the future output to: merging foo merging bar warning: conflicts while merging foo! (edit, then use 'hg resolve --mark') warning: conflicts while merging bar! (edit, then use 'hg resolve --mark') The hint on how to resolve the conflicts makes this a bit unwieldy, but solving that is tricky because we already hint that people run 'hg resolve' to retry unresolved merges. The 'hg resolve --mark' mostly applies to conflict marker based resolution.
47 lines
994 B
Perl
47 lines
994 B
Perl
$ addcommit () {
|
|
> echo $1 > $1
|
|
> hg add $1
|
|
> hg commit -d "${2} 0" -m $1
|
|
> }
|
|
|
|
$ commit () {
|
|
> hg commit -d "${2} 0" -m $1
|
|
> }
|
|
|
|
$ hg init a
|
|
$ cd a
|
|
$ addcommit "A" 0
|
|
$ addcommit "B" 1
|
|
$ echo "C" >> A
|
|
$ commit "C" 2
|
|
|
|
$ hg update -C 0
|
|
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
|
|
$ echo "D" >> A
|
|
$ commit "D" 3
|
|
created new head
|
|
|
|
Merging a conflict araises
|
|
|
|
$ hg merge
|
|
merging A
|
|
warning: conflicts while merging A! (edit, then use 'hg resolve --mark')
|
|
1 files updated, 0 files merged, 0 files removed, 1 files unresolved
|
|
use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
|
|
[1]
|
|
|
|
Correct the conflict without marking the file as resolved
|
|
|
|
$ echo "ABCD" > A
|
|
$ hg commit -m "Merged"
|
|
abort: unresolved merge conflicts (see "hg help resolve")
|
|
[255]
|
|
|
|
Mark the conflict as resolved and commit
|
|
|
|
$ hg resolve -m A
|
|
(no more unresolved files)
|
|
$ hg commit -m "Merged"
|
|
|
|
$ cd ..
|