diff options
author | Sverre Rabbelier <srabbelier@gmail.com> | 2011-07-16 15:03:38 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-07-19 11:17:48 -0700 |
commit | 9504bc9d5a1e672ce5945679f86294e61bbea3a6 (patch) | |
tree | c00f818e0fd691c9ddfd3838b85f30a2356061a7 /git-remote-testgit.py | |
parent | 6c8151a32e59c3109b3acc886358bfe6c14612fb (diff) | |
download | git-9504bc9d5a1e672ce5945679f86294e61bbea3a6.tar.gz git-9504bc9d5a1e672ce5945679f86294e61bbea3a6.tar.xz |
transport-helper: change import semantics
Currently the helper must somehow guess how many import statements to
read before it starts outputting its fast-export stream. This is
because the remote helper infrastructure runs fast-import only once,
so the helper is forced to output one stream for all import commands
it will receive. The only reason this worked in the past was because
only one ref was imported at a time.
Change the semantics of the import statement such that it matches
that of the push statement. That is, the import statement is followed
by a series of import statements that are terminated by a '\n'.
Signed-off-by: Sverre Rabbelier <srabbelier@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-remote-testgit.py')
-rw-r--r-- | git-remote-testgit.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/git-remote-testgit.py b/git-remote-testgit.py index 0b5928d29..1ed7a5651 100644 --- a/git-remote-testgit.py +++ b/git-remote-testgit.py @@ -120,8 +120,22 @@ def do_import(repo, args): if not repo.gitdir: die("Need gitdir to import") + ref = args[0] + refs = [ref] + + while True: + line = sys.stdin.readline() + if line == '\n': + break + if not line.startswith('import '): + die("Expected import line.") + + # strip of leading 'import ' + ref = line[7:].strip() + refs.append(ref) + repo = update_local_repo(repo) - repo.exporter.export_repo(repo.gitdir, args) + repo.exporter.export_repo(repo.gitdir, refs) print "done" |