Mercurial > evolve
changeset 1900:27ea12c05e99
destination: fix 'hg pull --rebase'
I'm not sure why sometime functions does not have func_default but this is easy
to fix. I've added a test to catch such stuff it in the future.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Wed, 16 Mar 2016 12:14:20 -0700 |
parents | b65f39791f92 |
children | 692a1aa1350c |
files | src/topic/destination.py tests/test-topic-dest.t |
diffstat | 2 files changed, 47 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/topic/destination.py Tue Mar 15 17:25:18 2016 +0000 +++ b/src/topic/destination.py Wed Mar 16 12:14:20 2016 -0700 @@ -38,7 +38,7 @@ % (top, len(heads))) else: assert False # that's impossible - if orig.func_default: # version above hg-3.7 + if getattr(orig, 'func_default', ()): # version above hg-3.7 return orig(repo, action, sourceset, onheadcheck) else: return orig(repo)
--- a/tests/test-topic-dest.t Tue Mar 15 17:25:18 2016 +0000 +++ b/tests/test-topic-dest.t Wed Mar 16 12:14:20 2016 -0700 @@ -7,6 +7,8 @@ > rebase= > [phases] > publish=false + > EOF + $ cat <<EOF >> $HGRCPATH > [ui] > logtemplate = '{rev} ({topics}) {desc}\n' > EOF @@ -256,6 +258,50 @@ o 0 () c_alpha + +Check pull --rebase +------------------- + +(we broke it a some point) + + $ cd .. + $ hg clone jungle other --rev '2' + adding changesets + adding manifests + adding file changes + added 3 changesets with 3 changes to 3 files + updating to branch default + 3 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ cd other + $ echo other > other + $ hg add other + $ hg ci -m 'c_other' + $ hg pull -r default --rebase + pulling from $TESTTMP/jungle + searching for changes + adding changesets + adding manifests + adding file changes + added 3 changesets with 3 changes to 3 files (+1 heads) + rebasing 3:dbc48dd9e743 "c_other" + $ hg log -G + @ 7 () c_other + | + o 6 () c_zeta + | + o 5 () c_epsilon + | + o 4 () c_delta + | + o 2 () c_gamma + | + o 1 () c_beta + | + o 0 () c_alpha + + $ cd ../jungle + + Default destination for update ===============================