[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1006038: git-remote-hg: FTBFS: dh_auto_test: error: make -j8 test returned exit code 2



Source: git-remote-hg
Version: 1.0.2.1~ds-3
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> make[3]: Entering directory '/<<PKGBUILDDIR>>/test'
> /bin/sh main.t --verbose
> /bin/sh main-push.t --verbose
> /bin/sh bidi.t --verbose
> /bin/sh helper.t --verbose
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	setup_repos &&
> 
> 	(
> 	cd gitrepo &&
> 	test_expect_code 2 git-hg-helper help 2> ../help
> 	)
> 	# remotes should be in help output
> 	grep origin help
> 
> expecting success: 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo zero > content &&
> 	hg add content &&
> 	hg commit -m zero
> 	)
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	(
> 	git init -q gitrepo &&
> 	cd gitrepo &&
> 
> 	echo alpha > alpha &&
> 	git add alpha &&
> 	git commit -m "add älphà" &&
> 
> 	GIT_AUTHOR_NAME="tést èncödîng" &&
> 	export GIT_AUTHOR_NAME &&
> 	echo beta > beta &&
> 	git add beta &&
> 	git commit -m "add beta" &&
> 
> 	echo gamma > gamma &&
> 	git add gamma &&
> 	git commit -m "add gämmâ" &&
> 
> 	: TODO git config i18n.commitencoding latin-1 &&
> 	echo delta > delta &&
> 	git add delta &&
> 	git commit -m "add déltà"
> 	) &&
> 
> 	hg_clone gitrepo hgrepo &&
> 	git_clone hgrepo gitrepo2 &&
> 	hg_clone gitrepo2 hgrepo2 &&
> 
> 	HGENCODING=utf-8 hg_log hgrepo > expected &&
> 	HGENCODING=utf-8 hg_log hgrepo2 > actual &&
> 
> 	test_cmp expected actual
> 
> expecting success: 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo zero > content &&
> 	hg add content &&
> 	hg commit -m zero
> 	)
> 
> [master (root-commit) 79c6ce2] add älphà
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 alpha
> [master 68b42de] add beta
>  Author: tést èncödîng <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 beta
> [master 8ee0762] add gämmâ
>  Author: tést èncödîng <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 gamma
> [master 3b0b48f] add déltà
>  Author: tést èncödîng <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 delta
> no changes found
> searching for changes
> adding changesets
> adding manifests
> ok 1 - setup
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 	git clone "hg::hgrepo" gitrepo &&
> 	check gitrepo HEAD zero
> 
> adding file changes
> Cloning into 'gitrepo'...
> added 4 changesets with 4 changes to 4 files
> ok 1 - setup
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 	git clone "hg::hgrepo" gitrepo &&
> 	check gitrepo HEAD zero
> 
> Cloning into 'gitrepo'...
> Cloning into 'gitrepo'...
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets be49376660c1
> adding changesets
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> adding manifests
> adding changesets
> adding file changes
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets be49376660c1
> added 1 changesets with 1 changes to 1 files
> new changesets be49376660c1
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> ok 2 - cloning
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 
> 	(
> 	cd hgrepo &&
> 	hg branch next &&
> 	echo next > content &&
> 	hg commit -m next
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 	check gitrepo origin/branches/next next
> 
> ok 2 - cloning
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 
> 	(
> 	cd hgrepo &&
> 	hg branch next &&
> 	echo next > content &&
> 	hg commit -m next
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 	check gitrepo origin/branches/next next
> 
> marked working directory as branch next
> (branches are permanent and global, did you want a bookmark?)
> adding changesets
> adding manifests
> adding file changes
> added 4 changesets with 4 changes to 4 files
> new changesets 1e3e49d2cc8f:6674f1c866b5
> marked working directory as branch next
> (branches are permanent and global, did you want a bookmark?)
> progress revision walk 'bookmarks/master' (3/3)
> progress revision 0 'master' (0/4)
> 	origin
> ok 1 - subcommand help
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	setup_repos &&
> 
> 	(
> 	cd hgrepo &&
> 	pwd >../expected
> 	) &&
> 
> 	(
> 	cd gitrepo &&
> 	git-hg-helper repo origin > ../actual
> 	) &&
> 
> 	test_cmp expected actual
> 
> Cloning into 'gitrepo'...
> Cloning into 'gitrepo'...
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> adding changesets
> adding manifests
> added 2 changesets with 2 changes to 1 files
> adding file changes
> new changesets be49376660c1:f64406591975
> added 2 changesets with 2 changes to 1 files
> new changesets be49376660c1:f64406591975
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> progress revision 1 'next' (0/1)
> searching for changes
> no changes found
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> progress revision 1 'next' (0/1)
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 4 changesets with 4 changes to 4 files
> ok 3 - cloning with branches
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 
> 	(
> 	cd hgrepo &&
> 	hg checkout default &&
> 	hg bookmark feature-a &&
> 	echo feature-a > content &&
> 	hg commit -m feature-a
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 	check gitrepo origin/feature-a feature-a
> 
> ok 3 - cloning with branches
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 
> 	(
> 	cd hgrepo &&
> 	hg checkout default &&
> 	hg bookmark feature-a &&
> 	echo feature-a > content &&
> 	hg commit -m feature-a
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 	check gitrepo origin/feature-a feature-a
> 
> Cloning into 'gitrepo'...
> 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> Cloning into 'gitrepo'...
> Cloning into 'gitrepo'...
> ok 1 - encoding
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	(
> 	git init -q gitrepo &&
> 	cd gitrepo &&
> 	echo alpha > alpha &&
> 	git add alpha &&
> 	git commit -m "add alpha" &&
> 	echo beta > beta &&
> 	git add beta &&
> 	git commit -m "add beta"
> 	mkdir foo &&
> 	echo blah > foo/bar &&
> 	git add foo &&
> 	git commit -m "add foo" &&
> 	git rm alpha &&
> 	git commit -m "remove alpha" &&
> 	git rm foo/bar &&
> 	git commit -m "remove foo/bar"
> 	) &&
> 
> 	hg_clone gitrepo hgrepo &&
> 	git_clone hgrepo gitrepo2 &&
> 	hg_clone gitrepo2 hgrepo2 &&
> 
> 	hg_log hgrepo > expected &&
> 	hg_log hgrepo2 > actual &&
> 
> 	test_cmp expected actual
> 
> [master (root-commit) 223a6f6] add alpha
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 alpha
> [master 862befc] add beta
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 beta
> [master 86bf00d] add foo
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 foo/bar
> rm 'alpha'
> [master 74dc957] remove alpha
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 deletion(-)
>  delete mode 100644 alpha
> rm 'foo/bar'
> [master ea36818] remove foo/bar
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 deletion(-)
>  delete mode 100644 foo/bar
> ok 2 - subcommand repo - no local proxy
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	setup_repos &&
> 
> 	(
> 	cd gitrepo &&
> 	export gitdir=`git rev-parse --git-dir`
> 	# trick to normalize path
> 	( cd $gitdir/hg/origin/clone && pwd ) >../expected &&
> 	( cd `git-hg-helper repo origin` && pwd ) > ../actual
> 	) &&
> 
> 	test_cmp expected actual
> 
> adding changesets
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding manifests
> adding file changes
> adding remote bookmark feature-a
> added 3 changesets with 3 changes to 1 files (+1 heads)
> new changesets be49376660c1:404186cf740f
> progress revision walk 'bookmarks/master' (2/2)
> progress revision 0 'master' (0/2)
> progress revision 1 'next' (0/1)
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark feature-a
> added 3 changesets with 3 changes to 1 files (+1 heads)
> new changesets be49376660c1:404186cf740f
> progress revision walk 'bookmarks/master' (2/2)
> progress revision 0 'master' (0/2)
> progress revision 1 'next' (0/1)
> ok 4 - cloning with bookmarks
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 
> 	(
> 	cd hgrepo &&
> 	hg bookmark devel
> 	) &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	git checkout --quiet devel &&
> 	echo devel > content &&
> 	git commit -a -m devel &&
> 	git push --quiet origin devel
> 	) &&
> 
> 	check_bookmark hgrepo devel devel
> 
> ok 4 - cloning with bookmarks
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 
> 	(
> 	cd hgrepo &&
> 	hg bookmark devel
> 	) &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	git checkout --quiet devel &&
> 	echo devel > content &&
> 	git commit -a -m devel &&
> 	git push --quiet origin devel
> 	) &&
> 
> 	check_bookmark hgrepo devel devel
> 
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 5 changesets with 3 changes to 3 files
> Cloning into 'gitrepo'...
> Cloning into 'gitrepo'...
> Cloning into 'gitrepo'...
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark devel
> adding remote bookmark feature-a
> added 3 changesets with 3 changes to 1 files (+1 heads)
> new changesets be49376660c1:404186cf740f
> progress revision walk 'bookmarks/master' (2/2)
> progress revision 0 'master' (0/2)
> progress revision 1 'next' (0/1)
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark devel
> adding remote bookmark feature-a
> added 3 changesets with 3 changes to 1 files (+1 heads)
> new changesets be49376660c1:404186cf740f
> progress revision walk 'bookmarks/master' (2/2)
> progress revision 0 'master' (0/2)
> progress revision 1 'next' (0/1)
> [devel b95c73e] devel
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets a8327c164752
> [devel b95c73e] devel
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> adding changesets
> adding manifests
> adding file changes
> added 5 changesets with 3 changes to 3 files
> new changesets 362b656574c3:54f595cbdf1f
> progress revision walk 'bookmarks/master' (4/4)
> progress revision 0 'master' (0/5)
> no changes found
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> ok 3 - subcommand repo - with local proxy
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	setup_repos &&
> 
> 	(
> 	cd gitrepo &&
> 	git rev-parse HEAD > rev-HEAD &&
> 	test -s rev-HEAD &&
> 	git-hg-helper hg-rev `cat rev-HEAD` > hg-HEAD &&
> 	git-hg-helper git-rev `cat hg-HEAD` > git-HEAD &&
> 	test_cmp rev-HEAD git-HEAD
> 	)
> 
> ok 5 - update bookmark
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	git checkout --quiet -b feature-b &&
> 	echo feature-b > content &&
> 	git commit -a -m feature-b &&
> 	git push --quiet origin feature-b
> 	) &&
> 
> 	check_bookmark hgrepo feature-b feature-b
> 
> Cloning into 'gitrepo'...
> ok 5 - update bookmark
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	git checkout --quiet -b feature-b &&
> 	echo feature-b > content &&
> 	git commit -a -m feature-b &&
> 	git push --quiet origin feature-b
> 	) &&
> 
> 	check_bookmark hgrepo feature-b feature-b
> 
> Cloning into 'gitrepo'...
> searching for changes
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 5 changesets with 3 changes to 3 files
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark devel
> adding remote bookmark feature-a
> added 4 changesets with 4 changes to 1 files (+1 heads)
> new changesets be49376660c1:28f86266e3c2
> progress revision walk 'bookmarks/master' (3/3)
> progress revision 0 'master' (0/3)
> adding changesets
> Cloning into 'gitrepo'...
> progress revision 1 'next' (0/1)
> adding manifests
> adding file changes
> adding remote bookmark devel
> adding remote bookmark feature-a
> added 4 changesets with 4 changes to 1 files (+1 heads)
> new changesets be49376660c1:28f86266e3c2
> progress revision walk 'bookmarks/master' (3/3)
> progress revision 0 'master' (0/3)
> progress revision 1 'next' (0/1)
> [feature-b e60d301] feature-b
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> [feature-b e60d301] feature-b
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 0be3f4736e4d
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> ok 2 - file removal
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	(
> 	git init -q gitrepo &&
> 	cd gitrepo &&
> 	git config receive.denyCurrentBranch ignore &&
> 	echo alpha > alpha &&
> 	git add alpha &&
> 	git commit -m "add alpha" &&
> 	git tag alpha &&
> 
> 	echo beta > beta &&
> 	git add beta &&
> 	git commit -m "add beta" &&
> 	git tag -a -m "added tag beta" beta
> 	) &&
> 
> 	hg_clone gitrepo hgrepo &&
> 	git_clone hgrepo gitrepo2 &&
> 	hg_clone gitrepo2 hgrepo2 &&
> 
> 	hg_log hgrepo > expected &&
> 	hg_log hgrepo2 > actual &&
> 
> 	test_cmp expected actual
> 
> [master (root-commit) 223a6f6] add alpha
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 alpha
> [master 862befc] add beta
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 beta
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> ok 6 - new bookmark
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 
> 	touch content &&
> 	hg add content &&
> 
> 	> ../expected &&
> 	author_test alpha "" "H G Wells <wells@example.com>" &&
> 	author_test beta "beta" "beta <unknown>" &&
> 	author_test gamma "gamma <test@example.com> (comment)" "gamma <test@example.com>" &&
> 	author_test delta "<delta@example.com>" "Unknown <delta@example.com>" &&
> 	author_test epsilon "epsilon<test@example.com>" "epsilon <test@example.com>" &&
> 	author_test zeta "zeta <test@example.com" "zeta <test@example.com>" &&
> 	author_test eta " eta " "eta <unknown>" &&
> 	author_test theta "theta < test@example.com >" "theta <test@example.com>" &&
> 	author_test iota "iota >test@example.com>" "iota <test@example.com>" &&
> 	author_test kappa "kappa < test <at> example <dot> com>" "kappa <unknown>" &&
> 	author_test lambda "lambda@example.com" "Unknown <lambda@example.com>" &&
> 	author_test mu "mu.mu@example.com" "Unknown <mu.mu@example.com>"
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 	git --git-dir=gitrepo/.git log --reverse --format="%an <%ae>" > actual &&
> 
> 	test_cmp expected actual
> 
> ok 6 - new bookmark
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 
> 	touch content &&
> 	hg add content &&
> 
> 	> ../expected &&
> 	author_test alpha "" "H G Wells <wells@example.com>" &&
> 	author_test beta "beta" "beta <unknown>" &&
> 	author_test gamma "gamma <test@example.com> (comment)" "gamma <test@example.com>" &&
> 	author_test delta "<delta@example.com>" "Unknown <delta@example.com>" &&
> 	author_test epsilon "epsilon<test@example.com>" "epsilon <test@example.com>" &&
> 	author_test zeta "zeta <test@example.com" "zeta <test@example.com>" &&
> 	author_test eta " eta " "eta <unknown>" &&
> 	author_test theta "theta < test@example.com >" "theta <test@example.com>" &&
> 	author_test iota "iota >test@example.com>" "iota <test@example.com>" &&
> 	author_test kappa "kappa < test <at> example <dot> com>" "kappa <unknown>" &&
> 	author_test lambda "lambda@example.com" "Unknown <lambda@example.com>" &&
> 	author_test mu "mu.mu@example.com" "Unknown <mu.mu@example.com>"
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 	git --git-dir=gitrepo/.git log --reverse --format="%an <%ae>" > actual &&
> 
> 	test_cmp expected actual
> 
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 2 files
> searching for changes
> searching for changes
> ok 4 - subcommands hg-rev and git-rev
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo zero > content &&
> 	hg add content &&
> 	hg commit -m zero
> 	echo one > content &&
> 	hg commit -m one &&
> 	echo two > content &&
> 	hg commit -m two &&
> 	echo three > content &&
> 	hg commit -m three
> 	) &&
> 
> 	git clone hg::hgrepo gitrepo &&
> 
> 	(
> 	cd hgrepo &&
> 	hg strip -r 1 &&
> 	echo four > content &&
> 	hg commit -m four
> 	) &&
> 
> 	(
> 	cd gitrepo &&
> 	git fetch origin &&
> 	git reset --hard origin/master &&
> 	git gc &&
> 	git-hg-helper gc --check-hg origin > output &&
> 	cat output &&
> 	grep "hg marks" output &&
> 	grep "git marks" output
> 	)
> 
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 2 files
> new changesets 362b656574c3:7cd99375c843
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> searching for changes
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 2 files
> Cloning into 'gitrepo'...
> adding changesets
> adding manifests
> adding file changes
> added 4 changesets with 4 changes to 1 files
> new changesets ac1186815285:27519244991c
> progress revision walk 'bookmarks/master' (3/3)
> progress revision 0 'master' (0/4)
> ok 3 - git tags
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	(
> 	git init -q gitrepo &&
> 	cd gitrepo &&
> 
> 	echo alpha > alpha &&
> 	git add alpha &&
> 	git commit -q -m "add alpha" &&
> 	git checkout -q -b not-master
> 	) &&
> 
> 	(
> 	hg_clone gitrepo hgrepo &&
> 
> 	cd hgrepo &&
> 	hg -q co default &&
> 	hg mv alpha beta &&
> 	hg -q commit -m "rename alpha to beta" &&
> 	hg branch gamma | grep -v "permanent and global" &&
> 	hg -q commit -m "started branch gamma"
> 	) &&
> 
> 	hg_push hgrepo gitrepo &&
> 	hg_clone gitrepo hgrepo2 &&
> 
> 	: Back to the common revision &&
> 	(cd hgrepo && hg checkout default) &&
> 
> 	# fetch does not affect phase, but pushing now does
> 	hg_log hgrepo | grep -v phase > expected &&
> 	hg_log hgrepo2 | grep -v phase > actual &&
> 
> 	test_cmp expected actual
> 
> 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> saved backup bundle to /<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo/.hg/strip-backup/5f2b5b70133c-4813bb61-backup.hg
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> searching for changes
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files (+1 heads)
> new changesets efea0249eab6
> progress revision 4 'default' (0/1)
> From hg::/<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo
>  + 82ed7bb...c0eda5f master           -> origin/master  (forced update)
>  + 82ed7bb...c0eda5f branches/default -> origin/branches/default  (forced update)
> Cloning into 'gitrepo'...
> Cloning into 'gitrepo'...
> HEAD is now at c0eda5f four
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> added 12 changesets with 12 changes to 1 files
> new changesets d289bf87469b:2582b4ec0eaa
> adding changesets
> adding manifests
> adding file changes
> progress revision walk 'bookmarks/master' (11/11)
> progress revision 0 'master' (0/12)
> added 12 changesets with 12 changes to 1 files
> new changesets d289bf87469b:2582b4ec0eaa
> progress revision walk 'bookmarks/master' (11/11)
> progress revision 0 'master' (0/12)
> ok 7 - authors
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 
> 	echo one >> content &&
> 	hg add content &&
> 	hg commit -m one &&
> 
> 	echo two >> content &&
> 	hg commit -m two
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 
> 	(
> 	cd hgrepo &&
> 	hg strip 1 &&
> 
> 	echo three >> content &&
> 	hg commit -m three &&
> 
> 	echo four >> content &&
> 	hg commit -m four
> 	) &&
> 
> 	(
> 	cd gitrepo &&
> 	git fetch &&
> 	git log --format="%s" origin/master > ../actual
> 	) &&
> 
> 	hg -R hgrepo log --template "{desc}\n" > expected &&
> 	test_cmp actual expected
> 
> Loading hg marks ...
> Loading git marks ...
> Performing garbage collection on git commits ...
> Computing marks intersection ...
> Including notes commits ...
> Trimmed hg marks from #5 down to #0
> Trimmed git marks from #12 down to #2
> Writing hg marks ...
> Writing git marks ...
> Loading hg marks ...
> Trimmed hg marks from #5 down to #0
> Writing hg marks ...
> Loading git marks ...
> Trimmed git marks from #12 down to #2
> Writing git marks ...
> ok 5 - subcommand gc
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	setup_repos &&
> 
> 	(
> 	cd hgrepo &&
> 	echo one > content &&
> 	hg commit -m one
> 	) &&
> 
> 	(
> 	cd gitrepo &&
> 	git fetch origin
> 	) &&
> 
> 	hg log -R hgrepo > expected &&
> 	# not inside gitrepo; test shared path handling
> 	GIT_DIR=gitrepo/.git git-hg-helper origin log > actual
> 
> 	test_cmp expected actual
> 
> ok 7 - authors
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 
> 	echo one >> content &&
> 	hg add content &&
> 	hg commit -m one &&
> 
> 	echo two >> content &&
> 	hg commit -m two
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 
> 	(
> 	cd hgrepo &&
> 	hg strip 1 &&
> 
> 	echo three >> content &&
> 	hg commit -m three &&
> 
> 	echo four >> content &&
> 	hg commit -m four
> 	) &&
> 
> 	(
> 	cd gitrepo &&
> 	git fetch &&
> 	git log --format="%s" origin/master > ../actual
> 	) &&
> 
> 	hg -R hgrepo log --template "{desc}\n" > expected &&
> 	test_cmp actual expected
> 
> marked working directory as branch gamma
> Cloning into 'gitrepo'...
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> Cloning into 'gitrepo'...
> adding remote bookmark not-master
> added 2 changesets with 1 changes to 1 files
> new changesets 5889597089fe:3320583a8de0
> 1 local changesets published
> progress revision 1 'default' (0/1)
> progress revision 2 'gamma' (0/1)
> Cloning into 'gitrepo'...
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 3c5c9930e900
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 1 files
> new changesets 83083f9d9b9a:77454074351d
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 1 files
> new changesets 83083f9d9b9a:77454074351d
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> searching for changes
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 2 files
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 0 changes to 0 files
> searching for changes
> searching for changes
> 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> saved backup bundle to /<<PKGBUILDDIR>>/test/trash directory.main/hgrepo/.hg/strip-backup/77454074351d-d2529424-backup.hg
> 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> saved backup bundle to /<<PKGBUILDDIR>>/test/trash directory.main-push/hgrepo/.hg/strip-backup/77454074351d-d2529424-backup.hg
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets a10ff757fb47
> progress revision 1 'default' (0/1)
> From hg::/<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo
>    8d673bd..a6f39be  master           -> origin/master
>    8d673bd..a6f39be  branches/default -> origin/branches/default
> 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 1 files (+1 heads)
> new changesets 31644536337b:f4972d6c8703
> progress revision 2 'default' (0/2)
> From hg::/<<PKGBUILDDIR>>/test/trash directory.main/hgrepo
>  + ef51947...a898b4d master           -> origin/master  (forced update)
>  + ef51947...a898b4d branches/default -> origin/branches/default  (forced update)
> searching for changes
> ok 4 - hg branch
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	(
> 	git init -q gitrepo &&
> 	cd gitrepo &&
> 
> 	echo alpha > alpha &&
> 	git add alpha &&
> 	git commit -m "add alpha" &&
> 	git checkout -q -b not-master
> 	) &&
> 
> 	(
> 	hg_clone gitrepo hgrepo &&
> 
> 	cd hgrepo &&
> 	hg co default &&
> 	hg tag alpha
> 	) &&
> 
> 	hg_push hgrepo gitrepo &&
> 	# pushing a fetched tag is a problem ...
> 	{ hg_clone gitrepo hgrepo2 || true ; } &&
> 
> 	# fetch does not affect phase, but pushing now does
> 	hg_log hgrepo | grep -v phase > expected &&
> 	hg_log hgrepo2 | grep -v phase > actual &&
> 
> 	test_cmp expected actual
> 
> adding changesets
> adding manifests
> adding file changes
> [master (root-commit) 223a6f6] add alpha
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 alpha
> added 2 changesets with 2 changes to 1 files (+1 heads)
> new changesets 31644536337b:f4972d6c8703
> progress revision 2 'default' (0/2)
> From hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/hgrepo
>  + ef51947...a898b4d master           -> origin/master  (forced update)
>  + ef51947...a898b4d branches/default -> origin/branches/default  (forced update)
> ok 6 - subcommand [some-repo]
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	setup_repo hg hgrepo &&
> 	(
> 	cd hgrepo &&
> 	setup_repo hg sub_hg_a &&
> 	setup_repo hg sub_hg_b &&
> 	setup_repo git sub_git &&
> 	echo "sub_hg_a = sub_hg_a" > .hgsub &&
> 	echo "sub_hg_b = sub_hg_b" >> .hgsub &&
> 	echo "sub_git = [git]sub_git" >> .hgsub &&
> 	hg add .hgsub &&
> 	hg commit -m substate
> 	)
> 
> 	git clone hg::hgrepo gitrepo &&
> 
> 	(
> 	cd gitrepo &&
> 	git-hg-helper sub update --force &&
> 	test -f content_hgrepo &&
> 	test -f sub_hg_a/content_sub_hg_a &&
> 	test -f sub_hg_b/content_sub_hg_b &&
> 	test -f sub_git/content_sub_git
> 	) &&
> 
> 	check gitrepo HEAD substate &&
> 	check gitrepo/sub_hg_a HEAD zero_sub_hg_a &&
> 	check gitrepo/sub_hg_b HEAD zero_sub_hg_b &&
> 	check gitrepo/sub_git HEAD zero_sub_git
> 
> ok 8 - strip
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo*" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo zero > content &&
> 	hg add content &&
> 	hg commit -m zero &&
> 	hg bookmark master &&
> 	echo one > content &&
> 	hg commit -m one
> 	) &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	echo two > content &&
> 	git commit -a -m two &&
> 	git push
> 	) &&
> 
> 	check_branch hgrepo default two
> 
> ok 8 - strip
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo*" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo zero > content &&
> 	hg add content &&
> 	hg commit -m zero &&
> 	hg bookmark master &&
> 	echo one > content &&
> 	hg commit -m one
> 	) &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	echo two > content &&
> 	git commit -a -m two &&
> 	git push
> 	) &&
> 
> 	check_branch hgrepo default two
> 
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> searching for changes
> 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
> Cloning into 'gitrepo'...
> Cloning into 'gitrepo'...
> searching for changes
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark not-master
> added 1 changesets with 1 changes to 1 files
> new changesets 16869bbe54be
> 1 local changesets published
> progress revision 1 'default' (0/1)
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark master
> added 2 changesets with 2 changes to 1 files
> new changesets 969600ceb320:6315412611c5
> progress revision walk 'bookmarks/default' (1/1)
> progress revision 0 'default' (0/2)
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark master
> added 2 changesets with 2 changes to 1 files
> new changesets 969600ceb320:6315412611c5
> progress revision walk 'bookmarks/default' (1/1)
> progress revision 0 'default' (0/2)
> [default 74c47d2] two
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> [default 74c47d2] two
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> hint: Using 'master' as the name for the initial branch. This default branch name
> hint: is subject to change. To configure the initial branch name to use in all
> hint: of your new repositories, which will suppress this warning, call:
> hint: 
> hint: 	git config --global init.defaultBranch <name>
> hint: 
> hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
> hint: 'development'. The just-created branch can be renamed via this command:
> hint: 
> hint: 	git branch -m <name>
> Initialized empty Git repository in /<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo/sub_git/.git/
> [master (root-commit) e9a16bb] zero_sub_git
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 content_sub_git
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main/hgrepo
>    9a5e91a..74c47d2  default -> default
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> searching for changes
> no changes found
> added 1 changesets with 1 changes to 1 files
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/hgrepo
>    fffffff..74c47d2  default -> default
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 2 files
> searching for changes
> searching for changes
> To hg::../hgrepo2
>  * [new branch]      branches/default -> branches/default
>  * [new branch]      master -> master
>  * [new branch]      not-master -> not-master
>  ! [rejected]        alpha -> alpha (already exists)
> error: failed to push some refs to 'hg::../hgrepo2'
> hint: Updates were rejected because the tag already exists in the remote.
> ok 9 - remote push with master bookmark
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo*" &&
> 
> 	hg init hgrepo &&
> 
> 	(
> 	git init gitrepo &&
> 	cd gitrepo &&
> 	git remote add origin "hg::../hgrepo" &&
> 	echo one > content &&
> 	git add content &&
> 	git commit -a -m one &&
> 	git push origin master
> 	) &&
> 
> 	hg -R hgrepo log > actual &&
> 	cat actual &&
> 	test_cmp expected actual &&
> 
> 	check_branch hgrepo default one
> 
> Cloning into 'gitrepo'...
> ok 9 - remote push with master bookmark
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo*" &&
> 
> 	hg init hgrepo &&
> 
> 	(
> 	git init gitrepo &&
> 	cd gitrepo &&
> 	git remote add origin "hg::../hgrepo" &&
> 	echo one > content &&
> 	git add content &&
> 	git commit -a -m one &&
> 	git push origin master
> 	) &&
> 
> 	hg -R hgrepo log > actual &&
> 	cat actual &&
> 	test_cmp expected actual &&
> 
> 	check_branch hgrepo default one
> 
> hint: Using 'master' as the name for the initial branch. This default branch name
> hint: is subject to change. To configure the initial branch name to use in all
> hint: of your new repositories, which will suppress this warning, call:
> hint: 
> hint: 	git config --global init.defaultBranch <name>
> hint: 
> hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
> hint: 'development'. The just-created branch can be renamed via this command:
> hint: 
> hint: 	git branch -m <name>
> Initialized empty Git repository in /<<PKGBUILDDIR>>/test/trash directory.main/gitrepo/.git/
> [master (root-commit) 64caca5] one
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 content
> hint: Using 'master' as the name for the initial branch. This default branch name
> hint: is subject to change. To configure the initial branch name to use in all
> hint: of your new repositories, which will suppress this warning, call:
> hint: 
> hint: 	git config --global init.defaultBranch <name>
> hint: 
> hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
> hint: 'development'. The just-created branch can be renamed via this command:
> hint: 
> hint: 	git branch -m <name>
> Initialized empty Git repository in /<<PKGBUILDDIR>>/test/trash directory.main-push/gitrepo/.git/
> [master (root-commit) 64caca5] one
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 content
> ok 5 - hg tags
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	(
> 	git init -q gitrepo &&
> 	cd gitrepo &&
> 
> 	echo alpha > alpha &&
> 	git add alpha &&
> 	git commit -m "add alpha" --date="2007-01-01 00:00:00 +0000" &&
> 
> 	echo beta > beta &&
> 	git add beta &&
> 	git commit -m "add beta" --date="2007-01-01 00:00:00 +0100" &&
> 
> 	echo gamma > gamma &&
> 	git add gamma &&
> 	git commit -m "add gamma" --date="2007-01-01 00:00:00 -0100" &&
> 
> 	echo delta > delta &&
> 	git add delta &&
> 	git commit -m "add delta" --date="2007-01-01 00:00:00 +0130" &&
> 
> 	echo epsilon > epsilon &&
> 	git add epsilon &&
> 	git commit -m "add epsilon" --date="2007-01-01 00:00:00 -0130"
> 	) &&
> 
> 	hg_clone gitrepo hgrepo &&
> 	git_clone hgrepo gitrepo2 &&
> 	hg_clone gitrepo2 hgrepo2 &&
> 
> 	hg_log hgrepo > expected &&
> 	hg_log hgrepo2 > actual &&
> 
> 	test_cmp expected actual
> 
> [master (root-commit) a663549] add alpha
>  Author: A U Thor <author@example.com>
>  Date: Mon Jan 1 00:00:00 2007 +0000
>  1 file changed, 1 insertion(+)
>  create mode 100644 alpha
> adding changesets
> adding manifests
> adding file changes
> [master ea3e397] add beta
>  Author: A U Thor <author@example.com>
>  Date: Mon Jan 1 00:00:00 2007 +0100
>  1 file changed, 1 insertion(+)
>  create mode 100644 beta
> [master d7a1343] add gamma
>  Author: A U Thor <author@example.com>
>  Date: Mon Jan 1 00:00:00 2007 -0100
>  1 file changed, 1 insertion(+)
>  create mode 100644 gamma
> added 2 changesets with 3 changes to 3 files
> new changesets b8a9468a5330:0f2d60358e3e
> [master 79cd3e4] add delta
>  Author: A U Thor <author@example.com>
>  Date: Mon Jan 1 00:00:00 2007 +0130
>  1 file changed, 1 insertion(+)
>  create mode 100644 delta
> [master f12dbdf] add epsilon
>  Author: A U Thor <author@example.com>
>  Date: Mon Jan 1 00:00:00 2007 -0130
>  1 file changed, 1 insertion(+)
>  create mode 100644 epsilon
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> To hg::../hgrepo
>  * [new branch]      master -> master
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> To hg::../hgrepo
>  * [new branch]      master -> master
> Cloning into './sub_hg_a'...
> changeset:   0:6e2126489d3d
> tag:         tip
> user:        A U Thor <author@example.com>
> date:        Mon Jan 01 00:00:00 2007 +0230
> summary:     one
> 
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 5 changesets with 5 changes to 5 files
> changeset:   0:6e2126489d3d
> tag:         tip
> user:        A U Thor <author@example.com>
> date:        Mon Jan 01 00:00:00 2007 +0230
> summary:     one
> 
> ok 10 - remote push from master branch
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo zero > content &&
> 	hg add content &&
> 	hg commit -m zero
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 	check gitrepo HEAD zero
> 
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets d01662b86384
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> ok 10 - remote push from master branch
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo zero > content &&
> 	hg add content &&
> 	hg commit -m zero
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 	check gitrepo HEAD zero
> 
> Cloning into './sub_hg_b'...
> adding changesets
> adding manifests
> adding file changes
> adding changesets
> adding manifests
> added 1 changesets with 1 changes to 1 files
> adding file changes
> new changesets 9f5d8a12935d
> added 5 changesets with 5 changes to 5 files
> new changesets 87c8f82b00d0:21e96c99dac4
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> progress revision walk 'bookmarks/master' (4/4)
> progress revision 0 'master' (0/5)
> Cloning into 'gitrepo'...
> Cloning into 'gitrepo'...
> Cloning into './sub_git'...
> done.
> ok 7 - subcommand sub initial update (hg and git subrepos)
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	setup_subrepos &&
> 
> 	git clone hg::hgrepo gitrepo &&
> 
> 	(
> 	cd gitrepo &&
> 	git-hg-helper sub --recursive update --force &&
> 	test -f content_hgrepo &&
> 	test -f sub_hg_a/content_sub_hg_a &&
> 	test -f sub_hg_a/sub_hg_a_x/content_sub_hg_a_x &&
> 	test -f sub_hg_b/content_sub_hg_b &&
> 	test -f sub_hg_b/sub_git/content_sub_git
> 	) &&
> 
> 	check gitrepo HEAD substate &&
> 	check gitrepo/sub_hg_a HEAD substate_hg_a &&
> 	check gitrepo/sub_hg_b HEAD substate_hg_b &&
> 	check gitrepo/sub_hg_a/sub_hg_a_x HEAD zero_sub_hg_a_x &&
> 	check gitrepo/sub_hg_b/sub_git HEAD zero_sub_git
> 
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets da94774b616a
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets da94774b616a
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> ok 11 - remote cloning
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	mv gitrepo gitrepo2 &&
> 	cd gitrepo2 &&
> 	git fetch
> 	)
> 
> Cloning into 'gitrepo'...
> ok 11 - remote cloning
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	mv gitrepo gitrepo2 &&
> 	cd gitrepo2 &&
> 	git fetch
> 	)
> 
> Cloning into 'gitrepo'...
> searching for changes
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 5 changesets with 5 changes to 5 files
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets da94774b616a
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets da94774b616a
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> ok 6 - test timezones
> 
> # passed all 6 test(s)
> 1..6
> ok 12 - moving remote clone
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 
> 	(
> 	cd hgrepo &&
> 	hg bookmark devel
> 	) &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	git checkout --quiet devel &&
> 	echo devel > content &&
> 	git commit -a -m devel &&
> 	git push --quiet
> 	) &&
> 
> 	check_bookmark hgrepo devel devel
> 
> no changes found
> ok 12 - moving remote clone
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 
> 	(
> 	cd hgrepo &&
> 	hg bookmark devel
> 	) &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	git checkout --quiet devel &&
> 	echo devel > content &&
> 	git commit -a -m devel &&
> 	git push --quiet
> 	) &&
> 
> 	check_bookmark hgrepo devel devel
> 
> Cloning into 'gitrepo'...
> Cloning into 'gitrepo'...
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark devel
> added 1 changesets with 1 changes to 1 files
> new changesets da94774b616a
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark devel
> added 1 changesets with 1 changes to 1 files
> new changesets da94774b616a
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> [devel 2dbf0b6] devel
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> [devel 2dbf0b6] devel
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> ok 13 - remote update bookmark
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	git checkout --quiet -b feature-b &&
> 	echo feature-b > content &&
> 	git commit -a -m feature-b &&
> 	git push --quiet origin feature-b
> 	) &&
> 
> 	check_bookmark hgrepo feature-b feature-b
> 
> Cloning into 'gitrepo'...
> ok 13 - remote update bookmark
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	git checkout --quiet -b feature-b &&
> 	echo feature-b > content &&
> 	git commit -a -m feature-b &&
> 	git push --quiet origin feature-b
> 	) &&
> 
> 	check_bookmark hgrepo feature-b feature-b
> 
> Cloning into 'gitrepo'...
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> hint: Using 'master' as the name for the initial branch. This default branch name
> hint: is subject to change. To configure the initial branch name to use in all
> hint: of your new repositories, which will suppress this warning, call:
> hint: 
> hint: 	git config --global init.defaultBranch <name>
> hint: 
> hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
> hint: 'development'. The just-created branch can be renamed via this command:
> hint: 
> hint: 	git branch -m <name>
> Initialized empty Git repository in /<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo/sub_hg_b/sub_git/.git/
> adding changesets
> adding manifests
> adding file changes
> [master (root-commit) e9a16bb] zero_sub_git
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 content_sub_git
> adding remote bookmark devel
> added 2 changesets with 2 changes to 1 files
> new changesets da94774b616a:0923871a226b
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> adding changesets
> adding manifests
> adding file changes
> [feature-b 3419828] feature-b
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> adding remote bookmark devel
> added 2 changesets with 2 changes to 1 files
> new changesets da94774b616a:0923871a226b
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> [feature-b 3419828] feature-b
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> ok 14 - remote new bookmark
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 
> 	(
> 	cd hgrepo &&
> 	hg checkout default &&
> 	echo bump > content &&
> 	hg commit -m bump
> 	) &&
> 
> 	(
> 	cd gitrepo &&
> 	echo diverge > content &&
> 	git commit -a -m diverged &&
> 	check_push 1 <<-\EOF
> 	master:non-fast-forward
> 	EOF
> 	) &&
> 
> 	check_branch hgrepo default bump
> 
> Cloning into 'gitrepo'...
> Cloning into 'gitrepo'...
> ok 14 - remote new bookmark
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 
> 	(
> 	cd hgrepo &&
> 	hg checkout default &&
> 	echo bump > content &&
> 	hg commit -m bump
> 	) &&
> 
> 	(
> 	cd gitrepo &&
> 	echo diverge > content &&
> 	git commit -a -m diverged &&
> 	check_push 1 <<-\EOF
> 	master:non-fast-forward
> 	EOF
> 	) &&
> 
> 	check_branch hgrepo default bump
> 
> Cloning into 'gitrepo'...
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark devel
> adding remote bookmark feature-b
> added 3 changesets with 3 changes to 1 files
> new changesets da94774b616a:f62777554987
> progress revision walk 'bookmarks/master' (2/2)
> progress revision 0 'master' (0/3)
> adding changesets
> adding manifests
> adding file changes
> adding changesets
> added 2 changesets with 3 changes to 3 files
> new changesets db8ac9770736:7e4cd3c231b2
> adding manifests
> adding file changes
> adding remote bookmark devel
> adding remote bookmark feature-b
> added 3 changesets with 3 changes to 1 files
> new changesets da94774b616a:f62777554987
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> progress revision walk 'bookmarks/master' (2/2)
> progress revision 0 'master' (0/3)
> 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> (leaving bookmark devel)
> 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> (leaving bookmark devel)
> [master d425d05] diverged
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> Cloning into './sub_hg_a'...
> [master d425d05] diverged
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 3 changes to 3 files
> new changesets e84496f3969d:305c5733a664
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets f09031867f0c
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main/hgrepo
>  ! [rejected]        master -> master (non-fast-forward)
> error: failed to push some refs to 'hg::/<<PKGBUILDDIR>>/test/trash directory.main/hgrepo'
> hint: Updates were rejected because the tip of your current branch is behind
> hint: its remote counterpart. Integrate the remote changes (e.g.
> hint: 'git pull ...') before pushing again.
> hint: See the 'Note about fast-forwards' in 'git push --help' for details.
>  ! [rejected]        master -> master (non-fast-forward)
> Cloning into './sub_hg_a/sub_hg_a_x'...
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 307b0caa2d60
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/hgrepo
>  ! [rejected]        master -> master (non-fast-forward)
> error: failed to push some refs to 'hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/hgrepo'
> hint: Updates were rejected because the tip of your current branch is behind
> hint: its remote counterpart. Integrate the remote changes (e.g.
> hint: 'git pull ...') before pushing again.
> hint: See the 'Note about fast-forwards' in 'git push --help' for details.
>  ! [rejected]        master -> master (non-fast-forward)
> ok 15 - remote push diverged
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 
> 	(
> 	cd hgrepo &&
> 	hg checkout tip^ &&
> 	hg bookmark diverge
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 
> 	(
> 	cd hgrepo &&
> 	echo "bump bookmark" > content &&
> 	hg commit -m "bump bookmark"
> 	) &&
> 
> 	(
> 	cd gitrepo &&
> 	git checkout --quiet diverge &&
> 	echo diverge > content &&
> 	git commit -a -m diverge &&
> 	check_push 1 <<-\EOF
> 	diverge:non-fast-forward
> 	EOF
> 	) &&
> 
> 	check_bookmark hgrepo diverge "bump bookmark"
> 
> ok 15 - remote push diverged
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 
> 	(
> 	cd hgrepo &&
> 	hg checkout tip^ &&
> 	hg bookmark diverge
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 
> 	(
> 	cd hgrepo &&
> 	echo "bump bookmark" > content &&
> 	hg commit -m "bump bookmark"
> 	) &&
> 
> 	(
> 	cd gitrepo &&
> 	git checkout --quiet diverge &&
> 	echo diverge > content &&
> 	git commit -a -m diverge &&
> 	check_push 1 <<-\EOF
> 	diverge:non-fast-forward
> 	EOF
> 	) &&
> 
> 	check_bookmark hgrepo diverge "bump bookmark"
> 
> 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 7b3e568bd436
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> Cloning into 'gitrepo'...
> Cloning into './sub_hg_b'...
> Cloning into 'gitrepo'...
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark devel
> adding remote bookmark diverge
> adding remote bookmark feature-b
> added 4 changesets with 4 changes to 1 files
> new changesets da94774b616a:f09031867f0c
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 3 changes to 3 files
> new changesets fe35db845c91:eba774f556bc
> progress revision walk 'bookmarks/master' (3/3)
> progress revision 0 'master' (0/4)
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark devel
> adding remote bookmark diverge
> adding remote bookmark feature-b
> added 4 changesets with 4 changes to 1 files
> new changesets da94774b616a:307b0caa2d60
> progress revision walk 'bookmarks/master' (3/3)
> progress revision 0 'master' (0/4)
> Cloning into './sub_hg_b/sub_git'...
> done.
> created new head
> ok 8 - subcommand sub initial recursive update
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	test_sub_update
> 
> [diverge 06e0ab3] diverge
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> created new head
> [diverge 06e0ab3] diverge
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> updating bookmark diverge
> added 1 changesets with 1 changes to 1 files (+1 heads)
> new changesets f04cbc1732dd
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main/hgrepo
>  ! [rejected]        diverge -> diverge (non-fast-forward)
> error: failed to push some refs to 'hg::/<<PKGBUILDDIR>>/test/trash directory.main/hgrepo'
> hint: Updates were rejected because the tip of your current branch is behind
> hint: its remote counterpart. Integrate the remote changes (e.g.
> hint: 'git pull ...') before pushing again.
> hint: See the 'Note about fast-forwards' in 'git push --help' for details.
>  ! [rejected]        diverge -> diverge (non-fast-forward)
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> updating bookmark diverge
> added 1 changesets with 1 changes to 1 files (+1 heads)
> new changesets f04cbc1732dd
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/hgrepo
>  ! [rejected]        diverge -> diverge (non-fast-forward)
> error: failed to push some refs to 'hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/hgrepo'
> hint: Updates were rejected because the tip of your current branch is behind
> hint: its remote counterpart. Integrate the remote changes (e.g.
> hint: 'git pull ...') before pushing again.
> hint: See the 'Note about fast-forwards' in 'git push --help' for details.
>  ! [rejected]        diverge -> diverge (non-fast-forward)
> ok 16 - remote update bookmark diverge
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	git checkout --quiet -b feature-c HEAD^ &&
> 	echo feature-c > content &&
> 	git commit -a -m feature-c &&
> 	git push --quiet origin feature-c
> 	) &&
> 
> 	check_bookmark hgrepo feature-c feature-c
> 
> Cloning into 'gitrepo'...
> ok 16 - remote update bookmark diverge
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo*" &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	git checkout --quiet -b feature-c HEAD^ &&
> 	echo feature-c > content &&
> 	git commit -a -m feature-c &&
> 	git push --quiet origin feature-c
> 	) &&
> 
> 	check_bookmark hgrepo feature-c feature-c
> 
> Cloning into 'gitrepo'...
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark devel
> adding remote bookmark diverge
> adding remote bookmark feature-b
> added 5 changesets with 5 changes to 1 files (+1 heads)
> new changesets da94774b616a:f04cbc1732dd
> WARNING: Branch 'default' has more than one head, consider merging
> progress revision walk 'bookmarks/master' (4/4)
> progress revision 0 'master' (0/4)
> [feature-c f2c87ff] feature-c
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark devel
> adding remote bookmark diverge
> adding remote bookmark feature-b
> added 5 changesets with 5 changes to 1 files (+1 heads)
> new changesets da94774b616a:f04cbc1732dd
> WARNING: Branch 'default' has more than one head, consider merging
> progress revision walk 'bookmarks/master' (4/4)
> progress revision 0 'master' (0/4)
> [feature-c f2c87ff] feature-c
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files (+1 heads)
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files (+1 heads)
> ok 17 - remote new bookmark multiple branch head
> 
> checking known breakage: 
> 	test_when_finished "rm -rf gitrepo hgrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo zero > content &&
> 	hg add content &&
> 	hg commit -m zero
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 
> 	(
> 	cd gitrepo &&
> 	cp content content-copy &&
> 	# recent git-fast-export is (too) picky in recognizing copies
> 	# although git-log is not as picky;
> 	# since https://github.com/git/git/commit/8096e1d385660c159d9d47e69b2be63cf22e4f31
> 	# a copy is only marked if source filed not modified as well
> 	# (though destination file can be modified)
> 	echo one >> content-copy &&
> 	git add content content-copy &&
> 	git commit -m copy &&
> 	git mv content-copy content-moved
> 	git commit -m moved &&
> 	git push origin master
> 	) &&
> 
> 	(
> 	hg -R hgrepo update &&
> 	test_cmp gitrepo/content hgrepo/content
> 	test_cmp gitrepo/content-moved hgrepo/content-moved
> 	cd hgrepo &&
> 	test `hg log -f content-moved | grep -c changeset` -eq 3
> 	)
> 
> ok 17 - remote new bookmark multiple branch head
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo hgrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo zero > content &&
> 	hg add content &&
> 	hg commit -m zero
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 
> 	(
> 	cd gitrepo &&
> 	cp content content-copy &&
> 	# recent git-fast-export is (too) picky in recognizing copies
> 	# although git-log is not as picky;
> 	# since https://github.com/git/git/commit/8096e1d385660c159d9d47e69b2be63cf22e4f31
> 	# a copy is only marked if source filed not modified as well
> 	# (though destination file can be modified)
> 	echo one >> content-copy &&
> 	git add content content-copy &&
> 	git commit -m copy &&
> 	git mv content-copy content-moved
> 	git commit -m moved &&
> 	git push origin master
> 	) &&
> 
> 	(
> 	hg -R hgrepo update &&
> 	test_cmp gitrepo/content hgrepo/content
> 	test_cmp gitrepo/content-moved hgrepo/content-moved
> 	cd hgrepo &&
> 	test `hg log -f content-moved | grep -c changeset` -eq 3
> 	)
> 
> Cloning into 'gitrepo'...
> Cloning into 'gitrepo'...
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 0714aa136453
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> hint: Using 'master' as the name for the initial branch. This default branch name
> hint: is subject to change. To configure the initial branch name to use in all
> hint: of your new repositories, which will suppress this warning, call:
> hint: 
> hint: 	git config --global init.defaultBranch <name>
> hint: 
> hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
> hint: 'development'. The just-created branch can be renamed via this command:
> hint: 
> hint: 	git branch -m <name>
> Initialized empty Git repository in /<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo/sub_hg_b/sub_git/.git/
> [master (root-commit) e9a16bb] zero_sub_git
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 content_sub_git
> [master 258f9c3] copy
>  Author: A U Thor <author@example.com>
>  1 file changed, 2 insertions(+)
>  create mode 100644 content-copy
> [master 1b7e948] moved
>  Author: A U Thor <author@example.com>
>  1 file changed, 0 insertions(+), 0 deletions(-)
>  rename content-copy => content-moved (100%)
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 0714aa136453
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> [master 258f9c3] copy
>  Author: A U Thor <author@example.com>
>  1 file changed, 2 insertions(+)
>  create mode 100644 content-copy
> [master 1b7e948] moved
>  Author: A U Thor <author@example.com>
>  1 file changed, 0 insertions(+), 0 deletions(-)
>  rename content-copy => content-moved (100%)
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 2 files
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main/hgrepo
>    8cb4b74..1b7e948  master -> master
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 2 files
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/hgrepo
>    fffffff..1b7e948  master -> master
> 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> Cloning into 'gitrepo'...
> 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> not ok 18 - push commits with copy and rename # TODO known breakage
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo && LC_ALL=C" &&
> 
> 	LC_ALL=C.UTF-8
> 	export LC_ALL
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 
> 	echo test >> "æ rø" &&
> 	hg add "æ rø" &&
> 	echo test >> "ø~?" &&
> 	hg add "ø~?" &&
> 	hg commit -m add-utf-8 &&
> 	echo test >> "æ rø" &&
> 	hg commit -m test-utf-8 &&
> 	hg rm "ø~?" &&
> 	hg mv "æ rø" "ø~?" &&
> 	hg commit -m hg-mv-utf-8
> 	) &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	git -c core.quotepath=false ls-files > ../actual
> 	) &&
> 	echo "ø~?" > expected &&
> 	test_cmp expected actual
> 
> ok 18 - push commits with copy and rename
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo && LC_ALL=C" &&
> 
> 	LC_ALL=C.UTF-8
> 	export LC_ALL
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 
> 	echo test >> "æ rø" &&
> 	hg add "æ rø" &&
> 	echo test >> "ø~?" &&
> 	hg add "ø~?" &&
> 	hg commit -m add-utf-8 &&
> 	echo test >> "æ rø" &&
> 	hg commit -m test-utf-8 &&
> 	hg rm "ø~?" &&
> 	hg mv "æ rø" "ø~?" &&
> 	hg commit -m hg-mv-utf-8
> 	) &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	git -c core.quotepath=false ls-files > ../actual
> 	) &&
> 	echo "ø~?" > expected &&
> 	test_cmp expected actual
> 
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 3 changes to 3 files
> new changesets 13a21447b044:9e5b72b2eaf6
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> warning: filename contains '?', which is reserved on Windows: 'ø~?'
> Cloning into './sub_hg_a'...
> warning: filename contains '?', which is reserved on Windows: 'ø~?'
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 3 changes to 3 files
> new changesets 0b3db097c163:8475d7dd6be6
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> Cloning into './sub_hg_a/sub_hg_a_x'...
> warning: filename contains '?', which is reserved on Windows: 'ø~?'
> Cloning into 'gitrepo'...
> warning: filename contains '?', which is reserved on Windows: 'ø~?'
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 64ec5da65d66
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> Cloning into './sub_hg_b'...
> Cloning into 'gitrepo'...
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> added 3 changesets with 4 changes to 2 files
> new changesets 4ac47476b868:26f2d03eea35
> progress revision walk 'bookmarks/master' (2/2)
> progress revision 0 'master' (0/3)
> ok 19 - fetch special filenames
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo && LC_ALL=C" &&
> 
> 	mkdir -p tmp && cd tmp &&
> 
> 	LC_ALL=C.UTF-8
> 	export LC_ALL
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 
> 	echo one >> content &&
> 	hg add content &&
> 	hg commit -m one
> 	) &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 
> 	echo test >> "æ rø" &&
> 	git add "æ rø" &&
> 	git commit -m utf-8 &&
> 
> 	git push
> 	) &&
> 
> 	(cd hgrepo &&
> 	hg update &&
> 	hg manifest > ../actual
> 	) &&
> 
> 	printf "content\næ rø\n" > expected &&
> 	test_cmp expected actual
> 
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 3 changes to 3 files
> new changesets 295f0556e770:5a3a1c5fb4ab
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> adding changesets
> adding manifests
> adding file changes
> added 3 changesets with 4 changes to 2 files
> new changesets 4ac47476b868:26f2d03eea35
> progress revision walk 'bookmarks/master' (2/2)
> progress revision 0 'master' (0/3)
> ok 19 - fetch special filenames
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo && LC_ALL=C" &&
> 
> 	mkdir -p tmp && cd tmp &&
> 
> 	LC_ALL=C.UTF-8
> 	export LC_ALL
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 
> 	echo one >> content &&
> 	hg add content &&
> 	hg commit -m one
> 	) &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 
> 	echo test >> "æ rø" &&
> 	git add "æ rø" &&
> 	git commit -m utf-8 &&
> 
> 	git push
> 	) &&
> 
> 	(cd hgrepo &&
> 	hg update &&
> 	hg manifest > ../actual
> 	) &&
> 
> 	printf "content\næ rø\n" > expected &&
> 	test_cmp expected actual
> 
> Cloning into './sub_hg_b/sub_git'...
> done.
> Cloning into 'gitrepo'...
> Cloning into 'gitrepo'...
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 41b63798c71a
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> [master 1835c24] utf-8
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 "\303\246 r\303\270"
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 41b63798c71a
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> [master 1835c24] utf-8
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 "\303\246 r\303\270"
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> searching for changes
> added 1 changesets with 1 changes to 1 files
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo
>    2f936ee..1835c24  master -> master
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets b6018167d588
> progress revision 2 'default' (0/1)
> From hg::/<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo
>    ee5d844..970df77  master           -> origin/master
>    ee5d844..970df77  branches/default -> origin/branches/default
> Updating ee5d844..970df77
> Fast-forward
>  .hgsubstate | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> no changes found
> 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>    fffffff..1835c24  master -> master
> ok 20 - push special filenames
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo*" &&
> 
> 	setup_big_push
> 
> 	(
> 	cd gitrepo &&
> 
> 	check_push 1 --all <<-\EOF
> 	master
> 	good_bmark
> 	branches/good_branch
> 	new_bmark:new
> 	branches/new_branch:new
> 	bad_bmark1:non-fast-forward
> 	bad_bmark2:non-fast-forward
> 	branches/bad_branch:non-fast-forward
> 	EOF
> 	) &&
> 
> 	if test "$CAPABILITY_PUSH" = "t"
> 	then
> 		# cap push handles refs one by one
> 		# so it will push all requested it can
> 		check_branch hgrepo default six &&
> 		check_branch hgrepo good_branch eight &&
> 		check_branch hgrepo bad_branch "bad branch" &&
> 		check_branch hgrepo new_branch ten &&
> 		check_bookmark hgrepo good_bmark three &&
> 		check_bookmark hgrepo bad_bmark1 one &&
> 		check_bookmark hgrepo bad_bmark2 one &&
> 		check_bookmark hgrepo new_bmark six
> 	else
> 		check_branch hgrepo default one &&
> 		check_branch hgrepo good_branch "good branch" &&
> 		check_branch hgrepo bad_branch "bad branch" &&
> 		check_branch hgrepo new_branch &&
> 		check_bookmark hgrepo good_bmark one &&
> 		check_bookmark hgrepo bad_bmark1 one &&
> 		check_bookmark hgrepo bad_bmark2 one &&
> 		check_bookmark hgrepo new_bmark
> 	fi
> 
> 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> ok 20 - push special filenames
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo*" &&
> 
> 	setup_big_push
> 
> 	(
> 	cd gitrepo &&
> 
> 	check_push 1 --all <<-\EOF
> 	master
> 	good_bmark
> 	branches/good_branch
> 	new_bmark:new
> 	branches/new_branch:new
> 	bad_bmark1:non-fast-forward
> 	bad_bmark2:non-fast-forward
> 	branches/bad_branch:non-fast-forward
> 	EOF
> 	) &&
> 
> 	if test "$CAPABILITY_PUSH" = "t"
> 	then
> 		# cap push handles refs one by one
> 		# so it will push all requested it can
> 		check_branch hgrepo default six &&
> 		check_branch hgrepo good_branch eight &&
> 		check_branch hgrepo bad_branch "bad branch" &&
> 		check_branch hgrepo new_branch ten &&
> 		check_bookmark hgrepo good_bmark three &&
> 		check_bookmark hgrepo bad_bmark1 one &&
> 		check_bookmark hgrepo bad_bmark2 one &&
> 		check_bookmark hgrepo new_bmark six
> 	else
> 		check_branch hgrepo default one &&
> 		check_branch hgrepo good_branch "good branch" &&
> 		check_branch hgrepo bad_branch "bad branch" &&
> 		check_branch hgrepo new_branch &&
> 		check_bookmark hgrepo good_bmark one &&
> 		check_bookmark hgrepo bad_bmark1 one &&
> 		check_bookmark hgrepo bad_bmark2 one &&
> 		check_bookmark hgrepo new_bmark
> 	fi
> 
> added 1 changesets with 1 changes to 1 files
> new changesets 1c2452a73994
> progress revision 2 'default' (0/1)
> From hg::/<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo/sub_hg_a
>    5762808..6d07f00  branches/default -> origin/branches/default
>    5762808..6d07f00  master           -> origin/master
> HEAD is now at 5762808 substate_hg_a
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 7ea8b9e4a568
> progress revision 1 'default' (0/1)
> From hg::/<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo/sub_hg_a/sub_hg_a_x
>    417e060..bb78149  branches/default -> origin/branches/default
>    417e060..bb78149  master           -> origin/master
> HEAD is now at 417e060 zero_sub_hg_a_x
> no changes found
> ok 9 - subcommand sub subsequent recursive update
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	test_sub_update --rebase
> 
> Cloning into 'gitrepo'...
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> Cloning into 'gitrepo'...
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark bad_bmark1
> adding remote bookmark bad_bmark2
> adding remote bookmark good_bmark
> added 4 changesets with 4 changes to 1 files
> new changesets eae3952f9813:65a944a3bba6
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> progress revision 2 'bad_branch' (0/2)
> HEAD is now at 30602b9 zero
> HEAD is now at 30602b9 zero
> HEAD is now at 382f5ec good branch
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark bad_bmark1
> adding remote bookmark bad_bmark2
> adding remote bookmark good_bmark
> added 4 changesets with 4 changes to 1 files
> new changesets eae3952f9813:a326061453df
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> progress revision 2 'bad_branch' (0/2)
> HEAD is now at 30602b9 zero
> HEAD is now at 30602b9 zero
> HEAD is now at 731c9d7 good branch
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo
>    382f5ec..fb913e4  branches/good_branch -> branches/good_branch
>    37db127..733fc45  good_bmark -> good_bmark
>    37db127..01d578d  master -> master
>  * [new branch]      branches/new_branch -> branches/new_branch
>  * [new branch]      new_bmark -> new_bmark
>  ! [rejected]        branches/bad_branch -> branches/bad_branch (non-fast-forward)
>  ! [rejected]        bad_bmark1 -> bad_bmark1 (non-fast-forward)
>  ! [rejected]        bad_bmark2 -> bad_bmark2 (non-fast-forward)
> error: failed to push some refs to 'hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo'
> hint: Updates were rejected because a pushed branch tip is behind its remote
> hint: counterpart. Check out this branch and integrate the remote changes
> hint: (e.g. 'git pull ...') before pushing again.
> hint: See the 'Note about fast-forwards' in 'git push --help' for details.
>    37db127..01d578d  master -> master
>    37db127..733fc45  good_bmark -> good_bmark
>    382f5ec..fb913e4  branches/good_branch -> branches/good_branch
>  * [new branch]      new_bmark -> new_bmark
>  * [new branch]      branches/new_branch -> branches/new_branch
>  ! [rejected]        bad_bmark1 -> bad_bmark1 (non-fast-forward)
>  ! [rejected]        bad_bmark2 -> bad_bmark2 (non-fast-forward)
>  ! [rejected]        branches/bad_branch -> branches/bad_branch (non-fast-forward)
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 1 files (+1 heads)
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files (+1 heads)
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files (+1 heads)
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files (+1 heads)
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>    fffffff..49f97b5  branches/good_branch -> branches/good_branch
>    fffffff..194bd94  good_bmark -> good_bmark
>    fffffff..38bd0b7  master -> master
>  * [new branch]      branches/new_branch -> branches/new_branch
>  * [new branch]      new_bmark -> new_bmark
>  ! [rejected]        branches/bad_branch -> branches/bad_branch (non-fast-forward)
>  ! [rejected]        bad_bmark1 -> bad_bmark1 (non-fast-forward)
>  ! [rejected]        bad_bmark2 -> bad_bmark2 (non-fast-forward)
> error: failed to push some refs to 'hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo'
> hint: Updates were rejected because a pushed branch tip is behind its remote
> hint: counterpart. Check out this branch and integrate the remote changes
> hint: (e.g. 'git pull ...') before pushing again.
> hint: See the 'Note about fast-forwards' in 'git push --help' for details.
>    fffffff..38bd0b7  master -> master
>    fffffff..194bd94  good_bmark -> good_bmark
>    fffffff..49f97b5  branches/good_branch -> branches/good_branch
>  * [new branch]      new_bmark -> new_bmark
>  * [new branch]      branches/new_branch -> branches/new_branch
>  ! [rejected]        bad_bmark1 -> bad_bmark1 (non-fast-forward)
>  ! [rejected]        bad_bmark2 -> bad_bmark2 (non-fast-forward)
>  ! [rejected]        branches/bad_branch -> branches/bad_branch (non-fast-forward)
> hint: Using 'master' as the name for the initial branch. This default branch name
> hint: is subject to change. To configure the initial branch name to use in all
> hint: of your new repositories, which will suppress this warning, call:
> hint: 
> hint: 	git config --global init.defaultBranch <name>
> hint: 
> hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
> hint: 'development'. The just-created branch can be renamed via this command:
> hint: 
> hint: 	git branch -m <name>
> Initialized empty Git repository in /<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo/sub_hg_b/sub_git/.git/
> [master (root-commit) e9a16bb] zero_sub_git
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 content_sub_git
> ok 21 - remote big push
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo*" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo zero > content &&
> 	hg add content &&
> 	hg commit -m zero &&
> 	hg bookmark bad_bmark &&
> 	hg bookmark good_bmark &&
> 	hg bookmark -i good_bmark &&
> 	hg -q branch good_branch &&
> 	echo "good branch" > content &&
> 	hg commit -m "good branch" &&
> 	hg -q branch bad_branch &&
> 	echo "bad branch" > content &&
> 	hg commit -m "bad branch"
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 
> 	(
> 	cd hgrepo &&
> 	hg bookmark -f bad_bmark &&
> 	echo update_bmark > content &&
> 	hg commit -m "update bmark"
> 	) &&
> 
> 	(
> 	cd gitrepo &&
> 	echo two > content &&
> 	git commit -q -a -m two &&
> 
> 	git checkout -q good_bmark &&
> 	echo three > content &&
> 	git commit -q -a -m three &&
> 
> 	git checkout -q bad_bmark &&
> 	echo four > content &&
> 	git commit -q -a -m four &&
> 
> 	git checkout -q branches/bad_branch &&
> 	echo five > content &&
> 	git commit -q -a -m five &&
> 
> 	check_push 1 --all <<-\EOF &&
> 	master
> 	good_bmark
> 	bad_bmark:non-fast-forward
> 	branches/bad_branch:non-fast-forward
> 	EOF
> 
> 	git fetch &&
> 
>         if test "$CAPABILITY_PUSH" = "t"
>         then
>                 # cap push handles refs one by one
> 		# so it will already have pushed some above previously
> 		# (and master is a fake one that jumps around a bit)
> 		check_push 1 --all <<-\EOF
> 		bad_bmark:non-fast-forward
> 		branches/bad_branch:non-fast-forward
> 		EOF
> 	else
> 		check_push 1 --all <<-\EOF
> 		master
> 		good_bmark
> 		bad_bmark:non-fast-forward
> 		branches/bad_branch:non-fast-forward
> 		EOF
> 	fi
> 	)
> 
> Cloning into 'gitrepo'...
> ok 21 - remote big push
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo*" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo zero > content &&
> 	hg add content &&
> 	hg commit -m zero &&
> 	hg bookmark bad_bmark &&
> 	hg bookmark good_bmark &&
> 	hg bookmark -i good_bmark &&
> 	hg -q branch good_branch &&
> 	echo "good branch" > content &&
> 	hg commit -m "good branch" &&
> 	hg -q branch bad_branch &&
> 	echo "bad branch" > content &&
> 	hg commit -m "bad branch"
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 
> 	(
> 	cd hgrepo &&
> 	hg bookmark -f bad_bmark &&
> 	echo update_bmark > content &&
> 	hg commit -m "update bmark"
> 	) &&
> 
> 	(
> 	cd gitrepo &&
> 	echo two > content &&
> 	git commit -q -a -m two &&
> 
> 	git checkout -q good_bmark &&
> 	echo three > content &&
> 	git commit -q -a -m three &&
> 
> 	git checkout -q bad_bmark &&
> 	echo four > content &&
> 	git commit -q -a -m four &&
> 
> 	git checkout -q branches/bad_branch &&
> 	echo five > content &&
> 	git commit -q -a -m five &&
> 
> 	check_push 1 --all <<-\EOF &&
> 	master
> 	good_bmark
> 	bad_bmark:non-fast-forward
> 	branches/bad_branch:non-fast-forward
> 	EOF
> 
> 	git fetch &&
> 
>         if test "$CAPABILITY_PUSH" = "t"
>         then
>                 # cap push handles refs one by one
> 		# so it will already have pushed some above previously
> 		# (and master is a fake one that jumps around a bit)
> 		check_push 1 --all <<-\EOF
> 		bad_bmark:non-fast-forward
> 		branches/bad_branch:non-fast-forward
> 		EOF
> 	else
> 		check_push 1 --all <<-\EOF
> 		master
> 		good_bmark
> 		bad_bmark:non-fast-forward
> 		branches/bad_branch:non-fast-forward
> 		EOF
> 	fi
> 	)
> 
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 3 changes to 3 files
> new changesets effc65758fe4:d32d6e81ffa2
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> Cloning into './sub_hg_a'...
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 3 changes to 3 files
> new changesets 8b564b07b7a6:1b319a3286b1
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> Cloning into './sub_hg_a/sub_hg_a_x'...
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets c12a783dba65
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> Cloning into 'gitrepo'...
> Cloning into './sub_hg_b'...
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark bad_bmark
> adding remote bookmark good_bmark
> added 3 changesets with 3 changes to 1 files
> new changesets 18800c61a50c:daa242f51d8a
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> progress revision 1 'bad_branch' (0/2)
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 3 changes to 3 files
> new changesets 8773d0017a14:da3f526e5daa
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> Cloning into 'gitrepo'...
> Cloning into './sub_hg_b/sub_git'...
> done.
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark bad_bmark
> adding remote bookmark good_bmark
> added 3 changesets with 3 changes to 1 files
> new changesets 9ad8c926b5b1:c4f94c7d6d90
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> progress revision 1 'bad_branch' (0/2)
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> updating bookmark bad_bmark
> added 1 changesets with 1 changes to 1 files
> new changesets 00d1eae67fb0
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo
>    2e65cbd..936db0c  good_bmark -> good_bmark
>    2e65cbd..55588fd  master -> master
>  ! [rejected]        branches/bad_branch -> branches/bad_branch (non-fast-forward)
>  ! [rejected]        bad_bmark -> bad_bmark (non-fast-forward)
> error: failed to push some refs to 'hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo'
> hint: Updates were rejected because the tip of your current branch is behind
> hint: its remote counterpart. Integrate the remote changes (e.g.
> hint: 'git pull ...') before pushing again.
> hint: See the 'Note about fast-forwards' in 'git push --help' for details.
>    2e65cbd..55588fd  master -> master
>    2e65cbd..936db0c  good_bmark -> good_bmark
>  ! [rejected]        bad_bmark -> bad_bmark (non-fast-forward)
>  ! [rejected]        branches/bad_branch -> branches/bad_branch (non-fast-forward)
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> searching for changes
> adding changesets
> adding manifests
> no changes found
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets f4325ffea318
> progress revision 2 'default' (0/1)
> progress revision 3 'bad_branch' (0/1)
> From hg::/<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo
>    d8b17e2..f1fc1dc  master           -> origin/master
>    d8b17e2..f1fc1dc  branches/default -> origin/branches/default
> From hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo
>    0dea320..ad77d43  branches/bad_branch -> origin/branches/bad_branch
>    2e65cbd..ad77d43  bad_bmark           -> origin/bad_bmark
>  + 936db0c...2e65cbd good_bmark          -> origin/good_bmark  (forced update)
>  + 55588fd...2e65cbd master              -> origin/master  (forced update)
> Updating d8b17e2..f1fc1dc
> Fast-forward
>  .hgsubstate | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> updating bookmark bad_bmark
> added 1 changesets with 1 changes to 1 files
> new changesets 880bc2cbe383
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files (+1 heads)
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files (+1 heads)
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>    fffffff..1e18701  good_bmark -> good_bmark
>    fffffff..9c41cdd  master -> master
>  ! [rejected]        branches/bad_branch -> branches/bad_branch (non-fast-forward)
>  ! [rejected]        bad_bmark -> bad_bmark (non-fast-forward)
> error: failed to push some refs to 'hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo'
> hint: Updates were rejected because the tip of your current branch is behind
> hint: its remote counterpart. Integrate the remote changes (e.g.
> hint: 'git pull ...') before pushing again.
> hint: See the 'Note about fast-forwards' in 'git push --help' for details.
>    fffffff..9c41cdd  master -> master
>    fffffff..1e18701  good_bmark -> good_bmark
>  ! [rejected]        bad_bmark -> bad_bmark (non-fast-forward)
>  ! [rejected]        branches/bad_branch -> branches/bad_branch (non-fast-forward)
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo
>    2e65cbd..936db0c  good_bmark -> good_bmark
>    2e65cbd..55588fd  master -> master
>  ! [rejected]        branches/bad_branch -> branches/bad_branch (non-fast-forward)
>  ! [rejected]        bad_bmark -> bad_bmark (non-fast-forward)
> error: failed to push some refs to 'hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo'
> hint: Updates were rejected because the tip of your current branch is behind
> hint: its remote counterpart. Integrate the remote changes (e.g.
> hint: 'git pull ...') before pushing again.
> hint: See the 'Note about fast-forwards' in 'git push --help' for details.
>    2e65cbd..55588fd  master -> master
>    2e65cbd..936db0c  good_bmark -> good_bmark
>  ! [rejected]        bad_bmark -> bad_bmark (non-fast-forward)
>  ! [rejected]        branches/bad_branch -> branches/bad_branch (non-fast-forward)
> ok 22 - remote big push non fast forward
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo*" &&
> 
> 	setup_big_push
> 
> 	(
> 	cd gitrepo &&
> 
> 	if test "$CAPABILITY_PUSH" = "t"
> 	then
> 		check_push 0 --force --all <<-\EOF
> 		master:forced-update
> 		good_bmark:forced-update
> 		branches/good_branch:forced-update
> 		new_bmark:new
> 		branches/new_branch:new
> 		bad_bmark1:forced-update
> 		bad_bmark2:forced-update
> 		branches/bad_branch:forced-update
> 		EOF
> 	else
> 		check_push 0 --force --all <<-\EOF
> 		master
> 		good_bmark
> 		branches/good_branch
> 		new_bmark:new
> 		branches/new_branch:new
> 		bad_bmark1:forced-update
> 		bad_bmark2:forced-update
> 		branches/bad_branch:forced-update
> 		EOF
> 	fi
> 	) &&
> 
> 	check_branch hgrepo default six &&
> 	check_branch hgrepo good_branch eight &&
> 	check_branch hgrepo bad_branch nine &&
> 	check_branch hgrepo new_branch ten &&
> 	check_bookmark hgrepo good_bmark three &&
> 	check_bookmark hgrepo bad_bmark1 four &&
> 	check_bookmark hgrepo bad_bmark2 five &&
> 	check_bookmark hgrepo new_bmark six
> 
> no changes found
> updating bookmark good_bmark
> 2 local changesets published
> WARNING: Branch 'default' has more than one head, consider merging
> progress revision 3 'bad_branch' (0/1)
> From hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>    1485bfb..14a736b  branches/bad_branch -> origin/branches/bad_branch
>    994b4da..9c41cdd  branches/default    -> origin/branches/default
>    994b4da..14a736b  bad_bmark           -> origin/bad_bmark
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 5fd28ec2d7a8
> progress revision 2 'default' (0/1)
> From hg::/<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo/sub_hg_a
>    8c6b5d9..86f21fd  branches/default -> origin/branches/default
>    8c6b5d9..86f21fd  master           -> origin/master
> HEAD is now at 8c6b5d9 substate_hg_a
> 
>                                                                                 
> Successfully rebased and updated detached HEAD.
> no changes found
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>  ! [rejected]        branches/bad_branch -> branches/bad_branch (non-fast-forward)
>  ! [rejected]        bad_bmark -> bad_bmark (non-fast-forward)
> error: failed to push some refs to 'hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo'
> hint: Updates were rejected because the tip of your current branch is behind
> hint: its remote counterpart. Integrate the remote changes (e.g.
> hint: 'git pull ...') before pushing again.
> hint: See the 'Note about fast-forwards' in 'git push --help' for details.
>  ! [rejected]        bad_bmark -> bad_bmark (non-fast-forward)
>  ! [rejected]        branches/bad_branch -> branches/bad_branch (non-fast-forward)
> ok 22 - remote big push non fast forward
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo*" &&
> 
> 	setup_big_push
> 
> 	(
> 	cd gitrepo &&
> 
> 	if test "$CAPABILITY_PUSH" = "t"
> 	then
> 		check_push 0 --force --all <<-\EOF
> 		master:forced-update
> 		good_bmark:forced-update
> 		branches/good_branch:forced-update
> 		new_bmark:new
> 		branches/new_branch:new
> 		bad_bmark1:forced-update
> 		bad_bmark2:forced-update
> 		branches/bad_branch:forced-update
> 		EOF
> 	else
> 		check_push 0 --force --all <<-\EOF
> 		master
> 		good_bmark
> 		branches/good_branch
> 		new_bmark:new
> 		branches/new_branch:new
> 		bad_bmark1:forced-update
> 		bad_bmark2:forced-update
> 		branches/bad_branch:forced-update
> 		EOF
> 	fi
> 	) &&
> 
> 	check_branch hgrepo default six &&
> 	check_branch hgrepo good_branch eight &&
> 	check_branch hgrepo bad_branch nine &&
> 	check_branch hgrepo new_branch ten &&
> 	check_bookmark hgrepo good_bmark three &&
> 	check_bookmark hgrepo bad_bmark1 four &&
> 	check_bookmark hgrepo bad_bmark2 five &&
> 	check_bookmark hgrepo new_bmark six
> 
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 2cc6ac0eabd5
> progress revision 1 'default' (0/1)
> From hg::/<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo/sub_hg_a/sub_hg_a_x
>    12aca16..9aabad9  branches/default -> origin/branches/default
>    12aca16..9aabad9  master           -> origin/master
> HEAD is now at 12aca16 zero_sub_hg_a_x
> 
>                                                                                 
> Successfully rebased and updated detached HEAD.
> no changes found
> ok 10 - subcommand sub subsequent recursive update -- rebase
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	test_sub_update --merge
> 
> Cloning into 'gitrepo'...
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark bad_bmark1
> adding remote bookmark bad_bmark2
> adding remote bookmark good_bmark
> added 4 changesets with 4 changes to 1 files
> new changesets 7c9ce2999f84:f8e530f40fff
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> progress revision 2 'bad_branch' (0/2)
> HEAD is now at 9d67db8 zero
> HEAD is now at 9d67db8 zero
> HEAD is now at b443280 good branch
> Cloning into 'gitrepo'...
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark bad_bmark1
> adding remote bookmark bad_bmark2
> adding remote bookmark good_bmark
> added 4 changesets with 4 changes to 1 files
> new changesets 237e8b20b551:149b70ea3543
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> progress revision 2 'bad_branch' (0/2)
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 9 changesets with 9 changes to 1 files (+7 heads)
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo
>  + 6592d09...f6e52c6 branches/bad_branch -> branches/bad_branch (forced update)
>    b443280..8cd71d9  branches/good_branch -> branches/good_branch
>  + e87bb6a...98f3f0a bad_bmark1 -> bad_bmark1 (forced update)
>  + e87bb6a...d5c36b4 bad_bmark2 -> bad_bmark2 (forced update)
>    e87bb6a..2ad1217  good_bmark -> good_bmark
>    e87bb6a..f0ef8be  master -> master
>  * [new branch]      branches/new_branch -> branches/new_branch
>  * [new branch]      new_bmark -> new_bmark
>    e87bb6a..f0ef8be  master -> master
>    e87bb6a..2ad1217  good_bmark -> good_bmark
>    b443280..8cd71d9  branches/good_branch -> branches/good_branch
>  * [new branch]      new_bmark -> new_bmark
>  * [new branch]      branches/new_branch -> branches/new_branch
>  + e87bb6a...98f3f0a bad_bmark1 -> bad_bmark1 (forced update)
>  + e87bb6a...d5c36b4 bad_bmark2 -> bad_bmark2 (forced update)
>  + 6592d09...f6e52c6 branches/bad_branch -> branches/bad_branch (forced update)
> HEAD is now at 0873daa zero
> HEAD is now at 0873daa zero
> HEAD is now at 47c7174 good branch
> --- expected	2022-02-18 20:40:43.783498545 +0000
> +++ actual	2022-02-18 20:40:43.903497844 +0000
> @@ -1 +1 @@
> -six
> +four
> not ok 23 - remote big push force
> #	
> #		test_when_finished "rm -rf hgrepo gitrepo*" &&
> #	
> #		setup_big_push
> #	
> #		(
> #		cd gitrepo &&
> #	
> #		if test "$CAPABILITY_PUSH" = "t"
> #		then
> #			check_push 0 --force --all <<-\EOF
> #			master:forced-update
> #			good_bmark:forced-update
> #			branches/good_branch:forced-update
> #			new_bmark:new
> #			branches/new_branch:new
> #			bad_bmark1:forced-update
> #			bad_bmark2:forced-update
> #			branches/bad_branch:forced-update
> #			EOF
> #		else
> #			check_push 0 --force --all <<-\EOF
> #			master
> #			good_bmark
> #			branches/good_branch
> #			new_bmark:new
> #			branches/new_branch:new
> #			bad_bmark1:forced-update
> #			bad_bmark2:forced-update
> #			branches/bad_branch:forced-update
> #			EOF
> #		fi
> #		) &&
> #	
> #		check_branch hgrepo default six &&
> #		check_branch hgrepo good_branch eight &&
> #		check_branch hgrepo bad_branch nine &&
> #		check_branch hgrepo new_branch ten &&
> #		check_bookmark hgrepo good_bmark three &&
> #		check_bookmark hgrepo bad_bmark1 four &&
> #		check_bookmark hgrepo bad_bmark2 five &&
> #		check_bookmark hgrepo new_bmark six
> #	
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo*" &&
> 
> 	setup_big_push
> 
> 	(
> 	cd gitrepo &&
> 
> 	check_push 1 --dry-run --all <<-\EOF &&
> 	master
> 	good_bmark
> 	branches/good_branch
> 	new_bmark:new
> 	branches/new_branch:new
> 	bad_bmark1:non-fast-forward
> 	bad_bmark2:non-fast-forward
> 	branches/bad_branch:non-fast-forward
> 	EOF
> 
> 	check_push 0 --dry-run master good_bmark new_bmark branches/good_branch branches/new_branch <<-\EOF
> 	master
> 	good_bmark
> 	branches/good_branch
> 	new_bmark:new
> 	branches/new_branch:new
> 	EOF
> 	) &&
> 
> 	check_branch hgrepo default one &&
> 	check_branch hgrepo good_branch "good branch" &&
> 	check_branch hgrepo bad_branch "bad branch" &&
> 	check_branch hgrepo new_branch &&
> 	check_bookmark hgrepo good_bmark one &&
> 	check_bookmark hgrepo bad_bmark1 one &&
> 	check_bookmark hgrepo bad_bmark2 one &&
> 	check_bookmark hgrepo new_bmark
> 
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files (+1 heads)
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 1 files (+1 heads)
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files (+1 heads)
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files (+1 heads)
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files (+1 heads)
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files (+1 heads)
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files (+1 heads)
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>  + fffffff...bc6a157 branches/bad_branch -> branches/bad_branch (forced update)
>  + fffffff...5fb033a branches/good_branch -> branches/good_branch (forced update)
>  + fffffff...55d6997 bad_bmark1 -> bad_bmark1 (forced update)
>  + fffffff...1c2440d bad_bmark2 -> bad_bmark2 (forced update)
>  + fffffff...41f1168 good_bmark -> good_bmark (forced update)
>  + fffffff...3a498b7 master -> master (forced update)
>  * [new branch]      branches/new_branch -> branches/new_branch
>  * [new branch]      new_bmark -> new_bmark
>  + fffffff...3a498b7 master -> master (forced update)
>  + fffffff...41f1168 good_bmark -> good_bmark (forced update)
>  + fffffff...5fb033a branches/good_branch -> branches/good_branch (forced update)
>  * [new branch]      new_bmark -> new_bmark
>  * [new branch]      branches/new_branch -> branches/new_branch
>  + fffffff...55d6997 bad_bmark1 -> bad_bmark1 (forced update)
> hint: Using 'master' as the name for the initial branch. This default branch name
> hint: is subject to change. To configure the initial branch name to use in all
> hint: of your new repositories, which will suppress this warning, call:
> hint: 
> hint: 	git config --global init.defaultBranch <name>
> hint: 
> hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
> hint: 'development'. The just-created branch can be renamed via this command:
> hint: 
> hint: 	git branch -m <name>
>  + fffffff...1c2440d bad_bmark2 -> bad_bmark2 (forced update)
> Initialized empty Git repository in /<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo/sub_hg_b/sub_git/.git/
>  + fffffff...bc6a157 branches/bad_branch -> branches/bad_branch (forced update)
> [master (root-commit) e9a16bb] zero_sub_git
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 content_sub_git
> Cloning into 'gitrepo'...
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 3 changes to 3 files
> new changesets a2c9b0d45a96:930a79d1d60d
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> ok 23 - remote big push force
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo*" &&
> 
> 	setup_big_push
> 
> 	(
> 	cd gitrepo &&
> 
> 	check_push 1 --dry-run --all <<-\EOF &&
> 	master
> 	good_bmark
> 	branches/good_branch
> 	new_bmark:new
> 	branches/new_branch:new
> 	bad_bmark1:non-fast-forward
> 	bad_bmark2:non-fast-forward
> 	branches/bad_branch:non-fast-forward
> 	EOF
> 
> 	check_push 0 --dry-run master good_bmark new_bmark branches/good_branch branches/new_branch <<-\EOF
> 	master
> 	good_bmark
> 	branches/good_branch
> 	new_bmark:new
> 	branches/new_branch:new
> 	EOF
> 	) &&
> 
> 	check_branch hgrepo default one &&
> 	check_branch hgrepo good_branch "good branch" &&
> 	check_branch hgrepo bad_branch "bad branch" &&
> 	check_branch hgrepo new_branch &&
> 	check_bookmark hgrepo good_bmark one &&
> 	check_bookmark hgrepo bad_bmark1 one &&
> 	check_bookmark hgrepo bad_bmark2 one &&
> 	check_bookmark hgrepo new_bmark
> 
> Cloning into './sub_hg_a'...
> Cloning into 'gitrepo'...
> adding changesets
> adding manifests
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding file changes
> added 2 changesets with 3 changes to 3 files
> new changesets 0d4e91f4409a:2602fae47c4a
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark bad_bmark1
> adding remote bookmark bad_bmark2
> adding remote bookmark good_bmark
> added 4 changesets with 4 changes to 1 files
> new changesets cad1ee277a95:e9a377d94d5c
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> progress revision 2 'bad_branch' (0/2)
> Cloning into './sub_hg_a/sub_hg_a_x'...
> HEAD is now at b44b434 zero
> HEAD is now at b44b434 zero
> HEAD is now at 2ab0fbb good branch
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 7e62cc38650b
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> Cloning into './sub_hg_b'...
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo
>    2ab0fbb..2d84257  branches/good_branch -> branches/good_branch
>    fc4b3f9..4b14fa1  good_bmark -> good_bmark
>    fc4b3f9..847af42  master -> master
>  * [new branch]      branches/new_branch -> branches/new_branch
>  * [new branch]      new_bmark -> new_bmark
>  ! [rejected]        branches/bad_branch -> branches/bad_branch (non-fast-forward)
>  ! [rejected]        bad_bmark1 -> bad_bmark1 (non-fast-forward)
>  ! [rejected]        bad_bmark2 -> bad_bmark2 (non-fast-forward)
> error: failed to push some refs to 'hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo'
> hint: Updates were rejected because a pushed branch tip is behind its remote
> hint: counterpart. Check out this branch and integrate the remote changes
> hint: (e.g. 'git pull ...') before pushing again.
> hint: See the 'Note about fast-forwards' in 'git push --help' for details.
>    fc4b3f9..847af42  master -> master
>    fc4b3f9..4b14fa1  good_bmark -> good_bmark
>    2ab0fbb..2d84257  branches/good_branch -> branches/good_branch
>  * [new branch]      new_bmark -> new_bmark
>  * [new branch]      branches/new_branch -> branches/new_branch
>  ! [rejected]        bad_bmark1 -> bad_bmark1 (non-fast-forward)
>  ! [rejected]        bad_bmark2 -> bad_bmark2 (non-fast-forward)
>  ! [rejected]        branches/bad_branch -> branches/bad_branch (non-fast-forward)
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 3 changes to 3 files
> new changesets 11b749bf7ef7:1e5e424f83b4
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo
>    2ab0fbb..2d84257  branches/good_branch -> branches/good_branch
>    fc4b3f9..4b14fa1  good_bmark -> good_bmark
>    fc4b3f9..847af42  master -> master
>  * [new branch]      new_bmark -> new_bmark
>  * [new branch]      branches/new_branch -> branches/new_branch
>    fc4b3f9..847af42  master -> master
>    fc4b3f9..4b14fa1  good_bmark -> good_bmark
>    2ab0fbb..2d84257  branches/good_branch -> branches/good_branch
>  * [new branch]      new_bmark -> new_bmark
>  * [new branch]      branches/new_branch -> branches/new_branch
> Cloning into './sub_hg_b/sub_git'...
> done.
> Cloning into 'gitrepo'...
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark bad_bmark1
> adding remote bookmark bad_bmark2
> adding remote bookmark good_bmark
> added 4 changesets with 4 changes to 1 files
> new changesets cb4e9123ad01:bf2a4911638a
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 5bff902068fd
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> progress revision 2 'bad_branch' (0/2)
> progress revision 2 'default' (0/1)
> From hg::/<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo
>    c00403f..590c3ef  master           -> origin/master
>    c00403f..590c3ef  branches/default -> origin/branches/default
> Updating c00403f..590c3ef
> Fast-forward
>  .hgsubstate | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> HEAD is now at 0835043 zero
> HEAD is now at 0835043 zero
> HEAD is now at 31eef51 good branch
> ok 24 - remote big push dry-run
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo*" &&
> 
> 	setup_big_push
> 
> 	(
> 	cd gitrepo &&
> 
> 	if test "$CAPABILITY_PUSH" = "t"
> 	then
> 		check_push 0 --force --dry-run --all <<-\EOF
> 		master:forced-update
> 		good_bmark:forced-update
> 		branches/good_branch:forced-update
> 		new_bmark:new
> 		branches/new_branch:new
> 		bad_bmark1:forced-update
> 		bad_bmark2:forced-update
> 		branches/bad_branch:forced-update
> 		EOF
> 	else
> 		check_push 0 --force --dry-run --all <<-\EOF
> 		master
> 		good_bmark
> 		branches/good_branch
> 		new_bmark:new
> 		branches/new_branch:new
> 		bad_bmark1:forced-update
> 		bad_bmark2:forced-update
> 		branches/bad_branch:forced-update
> 		EOF
> 	fi
> 	) &&
> 
> 	check_branch hgrepo default one &&
> 	check_branch hgrepo good_branch "good branch" &&
> 	check_branch hgrepo bad_branch "bad branch" &&
> 	check_branch hgrepo new_branch &&
> 	check_bookmark hgrepo good_bmark one &&
> 	check_bookmark hgrepo bad_bmark1 one &&
> 	check_bookmark hgrepo bad_bmark2 one &&
> 	check_bookmark hgrepo new_bmark
> 
> no changes found
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>    fffffff..4c38f0b  branches/good_branch -> branches/good_branch
>    fffffff..495460f  good_bmark -> good_bmark
>    fffffff..7c6cf9e  master -> master
>  * [new branch]      branches/new_branch -> branches/new_branch
>  * [new branch]      new_bmark -> new_bmark
>  ! [rejected]        branches/bad_branch -> branches/bad_branch (non-fast-forward)
>  ! [rejected]        bad_bmark1 -> bad_bmark1 (non-fast-forward)
>  ! [rejected]        bad_bmark2 -> bad_bmark2 (non-fast-forward)
> error: failed to push some refs to 'hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo'
> hint: Updates were rejected because a pushed branch tip is behind its remote
> hint: counterpart. Check out this branch and integrate the remote changes
> hint: (e.g. 'git pull ...') before pushing again.
> hint: See the 'Note about fast-forwards' in 'git push --help' for details.
>    fffffff..7c6cf9e  master -> master
> searching for changes
>    fffffff..495460f  good_bmark -> good_bmark
>    fffffff..4c38f0b  branches/good_branch -> branches/good_branch
>  * [new branch]      new_bmark -> new_bmark
>  * [new branch]      branches/new_branch -> branches/new_branch
> adding changesets
>  ! [rejected]        bad_bmark1 -> bad_bmark1 (non-fast-forward)
> adding manifests
> adding file changes
>  ! [rejected]        bad_bmark2 -> bad_bmark2 (non-fast-forward)
>  ! [rejected]        branches/bad_branch -> branches/bad_branch (non-fast-forward)
> added 1 changesets with 1 changes to 1 files
> new changesets ee8cf6d9e340
> progress revision 2 'default' (0/1)
> From hg::/<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo/sub_hg_a
>    e3a7368..3b0dff3  branches/default -> origin/branches/default
>    e3a7368..3b0dff3  master           -> origin/master
> HEAD is now at e3a7368 substate_hg_a
> Updating e3a7368..3b0dff3
> Fast-forward
>  .hgsubstate | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> no changes found
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>    fffffff..4c38f0b  branches/good_branch -> branches/good_branch
>    fffffff..495460f  good_bmark -> good_bmark
>    fffffff..7c6cf9e  master -> master
>  * [new branch]      new_bmark -> new_bmark
>  * [new branch]      branches/new_branch -> branches/new_branch
>    fffffff..7c6cf9e  master -> master
>    fffffff..495460f  good_bmark -> good_bmark
>    fffffff..4c38f0b  branches/good_branch -> branches/good_branch
> searching for changes
>  * [new branch]      new_bmark -> new_bmark
>  * [new branch]      branches/new_branch -> branches/new_branch
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets b0aa8054bd40
> progress revision 1 'default' (0/1)
> From hg::/<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo/sub_hg_a/sub_hg_a_x
>    2394894..80c0b53  branches/default -> origin/branches/default
>    2394894..80c0b53  master           -> origin/master
> HEAD is now at 2394894 zero_sub_hg_a_x
> Updating 2394894..80c0b53
> Fast-forward
>  content_sub_hg_a_x | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> no changes found
> ok 11 - subcommand sub subsequent recursive update -- merge
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	test_sub_foreach
> 
> Cloning into 'gitrepo'...
> ok 24 - remote big push dry-run
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo*" &&
> 
> 	setup_big_push
> 
> 	(
> 	cd gitrepo &&
> 
> 	if test "$CAPABILITY_PUSH" = "t"
> 	then
> 		check_push 0 --force --dry-run --all <<-\EOF
> 		master:forced-update
> 		good_bmark:forced-update
> 		branches/good_branch:forced-update
> 		new_bmark:new
> 		branches/new_branch:new
> 		bad_bmark1:forced-update
> 		bad_bmark2:forced-update
> 		branches/bad_branch:forced-update
> 		EOF
> 	else
> 		check_push 0 --force --dry-run --all <<-\EOF
> 		master
> 		good_bmark
> 		branches/good_branch
> 		new_bmark:new
> 		branches/new_branch:new
> 		bad_bmark1:forced-update
> 		bad_bmark2:forced-update
> 		branches/bad_branch:forced-update
> 		EOF
> 	fi
> 	) &&
> 
> 	check_branch hgrepo default one &&
> 	check_branch hgrepo good_branch "good branch" &&
> 	check_branch hgrepo bad_branch "bad branch" &&
> 	check_branch hgrepo new_branch &&
> 	check_bookmark hgrepo good_bmark one &&
> 	check_bookmark hgrepo bad_bmark1 one &&
> 	check_bookmark hgrepo bad_bmark2 one &&
> 	check_bookmark hgrepo new_bmark
> 
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark bad_bmark1
> adding remote bookmark bad_bmark2
> adding remote bookmark good_bmark
> added 4 changesets with 4 changes to 1 files
> new changesets c97042995938:3725b3042076
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> progress revision 2 'bad_branch' (0/2)
> HEAD is now at 94ef4dc zero
> HEAD is now at 94ef4dc zero
> HEAD is now at 9cfb182 good branch
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo
>  + 86e46df...79b8274 branches/bad_branch -> branches/bad_branch (forced update)
>    9cfb182..38218a1  branches/good_branch -> branches/good_branch
>  + f3ccdaf...53ddd27 bad_bmark1 -> bad_bmark1 (forced update)
>  + f3ccdaf...4c545f0 bad_bmark2 -> bad_bmark2 (forced update)
>    f3ccdaf..2e25517  good_bmark -> good_bmark
>    f3ccdaf..ce6e5ec  master -> master
>  * [new branch]      branches/new_branch -> branches/new_branch
>  * [new branch]      new_bmark -> new_bmark
>    f3ccdaf..ce6e5ec  master -> master
>    f3ccdaf..2e25517  good_bmark -> good_bmark
>    9cfb182..38218a1  branches/good_branch -> branches/good_branch
>  * [new branch]      new_bmark -> new_bmark
>  * [new branch]      branches/new_branch -> branches/new_branch
>  + f3ccdaf...53ddd27 bad_bmark1 -> bad_bmark1 (forced update)
>  + f3ccdaf...4c545f0 bad_bmark2 -> bad_bmark2 (forced update)
>  + 86e46df...79b8274 branches/bad_branch -> branches/bad_branch (forced update)
> hint: Using 'master' as the name for the initial branch. This default branch name
> hint: is subject to change. To configure the initial branch name to use in all
> hint: of your new repositories, which will suppress this warning, call:
> hint: 
> hint: 	git config --global init.defaultBranch <name>
> hint: 
> hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
> hint: 'development'. The just-created branch can be renamed via this command:
> hint: 
> hint: 	git branch -m <name>
> Initialized empty Git repository in /<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo/sub_hg_b/sub_git/.git/
> [master (root-commit) e9a16bb] zero_sub_git
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 content_sub_git
> Cloning into 'gitrepo'...
> ok 25 - remote big push force dry-run
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo*" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo zero > content &&
> 	hg add content &&
> 	hg commit -m zero &&
> 	echo one > content &&
> 	hg commit -m one
> 	) &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	git reset --hard HEAD^ &&
> 	echo two > content &&
> 	git commit -a -m two &&
> 	test_expect_code 1 git push &&
> 	test_expect_code 1 git push
> 	)
> 
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark bad_bmark1
> adding remote bookmark bad_bmark2
> adding remote bookmark good_bmark
> added 4 changesets with 4 changes to 1 files
> new changesets c4475a88985a:733e7ec60923
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> progress revision 2 'bad_branch' (0/2)
> Cloning into 'gitrepo'...
> HEAD is now at 3b0104c zero
> HEAD is now at 3b0104c zero
> HEAD is now at 5df05b8 good branch
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 3 changes to 3 files
> new changesets af4db04ed854:02236afbe49b
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> Cloning into 'gitrepo'...
> no changes found
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>  + fffffff...743ce41 branches/bad_branch -> branches/bad_branch (forced update)
>  + fffffff...770e435 branches/good_branch -> branches/good_branch (forced update)
>  + fffffff...a71dbc9 bad_bmark1 -> bad_bmark1 (forced update)
>  + fffffff...69848b0 bad_bmark2 -> bad_bmark2 (forced update)
>  + fffffff...0a6478f good_bmark -> good_bmark (forced update)
>  + fffffff...3f7b1ba master -> master (forced update)
>  * [new branch]      branches/new_branch -> branches/new_branch
>  * [new branch]      new_bmark -> new_bmark
>  + fffffff...3f7b1ba master -> master (forced update)
>  + fffffff...0a6478f good_bmark -> good_bmark (forced update)
>  + fffffff...770e435 branches/good_branch -> branches/good_branch (forced update)
>  * [new branch]      new_bmark -> new_bmark
>  * [new branch]      branches/new_branch -> branches/new_branch
>  + fffffff...a71dbc9 bad_bmark1 -> bad_bmark1 (forced update)
>  + fffffff...69848b0 bad_bmark2 -> bad_bmark2 (forced update)
>  + fffffff...743ce41 branches/bad_branch -> branches/bad_branch (forced update)
> Cloning into './sub_hg_a'...
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 1 files
> new changesets 0eab123d5004:43fe414b936e
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> HEAD is now at b7fc24f zero
> [master 9a9cae1] two
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 3 changes to 3 files
> new changesets 89fef1b7770c:a423f7c00958
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> Cloning into './sub_hg_a/sub_hg_a_x'...
> no changes found
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo
>  ! [rejected]        master -> master (non-fast-forward)
> error: failed to push some refs to 'hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo'
> hint: Updates were rejected because the tip of your current branch is behind
> hint: its remote counterpart. Integrate the remote changes (e.g.
> hint: 'git pull ...') before pushing again.
> hint: See the 'Note about fast-forwards' in 'git push --help' for details.
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 1d9e17912950
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo
>  ! [rejected]        master -> master (non-fast-forward)
> error: failed to push some refs to 'hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo'
> Cloning into './sub_hg_b'...
> hint: Updates were rejected because the tip of your current branch is behind
> hint: its remote counterpart. Integrate the remote changes (e.g.
> hint: 'git pull ...') before pushing again.
> hint: See the 'Note about fast-forwards' in 'git push --help' for details.
> ok 26 - remote double failed push
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo hgrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo zero > content &&
> 	hg add content &&
> 	hg commit -m zero &&
> 	echo feature-a > content &&
> 	hg commit -m feature-a
> 	hg bookmark feature-a
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 	check gitrepo origin/feature-a feature-a &&
> 
> 	(
> 	cd hgrepo &&
> 	hg bookmark -d feature-a
> 	) &&
> 
> 	(
> 	cd gitrepo &&
> 	git fetch --prune origin
> 	git branch -a > out &&
> 	! grep feature-a out
> 	)
> 
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 3 changes to 3 files
> new changesets 436c3ad42eb8:85592591bc9f
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> ok 25 - remote big push force dry-run
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo*" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo zero > content &&
> 	hg add content &&
> 	hg commit -m zero &&
> 	echo one > content &&
> 	hg commit -m one
> 	) &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	git reset --hard HEAD^ &&
> 	echo two > content &&
> 	git commit -a -m two &&
> 	test_expect_code 1 git push &&
> 	test_expect_code 1 git push
> 	)
> 
> Cloning into './sub_hg_b/sub_git'...
> done.
> Cloning into 'gitrepo'...
> hg 961f886ef925312aecfc87bbce9780db03e0fd2d a423f7c009586b32e7a26d9142b7ad37fd6f7c37 sub_hg_a /<<PKGBUILDDIR>>/test/trash directory.helper/gitrepo
> hg b4a169ee366fdcb7478d45a9d2667694aa9dbf91 1d9e17912950ca25acf2e722e4887856fd12caf9 sub_hg_a_x /<<PKGBUILDDIR>>/test/trash directory.helper/gitrepo/sub_hg_a
> hg 4ca9b42ed34efe77a05c4f352115417184aabbb2 85592591bc9f4bc0c23474a2ae8760eb9cf31bbe sub_hg_b /<<PKGBUILDDIR>>/test/trash directory.helper/gitrepo
> git e9a16bb7c08361f85ab0002e4094b4229fefb384 e9a16bb7c08361f85ab0002e4094b4229fefb384 sub_git /<<PKGBUILDDIR>>/test/trash directory.helper/gitrepo/sub_hg_b
> ok 12 - subcommand sub foreach
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	setup_repo hg hgrepo &&
> 	(
> 	cd hgrepo &&
> 	setup_repo hg sub_hg &&
> 	echo "sub_hg = sub_hg" > .hgsub &&
> 	hg add .hgsub &&
> 	hg commit -m substate
> 	)
> 
> 	git clone hg::hgrepo gitrepo &&
> 
> 	(
> 	cd gitrepo &&
> 	git-hg-helper sub update --force &&
> 
> 		(
> 		cd sub_hg &&
> 		grep url .git/config > ../expected &&
> 		git config remote.origin.url foobar &&
> 		grep foobar .git/config
> 		) &&
> 
> 	git-hg-helper sub sync &&
> 	grep url sub_hg/.git/config > actual &&
> 	test_cmp expected actual
> 	)
> 
> Cloning into 'gitrepo'...
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark feature-a
> added 2 changesets with 2 changes to 1 files
> new changesets a0a123230683:4bbe527e498a
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 1 files
> new changesets 8fe301e86edf:b466145f4f77
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> HEAD is now at abc6e68 zero
> [master 41d5b6c] two
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> error: refusing to update ref with bad name 'hg/origin/refs/bookmarks/feature-a'
> From hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo
>  - [deleted]         (none)     -> origin/feature-a
> no changes found
> ok 27 - fetch prune
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo hgrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo zero > content &&
> 	hg add content &&
> 	hg commit -m zero &&
> 	hg up -r null &&
> 	echo another > ocontent &&
> 	hg add ocontent &&
> 	hg commit -m one
> 	) &&
> 
> 	# -r 1 acts as master
> 	(
> 	git init --bare gitrepo && cd gitrepo &&
> 	git remote add origin hg::../hgrepo &&
> 	git fetch origin refs/heads/*:refs/heads/*
> 	) &&
> 
> 	(
> 	cd hgrepo &&
> 	hg up 0 &&
> 	echo two > content &&
> 	hg commit -m two
> 	) &&
> 
> 	# now master already exists
> 	# -r 2 becomes master head which has rev 0 as ancestor
> 	# so when importing (parentless) rev 0, a reset is needed
> 	# (to ensure rev 0 is not given a parent commit)
> 	(
> 	cd gitrepo &&
> 	git fetch origin &&
> 	git log --format="%s" origin/master > ../actual
> 	) &&
> 
> 	hg -R hgrepo log -r . -f --template "{desc}\n" > expected &&
> 	test_cmp actual expected
> 
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>  ! [rejected]        master -> master (non-fast-forward)
> error: failed to push some refs to 'hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo'
> hint: Updates were rejected because the tip of your current branch is behind
> hint: its remote counterpart. Integrate the remote changes (e.g.
> hint: 'git pull ...') before pushing again.
> hint: See the 'Note about fast-forwards' in 'git push --help' for details.
> no changes found
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>  ! [rejected]        master -> master (non-fast-forward)
> error: failed to push some refs to 'hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo'
> hint: Updates were rejected because the tip of your current branch is behind
> hint: its remote counterpart. Integrate the remote changes (e.g.
> hint: 'git pull ...') before pushing again.
> hint: See the 'Note about fast-forwards' in 'git push --help' for details.
> ok 26 - remote double failed push
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo hgrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo zero > content &&
> 	hg add content &&
> 	hg commit -m zero &&
> 	echo feature-a > content &&
> 	hg commit -m feature-a
> 	hg bookmark feature-a
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 	check gitrepo origin/feature-a feature-a &&
> 
> 	(
> 	cd hgrepo &&
> 	hg bookmark -d feature-a
> 	) &&
> 
> 	(
> 	cd gitrepo &&
> 	git fetch --prune origin
> 	git branch -a > out &&
> 	! grep feature-a out
> 	)
> 
> Cloning into 'gitrepo'...
> 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 3 changes to 3 files
> new changesets 226a5b0f1ce5:e459a182f8c1
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> created new head
> hint: Using 'master' as the name for the initial branch. This default branch name
> hint: is subject to change. To configure the initial branch name to use in all
> hint: of your new repositories, which will suppress this warning, call:
> hint: 
> hint: 	git config --global init.defaultBranch <name>
> hint: 
> hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
> hint: 'development'. The just-created branch can be renamed via this command:
> hint: 
> hint: 	git branch -m <name>
> Initialized empty Git repository in /<<PKGBUILDDIR>>/test/trash directory.main/tmp/gitrepo/
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> Cloning into 'gitrepo'...
> Cloning into './sub_hg'...
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 2 files (+1 heads)
> new changesets 206842ee0b6d:6dbc65ff076e
> WARNING: Branch 'default' has more than one head, consider merging
> WARNING: Branch 'default' has more than one head, consider merging
> progress revision 1 'default' (0/1)
> From hg::../hgrepo
>  * [new branch]      branches/default -> branches/default
>  * [new branch]      master           -> master
>  * [new branch]      branches/default -> origin/branches/default
>  * [new branch]      master           -> origin/master
> 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark feature-a
> added 2 changesets with 2 changes to 1 files
> new changesets 206842ee0b6d:722a8ec0037e
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 87a6743675a4
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> 	url = foobar
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 1d4b427a5399
> WARNING: Branch 'default' has more than one head, consider merging
> progress revision walk 'branches/default' (2/2)
> progress revision 0 'default' (0/2)
> From hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo
>  + 3bc3264...fd0956a branches/default -> origin/branches/default  (forced update)
>  + 3bc3264...fd0956a master           -> origin/master  (forced update)
> no changes found
> error: refusing to update ref with bad name 'hg/origin/refs/bookmarks/feature-a'
> From hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>  - [deleted]         (none)     -> origin/feature-a
> ok 13 - subcommand sub sync
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	setup_repo hg hgrepo &&
> 	(
> 	cd hgrepo &&
> 	setup_repo hg sub_hg &&
> 	setup_repo git sub_git &&
> 	echo "sub_hg = sub_hg" > .hgsub &&
> 	echo "sub_git = [git]sub_git" >> .hgsub &&
> 	hg add .hgsub &&
> 	hg commit -m substate
> 	)
> 
> 	git clone hg::hgrepo gitrepo &&
> 
> 	(
> 	cd gitrepo &&
> 	git-hg-helper sub update --force &&
> 
> 		(
> 		cd sub_hg &&
> 		echo one > content_sub_hg &&
> 		git add content_sub_hg &&
> 		git commit -m one_sub_hg &&
> 		# detached HEAD
> 		git push origin HEAD:master &&
> 		# also fetch to ensure notes are updated
> 		git fetch origin
> 		) &&
> 
> 		(
> 		cd sub_git &&
> 		echo one > content_sub_git &&
> 		git add content_sub_git &&
> 		git commit -m one_sub_git &&
> 		# detached HEAD; push revision to other side ... anywhere
> 		git push origin HEAD:refs/heads/new
> 		)
> 	) &&
> 
> 	(
> 	cd gitrepo &&
> 	git-hg-helper sub upstate &&
> 	git diff &&
> 	git status --porcelain | grep .hgsubstate &&
> 	git add .hgsubstate &&
> 	git commit -m update_sub &&
> 	git push origin master
> 	) &&
> 
> 	hg clone hgrepo hgclone &&
> 
> 	(
> 	cd hgclone &&
> 	hg update
> 	) &&
> 
> 	check_branch hgclone default update_sub &&
> 	check_branch hgclone/sub_hg default one_sub_hg &&
> 	check hgclone/sub_git HEAD one_sub_git
> 
> ok 27 - fetch prune
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo hgrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo zero > content &&
> 	hg add content &&
> 	hg commit -m zero &&
> 	hg up -r null &&
> 	echo another > ocontent &&
> 	hg add ocontent &&
> 	hg commit -m one
> 	) &&
> 
> 	# -r 1 acts as master
> 	(
> 	git init --bare gitrepo && cd gitrepo &&
> 	git remote add origin hg::../hgrepo &&
> 	git fetch origin refs/heads/*:refs/heads/*
> 	) &&
> 
> 	(
> 	cd hgrepo &&
> 	hg up 0 &&
> 	echo two > content &&
> 	hg commit -m two
> 	) &&
> 
> 	# now master already exists
> 	# -r 2 becomes master head which has rev 0 as ancestor
> 	# so when importing (parentless) rev 0, a reset is needed
> 	# (to ensure rev 0 is not given a parent commit)
> 	(
> 	cd gitrepo &&
> 	git fetch origin &&
> 	git log --format="%s" origin/master > ../actual
> 	) &&
> 
> 	hg -R hgrepo log -r . -f --template "{desc}\n" > expected &&
> 	test_cmp actual expected
> 
> ok 28 - fetch multiple independent histories
> 
> expecting success: 
> 	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 bookmark
> 	) &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	check gitrepo HEAD a &&
> 	cd gitrepo &&
> 	git checkout --quiet -b bookmark &&
> 	git remote -v &&
> 	echo b > b &&
> 	git add b &&
> 	git commit -m b &&
> 	git push origin bookmark
> 	)
> 
> 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
> Cloning into 'gitrepo'...
> hint: Using 'master' as the name for the initial branch. This default branch name
> hint: is subject to change. To configure the initial branch name to use in all
> hint: of your new repositories, which will suppress this warning, call:
> hint: 
> hint: 	git config --global init.defaultBranch <name>
> hint: 
> hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
> hint: 'development'. The just-created branch can be renamed via this command:
> hint: 
> hint: 	git branch -m <name>
> Initialized empty Git repository in /<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo/sub_git/.git/
> [master (root-commit) e9a16bb] zero_sub_git
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 content_sub_git
> created new head
> hint: Using 'master' as the name for the initial branch. This default branch name
> hint: is subject to change. To configure the initial branch name to use in all
> hint: of your new repositories, which will suppress this warning, call:
> hint: 
> hint: 	git config --global init.defaultBranch <name>
> hint: 
> hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
> hint: 'development'. The just-created branch can be renamed via this command:
> hint: 
> hint: 	git branch -m <name>
> Initialized empty Git repository in /<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/gitrepo/
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark bookmark
> added 1 changesets with 1 changes to 1 files
> new changesets 1c2279b4d17a
> WARNING: Ignoring invalid bookmark 'bookmark'
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> origin	hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo (fetch)
> origin	hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo (push)
> [bookmark 77646bf] b
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 b
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 2 files (+1 heads)
> new changesets c420127a0a35:b2d3d71e6bce
> Cloning into 'gitrepo'...
> WARNING: Branch 'default' has more than one head, consider merging
> WARNING: Branch 'default' has more than one head, consider merging
> progress revision 1 'default' (0/1)
> From hg::../hgrepo
>  * [new branch]      branches/default -> branches/default
>  * [new branch]      master           -> master
>  * [new branch]      branches/default -> origin/branches/default
>  * [new branch]      master           -> origin/master
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> WARNING: Ignoring invalid bookmark 'bookmark'
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo
>  * [new branch]      bookmark -> bookmark
> 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
> ok 29 - clone remote with null bookmark, then push
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo one > content &&
> 	hg add content &&
> 	hg commit -m one &&
> 	echo two > content &&
> 	hg commit -m two
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 	hg -R hgrepo log --template "{node}\n\n" > expected &&
> 	git --git-dir=gitrepo/.git log --pretty="tformat:%N" --notes=hg > actual &&
> 	test_cmp expected actual
> 
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 3 changes to 3 files
> new changesets 9652f140995f:ae25227efe09
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> Cloning into './sub_hg'...
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets e138ec4d5f48
> WARNING: Branch 'default' has more than one head, consider merging
> progress revision walk 'branches/default' (2/2)
> progress revision 0 'default' (0/2)
> From hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>  + 4bcb31b...92dc8e3 branches/default -> origin/branches/default  (forced update)
>  + 4bcb31b...92dc8e3 master           -> origin/master  (forced update)
> Cloning into 'gitrepo'...
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets ca2a7900fef7
> ok 28 - fetch multiple independent histories
> 
> expecting success: 
> 	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 bookmark
> 	) &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	check gitrepo HEAD a &&
> 	cd gitrepo &&
> 	git checkout --quiet -b bookmark &&
> 	git remote -v &&
> 	echo b > b &&
> 	git add b &&
> 	git commit -m b &&
> 	git push origin bookmark
> 	)
> 
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> Cloning into './sub_git'...
> done.
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> [detached HEAD e6f8253] one_sub_hg
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 1 files
> new changesets e5f3b3d1542d:32bce11b8d0c
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> ok 30 - notes
> 
> checking known breakage: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo one > content &&
> 	hg add content &&
> 	hg commit -m one
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 
> 	(
> 	cd gitrepo &&
> 	echo two > content &&
> 	git commit -a -m two &&
> 	git push
> 	) &&
> 
> 	hg -R hgrepo log --template "{node}\n\n" > expected &&
> 	git --git-dir=gitrepo/.git log --pretty="tformat:%N" --notes=hg > actual &&
> 	test_cmp expected actual
> 
> To hg::/<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo/sub_hg
>    fffffff..e6f8253  HEAD -> master
> Cloning into 'gitrepo'...
> no changes found
> 1 local changesets published
> From hg::/<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo/sub_hg
>    d4ac8a6..e6f8253  branches/default -> origin/branches/default
> [detached HEAD cea1af1] one_sub_git
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> To /<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo/sub_git
>  * [new branch]      HEAD -> new
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark bookmark
> added 1 changesets with 1 changes to 1 files
> new changesets 542a87136008
> WARNING: Ignoring invalid bookmark 'bookmark'
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> Cloning into 'gitrepo'...
> origin	hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo (fetch)
> origin	hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo (push)
> [bookmark 8006277] b
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 b
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> Updating ./sub_hg to 9eac49b268c6bf32a18b8804b12c2097f2c0f7f2 [git e6f8253]
> Updating ./sub_git to cea1af1c0bdaae94623e5a8e4d85c13835bb44b6 [git cea1af1]
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets c114161061e4
> diff --git a/.hgsubstate b/.hgsubstate
> index 3b796bb..14800b8 100644
> --- a/.hgsubstate
> +++ b/.hgsubstate
> @@ -1,2 +1,2 @@
> -e9a16bb7c08361f85ab0002e4094b4229fefb384 sub_git
> -ca2a7900fef76fe5077890d2499a537d178c46df sub_hg
> +cea1af1c0bdaae94623e5a8e4d85c13835bb44b6 sub_git
> +9eac49b268c6bf32a18b8804b12c2097f2c0f7f2 sub_hg
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
>  M .hgsubstate
> [master fc624b7] update_sub
>  Author: A U Thor <author@example.com>
>  1 file changed, 2 insertions(+), 2 deletions(-)
> no changes found
> WARNING: Ignoring invalid bookmark 'bookmark'
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> [master 1c20d32] two
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>  * [new branch]      bookmark -> bookmark
> ok 29 - clone remote with null bookmark, then push
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo one > content &&
> 	hg add content &&
> 	hg commit -m one &&
> 	echo two > content &&
> 	hg commit -m two
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 	hg -R hgrepo log --template "{node}\n\n" > expected &&
> 	git --git-dir=gitrepo/.git log --pretty="tformat:%N" --notes=hg > actual &&
> 	test_cmp expected actual
> 
> no changes found
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> To hg::/<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo
>    fffffff..fc624b7  master -> master
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo
>    506019b..1c20d32  master -> master
> Cloning into '/<<PKGBUILDDIR>>/test/trash directory.helper/hgclone/sub_git'...
> done.
> Switched to a new branch 'new'
> --- expected	2022-02-18 20:40:58.831410688 +0000
> +++ actual	2022-02-18 20:40:58.851410571 +0000
> @@ -1,4 +1,3 @@
> -7d3eb51028f0bdca1ed8c7c10a65b7905507f865
>  
>  c114161061e4c193b2257f4bc5aa3547efd8bf68
>  
> not ok 31 - push updates notes # TODO known breakage
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo one > content &&
> 	hg add content &&
> 	hg commit -m one
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 
> 	(
> 	cd gitrepo &&
> 	echo two > content &&
> 	git commit -a -m two &&
> 	git push origin master &&
> 	git branch feature-a &&
> 	git push origin feature-a
> 	) &&
> 
> 	check_bookmark hgrepo feature-a two
> 
> updating to branch default
> cloning subrepo sub_git from /<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo/sub_git
> cloning subrepo sub_hg from /<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo/sub_hg
> 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
> Cloning into 'gitrepo'...
> 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 1 files
> new changesets c114161061e4:c09ec4028229
> Cloning into 'gitrepo'...
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> ok 14 - subcommand sub addstate
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	setup_repo hg hgrepo &&
> 	(
> 	cd hgrepo &&
> 	setup_repo hg sub_hg_a &&
> 	setup_repo hg sub_hg_b &&
> 	setup_repo git sub_git &&
> 	echo "sub_hg_a = sub_hg_a" > .hgsub &&
> 	echo "sub_hg_b = sub_hg_b" >> .hgsub &&
> 	echo "sub_git = [git]sub_git" >> .hgsub &&
> 	hg add .hgsub &&
> 	hg commit -m substate
> 	)
> 
> 	git clone hg::hgrepo gitrepo &&
> 
> 	(
> 	cd gitrepo &&
> 	git-hg-helper sub update --force sub_hg_a  &&
> 	git-hg-helper sub update --force sub_git &&
> 		(
> 		# advance and add a tag to the git repo
> 		cd sub_git &&
> 		echo one > content_sub_git &&
> 		git add content_sub_git &&
> 		git commit -m one_sub_git &&
> 		git tag feature-a
> 		) &&
> 
> 	git-hg-helper sub status --cached > output &&
> 	cat output &&
> 	grep "^ .*sub_hg_a (.*master.*)$" output &&
> 	grep "^-.*sub_hg_b$" output &&
> 	grep "^+.*sub_git (feature-a~1)$" output &&
> 	git-hg-helper sub status sub_git > output &&
> 	cat output &&
> 	grep "^+.*sub_git (feature-a)$" output > actual &&
> 	test_cmp output actual
> 	)
> 
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> ok 30 - notes
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo one > content &&
> 	hg add content &&
> 	hg commit -m one
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 
> 	(
> 	cd gitrepo &&
> 	echo two > content &&
> 	git commit -a -m two &&
> 	git push
> 	) &&
> 
> 	hg -R hgrepo log --template "{node}\n\n" > expected &&
> 	git --git-dir=gitrepo/.git log --pretty="tformat:%N" --notes=hg > actual &&
> 	test_cmp expected actual
> 
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 352e8838ab89
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> [master d6df3f1] two
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo
>    a2db847..d6df3f1  master -> master
> Cloning into 'gitrepo'...
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> 1 local changesets published
> searching for changes
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo
>  * [new branch]      feature-a -> feature-a
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 352e8838ab89
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> [master d6df3f1] two
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> ok 32 - push bookmark without changesets
> 
> main.t: 1096: test_expect_unstable: not found
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo one > content &&
> 	hg add content &&
> 	hg commit -m one &&
> 	hg branch feature &&
> 	echo two > content &&
> 	hg commit -m two &&
> 	hg update default &&
> 	echo three > content &&
> 	hg commit -m three
> 	) &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	git merge -m Merge -Xtheirs origin/branches/feature &&
> 	git push
> 	) &&
> 
> 	cat > expected <<-EOF &&
> 	Merge
> 	three
> 	two
> 	one
> 	EOF
> 	hg -R hgrepo log --template "{desc}\n" > actual &&
> 	test_cmp expected actual
> 
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>    fffffff..d6df3f1  master -> master
> hint: Using 'master' as the name for the initial branch. This default branch name
> hint: is subject to change. To configure the initial branch name to use in all
> hint: of your new repositories, which will suppress this warning, call:
> hint: 
> hint: 	git config --global init.defaultBranch <name>
> hint: 
> hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
> hint: 'development'. The just-created branch can be renamed via this command:
> hint: 
> hint: 	git branch -m <name>
> Initialized empty Git repository in /<<PKGBUILDDIR>>/test/trash directory.helper/hgrepo/sub_git/.git/
> [master (root-commit) e9a16bb] zero_sub_git
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100644 content_sub_git
> ok 31 - push updates notes
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo one > content &&
> 	hg add content &&
> 	hg commit -m one
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 
> 	(
> 	cd gitrepo &&
> 	echo two > content &&
> 	git commit -a -m two &&
> 	git push origin master &&
> 	git branch feature-a &&
> 	git push origin feature-a
> 	) &&
> 
> 	check_bookmark hgrepo feature-a two
> 
> marked working directory as branch feature
> (branches are permanent and global, did you want a bookmark?)
> Cloning into 'gitrepo'...
> Cloning into 'gitrepo'...
> 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 3 changes to 3 files
> new changesets 8b64088dcab4:6dcaaf5afe23
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> Cloning into 'gitrepo'...
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets cac73f8dbe91
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> [master 3ac2ce2] two
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> Cloning into './sub_hg_a'...
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> added 3 changesets with 3 changes to 1 files (+1 heads)
> new changesets cac73f8dbe91:fb26ec2d81eb
> progress revision walk 'bookmarks/master' (2/2)
> progress revision 0 'master' (0/2)
> progress revision 1 'feature' (0/1)
> Auto-merging content
> Merge made by the 'ort' strategy.
>  content | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>    fffffff..3ac2ce2  master -> master
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets e3d5c2834e84
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files (-1 heads)
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo
>    fcc25f9..3baaff8  master -> master
> no changes found
> 1 local changesets published
> searching for changes
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>  * [new branch]      feature-a -> feature-a
> ok 33 - push merged named branch
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo one > content &&
> 	hg add content &&
> 	hg commit -m one
> 	) &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	git tag v1.0 &&
> 	git push --tags
> 	) &&
> 
> 	echo "C O Mitter <committer@example.com>" > expected &&
> 	hg -R hgrepo log --template "{author}\n" -r tip > actual &&
> 	test_cmp expected actual
> 
> Cloning into './sub_git'...
> done.
> [detached HEAD cea1af1] one_sub_git
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> ok 32 - push bookmark without changesets
> 
> main-push.t: 1096: /<<PKGBUILDDIR>>/test/main.t: test_expect_unstable: not found
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo one > content &&
> 	hg add content &&
> 	hg commit -m one &&
> 	hg branch feature &&
> 	echo two > content &&
> 	hg commit -m two &&
> 	hg update default &&
> 	echo three > content &&
> 	hg commit -m three
> 	) &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	git merge -m Merge -Xtheirs origin/branches/feature &&
> 	git push
> 	) &&
> 
> 	cat > expected <<-EOF &&
> 	Merge
> 	three
> 	two
> 	one
> 	EOF
> 	hg -R hgrepo log --template "{desc}\n" > actual &&
> 	test_cmp expected actual
> 
> Cloning into 'gitrepo'...
>  e61485199b33e6181dec322537359dd02872e0d6 ./sub_hg_a (heads/master)
> -60f7b065f26ae425d6df5ad8247b8592ab307564[hg]  ./sub_hg_b
> +e9a16bb7c08361f85ab0002e4094b4229fefb384 ./sub_git (feature-a~1)
>  e61485199b33e6181dec322537359dd02872e0d6 ./sub_hg_a (heads/master)
> -60f7b065f26ae425d6df5ad8247b8592ab307564[hg]  ./sub_hg_b
> +e9a16bb7c08361f85ab0002e4094b4229fefb384 ./sub_git (feature-a~1)
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> marked working directory as branch feature
> (branches are permanent and global, did you want a bookmark?)
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets eabc9f3d4462
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> +cea1af1c0bdaae94623e5a8e4d85c13835bb44b6 ./sub_git (feature-a)
> ok 15 - subcommand sub status
> 
> # passed all 15 test(s)
> 1..15
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo
>  * [new tag]         v1.0 -> v1.0
> Cloning into 'gitrepo'...
> ok 34 - light tag sets author
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo one > content &&
> 	hg add content &&
> 	hg commit -m one &&
> 	hg branch feature &&
> 	echo two > content &&
> 	hg commit -m two
> 	) &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	git branch &&
> 	git checkout branches/feature &&
> 	git tag v1.0 &&
> 	git push --tags
> 	) &&
> 
> 	echo feature > expected &&
> 	hg -R hgrepo log --template="{branch}\n" -r tip > actual &&
> 	test_cmp expected actual
> 
> adding changesets
> adding manifests
> adding file changes
> added 3 changesets with 3 changes to 1 files (+1 heads)
> new changesets eabc9f3d4462:801bf9976d22
> progress revision walk 'bookmarks/master' (2/2)
> progress revision 0 'master' (0/2)
> progress revision 1 'feature' (0/1)
> Auto-merging content
> Merge made by the 'ort' strategy.
>  content | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files (-1 heads)
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>    fffffff..99da286  master -> master
> marked working directory as branch feature
> (branches are permanent and global, did you want a bookmark?)
> Cloning into 'gitrepo'...
> ok 33 - push merged named branch
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo one > content &&
> 	hg add content &&
> 	hg commit -m one
> 	) &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	git tag v1.0 &&
> 	git push --tags
> 	) &&
> 
> 	echo "C O Mitter <committer@example.com>" > expected &&
> 	hg -R hgrepo log --template "{author}\n" -r tip > actual &&
> 	test_cmp expected actual
> 
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 1 files
> new changesets fbafc92c7caf:9022d0a78937
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> progress revision 1 'feature' (0/1)
> * master
> Switched to a new branch 'branches/feature'
> branch 'branches/feature' set up to track 'origin/branches/feature'.
> Cloning into 'gitrepo'...
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo
>  * [new tag]         v1.0 -> v1.0
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets f05ed8370407
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> ok 35 - push tag different branch
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 
> 	echo test > test_file &&
> 	hg add test_file &&
> 	hg commit -m add &&
> 
> 	hg rm test_file &&
> 	hg commit -m remove
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 	check_files gitrepo
> 
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>  * [new tag]         v1.0 -> v1.0
> ok 34 - light tag sets author
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo one > content &&
> 	hg add content &&
> 	hg commit -m one &&
> 	hg branch feature &&
> 	echo two > content &&
> 	hg commit -m two
> 	) &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	git branch &&
> 	git checkout branches/feature &&
> 	git tag v1.0 &&
> 	git push --tags
> 	) &&
> 
> 	echo feature > expected &&
> 	hg -R hgrepo log --template="{branch}\n" -r tip > actual &&
> 	test_cmp expected actual
> 
> Cloning into 'gitrepo'...
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> marked working directory as branch feature
> (branches are permanent and global, did you want a bookmark?)
> added 2 changesets with 1 changes to 1 files
> new changesets 5a74ba9b23be:be9ea4427133
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> ok 36 - cloning a removed file works
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 
> 	echo test > dir_or_file &&
> 	hg add dir_or_file &&
> 	hg commit -m add &&
> 
> 	hg rm dir_or_file &&
> 	mkdir dir_or_file &&
> 	echo test > dir_or_file/test_file &&
> 	hg add dir_or_file/test_file &&
> 	hg commit -m replase
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 	check_files gitrepo "dir_or_file/test_file"
> 
> Cloning into 'gitrepo'...
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 1 files
> new changesets beb599c076ca:72bb26e221a6
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> progress revision 1 'feature' (0/1)
> * master
> Switched to a new branch 'branches/feature'
> branch 'branches/feature' set up to track 'origin/branches/feature'.
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>  * [new tag]         v1.0 -> v1.0
> Cloning into 'gitrepo'...
> ok 35 - push tag different branch
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 
> 	echo test > test_file &&
> 	hg add test_file &&
> 	hg commit -m add &&
> 
> 	hg rm test_file &&
> 	hg commit -m remove
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 	check_files gitrepo
> 
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 2 files
> new changesets ca9958de6e6a:0e44ebd4d171
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> ok 37 - cloning a file replaced with a directory
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 
> 	mkdir dir_or_file &&
> 	echo test > dir_or_file/test_file &&
> 	hg add dir_or_file/test_file &&
> 	hg commit -m add &&
> 
> 	hg rm dir_or_file/test_file &&
> 	echo test > dir_or_file &&
> 	hg add dir_or_file &&
> 	hg commit -m add &&
> 
> 	hg rm dir_or_file
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 	check_files gitrepo "dir_or_file"
> 
> Cloning into 'gitrepo'...
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 1 changes to 1 files
> new changesets f8cccb4408ff:caa050ba446f
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> ok 36 - cloning a removed file works
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 
> 	echo test > dir_or_file &&
> 	hg add dir_or_file &&
> 	hg commit -m add &&
> 
> 	hg rm dir_or_file &&
> 	mkdir dir_or_file &&
> 	echo test > dir_or_file/test_file &&
> 	hg add dir_or_file/test_file &&
> 	hg commit -m replase
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 	check_files gitrepo "dir_or_file/test_file"
> 
> Cloning into 'gitrepo'...
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 2 files
> new changesets a78ff7bd3db9:b5247cb41ee6
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> ok 38 - clone replace directory with a file
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 
> 	touch test.txt &&
> 	hg add test.txt &&
> 	hg commit -m master &&
> 	hg branch parent &&
> 	echo test >test.txt &&
> 	hg commit -m test &&
> 	hg branch parent/child &&
> 	echo test1 >test.txt &&
> 	hg commit -m test1
> 	) &&
> 
> 	git clone -c remote-hg.ignore-name=child "hg::hgrepo" gitrepo &&
> 	check_files gitrepo "test.txt"
> 
> Cloning into 'gitrepo'...
> marked working directory as branch parent
> (branches are permanent and global, did you want a bookmark?)
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 2 files
> new changesets afe355f78563:1a5f94421cea
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> ok 37 - cloning a file replaced with a directory
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 
> 	mkdir dir_or_file &&
> 	echo test > dir_or_file/test_file &&
> 	hg add dir_or_file/test_file &&
> 	hg commit -m add &&
> 
> 	hg rm dir_or_file/test_file &&
> 	echo test > dir_or_file &&
> 	hg add dir_or_file &&
> 	hg commit -m add &&
> 
> 	hg rm dir_or_file
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 	check_files gitrepo "dir_or_file"
> 
> marked working directory as branch parent/child
> Cloning into 'gitrepo'...
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> added 3 changesets with 3 changes to 1 files
> new changesets 5f37bd96e29b:fbfa9fcc39bf
> WARNING: Ignoring matched branch parent/child
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> progress revision 1 'parent' (0/1)
> ok 39 - clone can ignore invalid refnames
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo one > content &&
> 	hg add content &&
> 	hg commit -m one
> 	) &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	git tag -m "Version 1.0" v1.0 &&
> 	git push --tags
> 	) &&
> 
> 	cat > expected <<-\EOF &&
> 	tip:Version 1.0:C O Mitter <committer@example.com>
> 	v1.0:one:H G Wells <wells@example.com>
> 	EOF
> 
> 	hg -R hgrepo log --template "{tags}:{desc}:{author}\n" > actual &&
> 
> 	test_cmp expected actual
> 
> Cloning into 'gitrepo'...
> Cloning into 'gitrepo'...
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 2 files
> new changesets 4e66813c5c25:ee51a0f0439b
> progress revision walk 'bookmarks/master' (1/1)
> progress revision 0 'master' (0/2)
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> ok 38 - clone replace directory with a file
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 
> 	touch test.txt &&
> 	hg add test.txt &&
> 	hg commit -m master &&
> 	hg branch parent &&
> 	echo test >test.txt &&
> 	hg commit -m test &&
> 	hg branch parent/child &&
> 	echo test1 >test.txt &&
> 	hg commit -m test1
> 	) &&
> 
> 	git clone -c remote-hg.ignore-name=child "hg::hgrepo" gitrepo &&
> 	check_files gitrepo "test.txt"
> 
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 103edb0ae1d0
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo
>  * [new tag]         v1.0 -> v1.0
> marked working directory as branch parent
> (branches are permanent and global, did you want a bookmark?)
> ok 40 - push annotated tag
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo1 gitrepo2" &&
> 
> 	hg init hgrepo &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo1 &&
> 	cd gitrepo1 &&
> 	echo two >> content &&
> 	git add content &&
> 	git commit -m two --date="2016-09-26 00:00:00 -0230" &&
> 	git push
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo2 &&
> 
> 	git --git-dir=gitrepo1/.git log -1 --format="%ai" > expected &&
> 	git --git-dir=gitrepo2/.git log -1 --format="%ai" > actual &&
> 	test_cmp expected actual
> 
> Cloning into 'gitrepo1'...
> marked working directory as branch parent/child
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> no changes found
> warning: You appear to have cloned an empty repository.
> Cloning into 'gitrepo'...
> [master (root-commit) 9f40cc0] two
>  Author: A U Thor <author@example.com>
>  Date: Mon Sep 26 00:00:00 2016 -0230
>  1 file changed, 1 insertion(+)
>  create mode 100644 content
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> added 3 changesets with 3 changes to 1 files
> new changesets 54ff8cd4985f:888fa7bd4eca
> no changes found
> WARNING: Ignoring matched branch parent/child
> searching for changes
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> progress revision 1 'parent' (0/1)
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main/tmp/hgrepo
>  * [new branch]      master -> master
> Cloning into 'gitrepo2'...
> ok 39 - clone can ignore invalid refnames
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo one > content &&
> 	hg add content &&
> 	hg commit -m one
> 	) &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo &&
> 	cd gitrepo &&
> 	git tag -m "Version 1.0" v1.0 &&
> 	git push --tags
> 	) &&
> 
> 	cat > expected <<-\EOF &&
> 	tip:Version 1.0:C O Mitter <committer@example.com>
> 	v1.0:one:H G Wells <wells@example.com>
> 	EOF
> 
> 	hg -R hgrepo log --template "{tags}:{desc}:{author}\n" > actual &&
> 
> 	test_cmp expected actual
> 
> WARNING: capability_push is disabled, only do so when really sure
> WARNING: various enhanced features might fail in subtle ways
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets e522f351d13b
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> ok 41 - timezone issues with negative offsets
> 
> # still have 2 known breakage(s)
> # failed 1 among remaining 39 test(s)
> 1..41
> make[3]: *** [Makefile:14: main.t] Error 1
> make[3]: *** Waiting for unfinished jobs....
> Cloning into 'gitrepo'...
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 0ead64d4452a
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>  * [new tag]         v1.0 -> v1.0
> ok 40 - push annotated tag
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo1 gitrepo2" &&
> 
> 	hg init hgrepo &&
> 
> 	(
> 	git clone "hg::hgrepo" gitrepo1 &&
> 	cd gitrepo1 &&
> 	echo two >> content &&
> 	git add content &&
> 	git commit -m two --date="2016-09-26 00:00:00 -0230" &&
> 	git push
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo2 &&
> 
> 	git --git-dir=gitrepo1/.git log -1 --format="%ai" > expected &&
> 	git --git-dir=gitrepo2/.git log -1 --format="%ai" > actual &&
> 	test_cmp expected actual
> 
> Cloning into 'gitrepo1'...
> no changes found
> warning: You appear to have cloned an empty repository.
> [master (root-commit) 9f40cc0] two
>  Author: A U Thor <author@example.com>
>  Date: Mon Sep 26 00:00:00 2016 -0230
>  1 file changed, 1 insertion(+)
>  create mode 100644 content
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>  * [new branch]      master -> master
> Cloning into 'gitrepo2'...
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets e522f351d13b
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> ok 41 - timezone issues with negative offsets
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo* gitrepo*" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo zero > content &&
> 	hg add content &&
> 	hg commit -m zero
> 	hg bookmark feature-a
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 	check_bookmark hgrepo feature-a zero &&
> 
> 	(
> 	cd gitrepo &&
> 	git push --quiet origin :feature-a
> 	) &&
> 
> 	check_bookmark hgrepo feature-a 
> 
> Cloning into 'gitrepo'...
> adding changesets
> adding manifests
> adding file changes
> adding remote bookmark feature-a
> added 1 changesets with 1 changes to 1 files
> new changesets ef4145728a16
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> no changes found
> error: refusing to update ref with bad name 'hg/origin/refs/heads/feature-a'
> ok 42 - remote delete bookmark
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo" &&
> 
> 	(
> 	hg init hgrepo &&
> 	cd hgrepo &&
> 	echo zero > content &&
> 	hg add content &&
> 	hg commit -m zero
> 	) &&
> 
> 	git clone "hg::hgrepo" gitrepo &&
> 
> 	(
> 	cd gitrepo &&
> 	echo one > content &&
> 	git commit -a -m one &&
> 	git push --quiet origin master:feature-b &&
> 	git push --quiet origin master^:refs/heads/feature-a
> 	) &&
> 
> 	check_bookmark hgrepo feature-a zero &&
> 	check_bookmark hgrepo feature-b one &&
> 
> 	(
> 	cd gitrepo &&
> 	git push --quiet origin master:feature-a
> 	) &&
> 
> 	check_bookmark hgrepo feature-a one
> 
> Cloning into 'gitrepo'...
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 7977c8996d5a
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> [master e024dd0] one
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> no changes found
> adding remote bookmark feature-b
> 1 local changesets published
> searching for changes
> no changes found
> adding remote bookmark feature-a
> searching for changes
> ok 43 - source:dest bookmark
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	setup_check_hg_commits_repo &&
> 
> 	(
> 	cd gitrepo &&
> 	git fetch origin &&
> 	git reset --hard origin/master &&
> 	! git push second master 2>../error
> 	)
> 
> 	cat error &&
> 	grep rejected error | grep hg
> 
> Cloning into 'gitrepo'...
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 3afbeb941afd
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> updating to branch default
> 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> no changes found
> progress revision walk 'branches/default' (0/0)
> progress revision 0 'default' (0/1)
> From hg::../hgrepo.second
>  * [new branch]      branches/default -> second/branches/default
>  * [new branch]      master           -> second/master
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 5 changesets with 5 changes to 2 files
> new changesets 4836ce160eff:392667d2ff1f
> progress revision 1 'default' (0/5)
> From hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>    0b5b758..5509eb9  master           -> origin/master
>    0b5b758..5509eb9  branches/default -> origin/branches/default
> HEAD is now at 5509eb9 restored
> no changes found
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo.second
>  ! [remote rejected] master -> master (rejected not pushing hg based commit a64b3fe589250b05eb776601a3a653c5eda3908f)
> error: failed to push some refs to 'hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo.second'
>  ! [remote rejected] master -> master (rejected not pushing hg based commit a64b3fe589250b05eb776601a3a653c5eda3908f)
> ok 44 - check-hg-commits with fail mode
> 
> expecting success: 
> 	check_hg_commits_push
> 
> Cloning into 'gitrepo'...
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> updating to branch default
> 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> progress revision walk 'branches/default' (0/0)
> progress revision 0 'default' (0/1)
> From hg::../hgrepo.second
>  * [new branch]      branches/default -> second/branches/default
>  * [new branch]      master           -> second/master
> progress revision 1 'default' (0/5)
> From hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>    8cbdc5a..f56ec8b  master           -> origin/master
>    8cbdc5a..f56ec8b  branches/default -> origin/branches/default
> HEAD is now at f56ec8b restored
> WARNING: Pushing hg changeset 379adfd6ad34cd4ffb64adfc2ca9832ac1c09db9 for 9dec641db52d04ca009555d920d70d273cc25445
> WARNING: Pushing hg changeset 96471208e32db1b76614e6e2c20efae5a4c3a75d for 75ae81cebacf9aa24ccf6d269f32c85f0b7b9118
> WARNING: Pushing hg changeset 4b83ccdfaf5f9c3ff5074606e098f94db49092c4 for b060fa70cefe714e9870765f0a99bd6e5b40bbd0
> WARNING: Pushing hg changeset fba624d686531b3e2b8752a36886acdcaa65f0ba for 5ba8d26465beaf07c29f7a925b1477483c0ab6d4
> WARNING: Pushing hg changeset c5fecd96cd28175108bdcd6241be1443f700d71f for f56ec8b5b927f5b1d6576f5e0ba6600a1dc84485
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo.second
>    fffffff..f56ec8b  master -> master
> WARNING: Pushing hg changeset 379adfd6ad34cd4ffb64adfc2ca9832ac1c09db9 for 9dec641db52d04ca009555d920d70d273cc25445
> WARNING: Pushing hg changeset 96471208e32db1b76614e6e2c20efae5a4c3a75d for 75ae81cebacf9aa24ccf6d269f32c85f0b7b9118
> WARNING: Pushing hg changeset 4b83ccdfaf5f9c3ff5074606e098f94db49092c4 for b060fa70cefe714e9870765f0a99bd6e5b40bbd0
> WARNING: Pushing hg changeset fba624d686531b3e2b8752a36886acdcaa65f0ba for 5ba8d26465beaf07c29f7a925b1477483c0ab6d4
> WARNING: Pushing hg changeset c5fecd96cd28175108bdcd6241be1443f700d71f for f56ec8b5b927f5b1d6576f5e0ba6600a1dc84485
> ok 45 - check-hg-commits with push mode - no local proxy
> 
> expecting success: 
> 	check_hg_commits_push
> 
> Cloning into 'gitrepo'...
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 071dda3df381
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> updating to branch default
> 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> no changes found
> progress revision walk 'branches/default' (0/0)
> progress revision 0 'default' (0/1)
> From hg::../hgrepo.second
>  * [new branch]      branches/default -> second/branches/default
>  * [new branch]      master           -> second/master
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 5 changesets with 5 changes to 2 files
> new changesets 432e32713ea2:3a672d952d2c
> progress revision 1 'default' (0/5)
> From hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo
>    de4bd61..690169c  master           -> origin/master
>    de4bd61..690169c  branches/default -> origin/branches/default
> HEAD is now at 690169c restored
> no changes found
> WARNING: Using hg changeset 432e32713ea2c6dde8dc037e98f1b3288d2d0ebb for 2cf443eb61769675c19ceb600f7391c854363191
> WARNING: Using hg changeset 3b954ff36f6cf1db25d0eaefb93a1507ee41b26a for 46b4aecbd32f10d28d314c0931df201f31ceef77
> WARNING: Using hg changeset 852aae30c660f09fb7b01637ff49974d37241641 for 645afb2ffa1645a23b446c5ab1b69b21135f4b12
> WARNING: Using hg changeset 8ddf4b10a8994af0a3024ff5ee59afe995e46e38 for 67bed509b8fd98f8cc1ec6acffac539eb1408f3d
> WARNING: Using hg changeset 3a672d952d2c1eabb7db4eb6547ad07ae8ea53ab for 690169ccb1968b202aa0fe3565a791ea8c1d41a5
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 5 changesets with 5 changes to 2 files
> To hg::/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/hgrepo.second
>    fffffff..690169c  master -> master
> WARNING: Using hg changeset 432e32713ea2c6dde8dc037e98f1b3288d2d0ebb for 2cf443eb61769675c19ceb600f7391c854363191
> WARNING: Using hg changeset 3b954ff36f6cf1db25d0eaefb93a1507ee41b26a for 46b4aecbd32f10d28d314c0931df201f31ceef77
> WARNING: Using hg changeset 852aae30c660f09fb7b01637ff49974d37241641 for 645afb2ffa1645a23b446c5ab1b69b21135f4b12
> WARNING: Using hg changeset 8ddf4b10a8994af0a3024ff5ee59afe995e46e38 for 67bed509b8fd98f8cc1ec6acffac539eb1408f3d
> WARNING: Using hg changeset 3a672d952d2c1eabb7db4eb6547ad07ae8ea53ab for 690169ccb1968b202aa0fe3565a791ea8c1d41a5
> ok 46 - check-hg-commits with push mode - with local proxy
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	setup_check_shared_marks_repo &&
> 
> 	(
> 	cd gitrepo &&
> 	check_marks .git/hg y &&
> 	check_marks .git/hg/origin n &&
> 	check_marks .git/hg/second n
> 	)
> 
> Cloning into 'gitrepo'...
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 2b48d1103016
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> no changes found
> From hg::../hgrepo
>  * [new branch]      branches/default -> second/branches/default
>  * [new branch]      master           -> second/master
> total 28
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 .
> drwxr-xr-x 9 user42 user42 4096 Feb 18 20:41 ..
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 .hg
> -rw-r--r-- 1 user42 user42  132 Feb 18 20:41 marks-git
> -rw-r--r-- 1 user42 user42  116 Feb 18 20:41 marks-hg
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 origin
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 second
> total 16
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 .
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 ..
> drwxr-xr-x 3 user42 user42 4096 Feb 18 20:41 clone
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 refs
> total 16
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 .
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 ..
> drwxr-xr-x 3 user42 user42 4096 Feb 18 20:41 clone
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 refs
> ok 47 - shared-marks unset
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	git config --global remote-hg.shared-marks true &&
> 	setup_check_shared_marks_repo &&
> 
> 	(
> 	cd gitrepo &&
> 	check_marks .git/hg y &&
> 	check_marks .git/hg/origin n &&
> 	check_marks .git/hg/second n
> 	) &&
> 
> 	git config --global remote-hg.shared-marks false &&
> 	(
> 		cd gitrepo &&
> 		git fetch origin &&
> 		check_marks .git/hg n &&
> 		check_marks .git/hg/origin y &&
> 		check_marks .git/hg/second y
> 	)
> 
> Cloning into 'gitrepo'...
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets d9ab48878b59
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> no changes found
> From hg::../hgrepo
>  * [new branch]      branches/default -> second/branches/default
>  * [new branch]      master           -> second/master
> total 28
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 .
> drwxr-xr-x 9 user42 user42 4096 Feb 18 20:41 ..
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 .hg
> -rw-r--r-- 1 user42 user42  132 Feb 18 20:41 marks-git
> -rw-r--r-- 1 user42 user42  116 Feb 18 20:41 marks-hg
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 origin
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 second
> total 16
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 .
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 ..
> drwxr-xr-x 3 user42 user42 4096 Feb 18 20:41 clone
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 refs
> total 16
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 .
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 ..
> drwxr-xr-x 3 user42 user42 4096 Feb 18 20:41 clone
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 refs
> WARNING: seeded marks of origin with shared; performing gc
> ERROR: found both .git/hg/origin/marks-git and .git/hg/marks-git
> WARNING: gc for origin failed
> WARNING: seeded marks of second with shared; performing gc
> Loading hg marks ...
> Loading git marks ...
> Performing garbage collection on git commits ...
> Computing marks intersection ...
> Including notes commits ...
> Writing hg marks ...
> Writing git marks ...
> no changes found
> total 20
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 .
> drwxr-xr-x 9 user42 user42 4096 Feb 18 20:41 ..
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 .hg
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 origin
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 second
> total 24
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 .
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 ..
> drwxr-xr-x 3 user42 user42 4096 Feb 18 20:41 clone
> -rw-r--r-- 1 user42 user42  132 Feb 18 20:41 marks-git
> -rw-r--r-- 1 user42 user42  116 Feb 18 20:41 marks-hg
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 refs
> total 20
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 .
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 ..
> drwxr-xr-x 3 user42 user42 4096 Feb 18 20:41 clone
> -rw-r--r-- 1 user42 user42    0 Feb 18 20:41 marks-git
> -rw-r--r-- 1 user42 user42   71 Feb 18 20:41 marks-hg
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 refs
> ok 48 - shared-marks set to unset
> 
> expecting success: 
> 	test_when_finished "rm -rf gitrepo* hgrepo*" &&
> 
> 	git config --global remote-hg.shared-marks false &&
> 	setup_check_shared_marks_repo &&
> 
> 	(
> 	cd gitrepo &&
> 	check_marks .git/hg n &&
> 	check_marks .git/hg/origin y &&
> 	check_marks .git/hg/second y
> 	) &&
> 
> 	git config --global --unset remote-hg.shared-marks &&
> 	(
> 		cd gitrepo &&
> 		git fetch origin &&
> 		check_marks .git/hg n &&
> 		check_marks .git/hg/origin y &&
> 		check_marks .git/hg/second y
> 	) &&
> 
> 	git config --global remote-hg.shared-marks true &&
> 	(
> 		cd gitrepo &&
> 		git fetch origin &&
> 		check_marks .git/hg y &&
> 		check_marks .git/hg/origin n &&
> 		check_marks .git/hg/second n
> 	)
> 
> Cloning into 'gitrepo'...
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> new changesets 1964fa3f1da3
> progress revision walk 'bookmarks/master' (0/0)
> progress revision 0 'master' (0/1)
> no changes found
> progress revision walk 'branches/default' (0/0)
> progress revision 0 'default' (0/1)
> From hg::../hgrepo
>  * [new branch]      branches/default -> second/branches/default
>  * [new branch]      master           -> second/master
> total 20
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 .
> drwxr-xr-x 9 user42 user42 4096 Feb 18 20:41 ..
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 .hg
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 origin
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 second
> total 24
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 .
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 ..
> drwxr-xr-x 3 user42 user42 4096 Feb 18 20:41 clone
> -rw-r--r-- 1 user42 user42  132 Feb 18 20:41 marks-git
> -rw-r--r-- 1 user42 user42  116 Feb 18 20:41 marks-hg
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 refs
> total 24
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 .
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 ..
> drwxr-xr-x 3 user42 user42 4096 Feb 18 20:41 clone
> -rw-r--r-- 1 user42 user42  132 Feb 18 20:41 marks-git
> -rw-r--r-- 1 user42 user42  116 Feb 18 20:41 marks-hg
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 refs
> no changes found
> total 20
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 .
> drwxr-xr-x 9 user42 user42 4096 Feb 18 20:41 ..
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 .hg
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 origin
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 second
> total 24
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 .
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 ..
> drwxr-xr-x 3 user42 user42 4096 Feb 18 20:41 clone
> -rw-r--r-- 1 user42 user42  132 Feb 18 20:41 marks-git
> -rw-r--r-- 1 user42 user42  116 Feb 18 20:41 marks-hg
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 refs
> total 24
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 .
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 ..
> drwxr-xr-x 3 user42 user42 4096 Feb 18 20:41 clone
> -rw-r--r-- 1 user42 user42  132 Feb 18 20:41 marks-git
> -rw-r--r-- 1 user42 user42  116 Feb 18 20:41 marks-hg
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 refs
> WARNING: using marks of remote origin as shared marks
> no changes found
> total 28
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 .
> drwxr-xr-x 9 user42 user42 4096 Feb 18 20:41 ..
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 .hg
> -rw-r--r-- 1 user42 user42  132 Feb 18 20:41 marks-git
> -rw-r--r-- 1 user42 user42  116 Feb 18 20:41 marks-hg
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 origin
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 second
> total 16
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 .
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 ..
> drwxr-xr-x 3 user42 user42 4096 Feb 18 20:41 clone
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 refs
> total 16
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 .
> drwxr-xr-x 5 user42 user42 4096 Feb 18 20:41 ..
> drwxr-xr-x 3 user42 user42 4096 Feb 18 20:41 clone
> drwxr-xr-x 4 user42 user42 4096 Feb 18 20:41 refs
> ok 49 - shared-marks unset to set
> 
> expecting success: 
> 	test_when_finished "rm -rf hgrepo gitrepo*" &&
> 
> 	hg init hgrepo &&
> 
> 	(
> 	git init gitrepo &&
> 	cd gitrepo &&
> 	git remote add origin "hg::../hgrepo" &&
> 	echo one > content &&
> 	chmod a+x content &&
> 	git add content &&
> 	git commit -a -m one &&
> 	git mv content content2 &&
> 	git commit -a -m two &&
> 	git push origin master
> 	) &&
> 
> 	(
> 	cd hgrepo &&
> 	hg update &&
> 	stat content2 >expected &&
> 	# umask mileage might vary
> 	grep -- -r.xr.xr.x expected
> 	)
> 
> hint: Using 'master' as the name for the initial branch. This default branch name
> hint: is subject to change. To configure the initial branch name to use in all
> hint: of your new repositories, which will suppress this warning, call:
> hint: 
> hint: 	git config --global init.defaultBranch <name>
> hint: 
> hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
> hint: 'development'. The just-created branch can be renamed via this command:
> hint: 
> hint: 	git branch -m <name>
> Initialized empty Git repository in /<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/gitrepo/.git/
> [master (root-commit) 5913097] one
>  Author: A U Thor <author@example.com>
>  1 file changed, 1 insertion(+)
>  create mode 100755 content
> [master cbb24bc] two
>  Author: A U Thor <author@example.com>
>  1 file changed, 0 insertions(+), 0 deletions(-)
>  rename content => content2 (100%)
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 2 files
> To hg::../hgrepo
>  * [new branch]      master -> master
> 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> Access: (0755/-rwxr-xr-x)  Uid: ( 1001/  user42)   Gid: ( 1001/  user42)
> ok 50 - push with renamed executable preserves executable bit
> 
> expecting success: 
> 	test_when_finished "rm -rf sub hgrepo gitrepo*" &&
> 
> 	hg init hgrepo &&
> 
> 	(
> 	git init sub &&
> 	cd sub &&
> 	: >empty &&
> 	git add empty &&
> 	git commit -m init
> 	) &&
> 
> 	(
> 	git init gitrepo &&
> 	cd gitrepo &&
> 	git submodule add ../sub sub &&
> 	git remote add origin "hg::../hgrepo" &&
> 	git commit -a -m sub &&
> 	git push origin master
> 	) &&
> 
> 	(
> 	cd hgrepo &&
> 	hg update &&
> 	expected="[git-remote-hg: skipped import of submodule at $(git -C ../sub rev-parse HEAD)]"
> 	test "$expected" = "$(cat sub)"
> 	)
> 
> hint: Using 'master' as the name for the initial branch. This default branch name
> hint: is subject to change. To configure the initial branch name to use in all
> hint: of your new repositories, which will suppress this warning, call:
> hint: 
> hint: 	git config --global init.defaultBranch <name>
> hint: 
> hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
> hint: 'development'. The just-created branch can be renamed via this command:
> hint: 
> hint: 	git branch -m <name>
> Initialized empty Git repository in /<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/sub/.git/
> [master (root-commit) be983cd] init
>  Author: A U Thor <author@example.com>
>  1 file changed, 0 insertions(+), 0 deletions(-)
>  create mode 100644 empty
> hint: Using 'master' as the name for the initial branch. This default branch name
> hint: is subject to change. To configure the initial branch name to use in all
> hint: of your new repositories, which will suppress this warning, call:
> hint: 
> hint: 	git config --global init.defaultBranch <name>
> hint: 
> hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
> hint: 'development'. The just-created branch can be renamed via this command:
> hint: 
> hint: 	git branch -m <name>
> Initialized empty Git repository in /<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/gitrepo/.git/
> Cloning into '/<<PKGBUILDDIR>>/test/trash directory.main-push/tmp/gitrepo/sub'...
> done.
> [master (root-commit) c56d720] sub
>  Author: A U Thor <author@example.com>
>  2 files changed, 4 insertions(+)
>  create mode 100644 .gitmodules
>  create mode 160000 sub
> no changes found
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 2 changes to 2 files
> To hg::../hgrepo
>  * [new branch]      master -> master
> 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
> ok 51 - push with submodule
> 
> # passed all 51 test(s)
> 1..51
> make[3]: Leaving directory '/<<PKGBUILDDIR>>/test'
> make[2]: *** [Makefile:11: test] Error 2
> make[2]: Leaving directory '/<<PKGBUILDDIR>>'
> dh_auto_test: error: make -j8 test returned exit code 2


The full build log is available from:
http://qa-logs.debian.net/2022/02/18/git-remote-hg_1.0.2.1~ds-3_unstable.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.


Reply to: