Merge branch 'ap/remote-hg-skip-null-bookmarks'
* ap/remote-hg-skip-null-bookmarks: remote-hg: do not fail on invalid bookmarks
This commit is contained in:
commit
125d8ecefe
@ -643,7 +643,10 @@ def do_list(parser):
|
||||
print "? refs/heads/branches/%s" % gitref(branch)
|
||||
|
||||
for bmark in bmarks:
|
||||
print "? refs/heads/%s" % gitref(bmark)
|
||||
if bmarks[bmark].hex() == '0000000000000000000000000000000000000000':
|
||||
warn("Ignoring invalid bookmark '%s'", bmark)
|
||||
else:
|
||||
print "? refs/heads/%s" % gitref(bmark)
|
||||
|
||||
for tag, node in repo.tagslist():
|
||||
if tag == 'tip':
|
||||
|
@ -772,4 +772,77 @@ test_expect_success 'remote double failed push' '
|
||||
)
|
||||
'
|
||||
|
||||
test_expect_success 'clone remote with master null bookmark, then push to the bookmark' '
|
||||
test_when_finished "rm -rf gitrepo* hgrepo*" &&
|
||||
|
||||
hg init hgrepo &&
|
||||
(
|
||||
cd hgrepo &&
|
||||
echo a >a &&
|
||||
hg add a &&
|
||||
hg commit -m a &&
|
||||
hg bookmark -r null master
|
||||
) &&
|
||||
|
||||
git clone "hg::hgrepo" gitrepo &&
|
||||
check gitrepo HEAD a &&
|
||||
(
|
||||
cd gitrepo &&
|
||||
git checkout --quiet -b master &&
|
||||
echo b >b &&
|
||||
git add b &&
|
||||
git commit -m b &&
|
||||
git push origin master
|
||||
)
|
||||
'
|
||||
|
||||
test_expect_success 'clone remote with default null bookmark, then push to the bookmark' '
|
||||
test_when_finished "rm -rf gitrepo* hgrepo*" &&
|
||||
|
||||
hg init hgrepo &&
|
||||
(
|
||||
cd hgrepo &&
|
||||
echo a >a &&
|
||||
hg add a &&
|
||||
hg commit -m a &&
|
||||
hg bookmark -r null -f default
|
||||
) &&
|
||||
|
||||
git clone "hg::hgrepo" gitrepo &&
|
||||
check gitrepo HEAD a &&
|
||||
(
|
||||
cd gitrepo &&
|
||||
git checkout --quiet -b default &&
|
||||
echo b >b &&
|
||||
git add b &&
|
||||
git commit -m b &&
|
||||
git push origin default
|
||||
)
|
||||
'
|
||||
|
||||
test_expect_success 'clone remote with generic null bookmark, then push to the bookmark' '
|
||||
test_when_finished "rm -rf gitrepo* hgrepo*" &&
|
||||
|
||||
hg init hgrepo &&
|
||||
(
|
||||
cd hgrepo &&
|
||||
echo a >a &&
|
||||
hg add a &&
|
||||
hg commit -m a &&
|
||||
hg bookmark -r null bmark
|
||||
) &&
|
||||
|
||||
git clone "hg::hgrepo" gitrepo &&
|
||||
check gitrepo HEAD a &&
|
||||
(
|
||||
cd gitrepo &&
|
||||
git checkout --quiet -b bmark &&
|
||||
git remote -v &&
|
||||
echo b >b &&
|
||||
git add b &&
|
||||
git commit -m b &&
|
||||
git push origin bmark
|
||||
)
|
||||
'
|
||||
|
||||
test_done
|
||||
|
Loading…
Reference in New Issue
Block a user