diff options
author | Felipe Contreras <felipe.contreras@gmail.com> | 2013-05-24 21:29:39 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-05-28 07:59:57 -0700 |
commit | e6e803be79123dff163900c5a55e556cf6d6c9c0 (patch) | |
tree | dbb57e016f0b72fd67fc1bd1cd3293495e244929 | |
parent | 731ce6cf75d304bc14c1ee0ad45e5846f5db6834 (diff) | |
download | git-e6e803be79123dff163900c5a55e556cf6d6c9c0.tar.gz git-e6e803be79123dff163900c5a55e556cf6d6c9c0.tar.xz |
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 <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | contrib/remote-helpers/git-remote-hg | 2 | ||||
-rwxr-xr-x | contrib/remote-helpers/test-hg.sh | 38 |
2 files changed, 39 insertions, 1 deletions
diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg index 76438a687..61e6c8772 100755 --- a/contrib/remote-helpers/git-remote-hg +++ b/contrib/remote-helpers/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/contrib/remote-helpers/test-hg.sh b/contrib/remote-helpers/test-hg.sh index 4e5664010..c36b72977 100755 --- a/contrib/remote-helpers/test-hg.sh +++ b/contrib/remote-helpers/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 |