From b11f5a1cb2334ce879f364b7ed7c5e94d4d05640 Mon Sep 17 00:00:00 2001 From: Felipe Contreras Date: Fri, 24 May 2013 21:29:39 -0500 Subject: [PATCH] remote-hg: add remote tests The logic when working with a local repository is totally different from the one where we work with a remote repository; we need to pull and push from it. All this logic is currently not tested at all, so let's introduce a variable to force the remote behavior. Signed-off-by: Felipe Contreras Signed-off-by: Junio C Hamano --- git-remote-hg | 2 +- test-hg.sh | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/git-remote-hg b/git-remote-hg index 76438a6..61e6c87 100755 --- a/git-remote-hg +++ b/git-remote-hg @@ -383,7 +383,7 @@ def get_repo(url, alias): extensions.loadall(myui) - if hg.islocal(url): + if hg.islocal(url) and not os.environ.get('GIT_REMOTE_HG_TEST_REMOTE'): repo = hg.repository(myui, url) if not os.path.exists(dirname): os.makedirs(dirname) diff --git a/test-hg.sh b/test-hg.sh index 4e56640..c36b729 100755 --- a/test-hg.sh +++ b/test-hg.sh @@ -250,4 +250,42 @@ test_expect_success 'remote push from master branch' ' check_branch hgrepo default one ' +GIT_REMOTE_HG_TEST_REMOTE=1 +export GIT_REMOTE_HG_TEST_REMOTE + +test_expect_success 'remote cloning' ' + 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 +' + +test_expect_success 'remote update bookmark' ' + 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 +' + test_done