mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 08:18:15 +03:00
ba6fa6a223
- add documentation about what the function does, notably the fact that it updates 'base' - transform the workflow to a more simple 'if elif elif else' - do not call remote.branches if not necessary - some nodes where missing in 'base' (from what I understand, if the root of a branch is missing but one parent is present, the parent should be in 'base') - add a testcase for an incorrect outgoing that is fixed by this cset - add a testcase for an empty group bug, it needs fixing
50 lines
868 B
Bash
Executable File
50 lines
868 B
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# A B
|
|
#
|
|
# 3 4 3
|
|
# |\/| |\
|
|
# |/\| | \
|
|
# 1 2 1 2
|
|
# \ / \ /
|
|
# 0 0
|
|
#
|
|
# if the result of the merge of 1 and 2
|
|
# is the same in 3 and 4, no new manifest
|
|
# will be created and the manifest group
|
|
# will be empty during the pull
|
|
#
|
|
# (plus we test a failure where outgoing
|
|
# wrongly reported the number of csets)
|
|
#
|
|
|
|
hg init a
|
|
cd a
|
|
touch init
|
|
hg ci -A -m 0 -d "1000000 0"
|
|
touch x y
|
|
hg ci -A -m 1 -d "1000000 0"
|
|
hg update 0
|
|
touch x y
|
|
hg ci -A -m 2 -d "1000000 0"
|
|
hg merge 1
|
|
hg ci -A -m m1 -d "1000000 0"
|
|
#hg log
|
|
#hg debugindex .hg/00manifest.i
|
|
hg update -C 1
|
|
hg merge 2
|
|
hg ci -A -m m2 -d "1000000 0"
|
|
#hg log
|
|
#hg debugindex .hg/00manifest.i
|
|
|
|
cd ..
|
|
hg clone -r 3 a b
|
|
hg clone -r 4 a c
|
|
hg -R a outgoing b
|
|
hg -R a outgoing c
|
|
hg -R b outgoing c
|
|
hg -R c outgoing b
|
|
|
|
hg -R b pull a
|
|
hg -R c pull a
|