mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 07:17:55 +03:00
merge: make test for fast-forward merge stricter (issue619)
don't allow merging with an ancestor fix != on contexts add a test
This commit is contained in:
parent
d01208a3d1
commit
cfe7a0a522
@ -40,6 +40,9 @@ class changectx(object):
|
||||
except AttributeError:
|
||||
return False
|
||||
|
||||
def __ne__(self, other):
|
||||
return not (self == other)
|
||||
|
||||
def __nonzero__(self):
|
||||
return self._rev != nullrev
|
||||
|
||||
@ -185,6 +188,9 @@ class filectx(object):
|
||||
except AttributeError:
|
||||
return False
|
||||
|
||||
def __ne__(self, other):
|
||||
return not (self == other)
|
||||
|
||||
def filectx(self, fileid):
|
||||
'''opens an arbitrary revision of the file without
|
||||
opening a new filelog'''
|
||||
|
@ -523,7 +523,7 @@ def update(repo, node, branchmerge, force, partial, wlock):
|
||||
raise util.Abort(_("outstanding uncommitted merges"))
|
||||
if pa == p1 or pa == p2: # is there a linear path from p1 to p2?
|
||||
if branchmerge:
|
||||
if p1.branch() != p2.branch():
|
||||
if p1.branch() != p2.branch() and pa != p2:
|
||||
fastforward = True
|
||||
else:
|
||||
raise util.Abort(_("there is nothing to merge, just use "
|
||||
|
20
tests/test-issue619
Executable file
20
tests/test-issue619
Executable file
@ -0,0 +1,20 @@
|
||||
#!/bin/sh
|
||||
|
||||
mkdir t
|
||||
cd t
|
||||
hg init
|
||||
echo a > a
|
||||
hg ci -Ama -d '1000000000 0'
|
||||
echo b > b
|
||||
hg branch b
|
||||
hg ci -Amb -d '1000000000 0'
|
||||
hg co -C 0
|
||||
|
||||
echo fast-forward
|
||||
hg merge b
|
||||
hg ci -Ammerge -d '1000000000 0'
|
||||
|
||||
echo bogus fast-forward should fail
|
||||
hg merge b
|
||||
|
||||
echo done
|
10
tests/test-issue619.out
Normal file
10
tests/test-issue619.out
Normal file
@ -0,0 +1,10 @@
|
||||
adding a
|
||||
marked working directory as branch b
|
||||
adding b
|
||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
|
||||
fast-forward
|
||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
||||
(branch merge, don't forget to commit)
|
||||
bogus fast-forward should fail
|
||||
abort: there is nothing to merge, just use 'hg update' or look at 'hg heads'
|
||||
done
|
Loading…
Reference in New Issue
Block a user