git_remote_helpers: push all refs during a non-local export

When a remote helper exports to a non-local git repo, the
steps are roughly:

  1. fast-export into a local staging area; the set of
     interesting refs is defined by what is in the fast-export
     stream

  2. git push from the staging area to the non-local repo

In the second step, we should explicitly push all refs, not
just matching ones. This will let us push refs that do not
yet exist in the remote repo.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Sverre Rabbelier <srabbelier@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King 2011-07-16 15:03:27 +02:00 committed by Junio C Hamano
parent 3ea7d09461
commit b4b872994b
2 changed files with 2 additions and 2 deletions

View File

@ -63,7 +63,7 @@ class NonLocalGit(object):
if not os.path.exists(path):
die("could not find repo at %s", path)
args = ["git", "--git-dir=" + path, "push", "--quiet", self.repo.gitpath]
args = ["git", "--git-dir=" + path, "push", "--quiet", self.repo.gitpath, "--all"]
child = subprocess.Popen(args)
if child.wait() != 0:
raise CalledProcessError

View File

@ -115,7 +115,7 @@ test_expect_success 'push when remote has extra refs' '
compare_refs clone master server master
'
test_expect_failure 'push new branch by name' '
test_expect_success 'push new branch by name' '
(cd clone &&
git checkout -b new-name &&
echo content >>file &&