##// END OF EJS Templates
changegroup: move file matcher from narrow extension...
changegroup: move file matcher from narrow extension Sparse changegroup generation requires the use of a matcher to filter which files are relevant. This commit moves the file matcher from the narrow extension to core and updates the narrow extension to use it. I'm not sure why the narrow extension was storing the matcher as a callable that resolved to a matcher. So I changed it to be a simple matcher instance. In addition, code from narrow to intersect the matcher with the local narrow spec is now performed automatically when the changegroup packer is created. If a matcher is not passed into getbundler() an alwaysmatcher() is assumed. This ensures that a matcher is always defined for all operations. Differential Revision: https://phab.mercurial-scm.org/D4011

File last commit:

r35722:41ef02ba default
r38818:9c057acb default
Show More
test-commit-unresolved.t
141 lines | 3.4 KiB | text/troff | Tads3Lexer
/ tests / test-commit-unresolved.t
$ 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
State before the merge
$ hg status
$ hg id
e45016d2b3d3 tip
$ hg summary
parent: 3:e45016d2b3d3 tip
D
branch: default
commit: (clean)
update: 2 new changesets, 2 branch heads (merge)
phases: 4 draft
Testing the abort functionality first in case of conflicts
$ hg merge --abort
abort: no merge in progress
[255]
$ 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 merge --abort' to abandon
[1]
$ hg merge --abort e4501
abort: cannot specify a node with --abort
[255]
$ hg merge --abort --rev e4501
abort: cannot specify both --rev and --abort
[255]
$ hg merge --abort
aborting the merge, updating back to e45016d2b3d3
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
Checking that we got back in the same state
$ hg status
? A.orig
$ hg id
e45016d2b3d3 tip
$ hg summary
parent: 3:e45016d2b3d3 tip
D
branch: default
commit: 1 unknown (clean)
update: 2 new changesets, 2 branch heads (merge)
phases: 4 draft
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 merge --abort' 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"
Test that if a file is removed but not marked resolved, the commit still fails
(issue4972)
$ hg up ".^"
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg merge 2
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 merge --abort' to abandon
[1]
$ hg rm --force A
$ hg commit -m merged
abort: unresolved merge conflicts (see 'hg help resolve')
[255]
$ hg resolve -ma
(no more unresolved files)
$ hg commit -m merged
created new head
Testing the abort functionality in case of no conflicts
$ hg update -C 0
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ addcommit "E" 4
created new head
$ hg id
68352a18a7c4 tip
$ hg merge -r 4
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg merge --preview --abort
abort: cannot specify --preview with --abort
[255]
$ hg merge --abort
aborting the merge, updating back to 68352a18a7c4
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg id
68352a18a7c4 tip
$ cd ..