[PATCH 15/19] transport-helper: update ref status after push with export
Signed-off-by: Sverre Rabbelier <srabbelier@gmail.com>
---
Obviously the testgit helper shouldn't just print 'ok' for master,
but it demonstrates the idea.
Jonathan added for those who wondered what it should do:
When the push is complete, outputs one or more ok <dst> or
error <dst> <why>? lines to indicate success or failure of
each pushed ref. The status report output is terminated by a
blank line. The option field <why> may be quoted in a C style
string if it contains an LF. So testgit should be getting this information from the
result of non_local.push(). Another example is if a ref is a
non-fast-forward, it should probably detect that before even
exporting it, and report that here.
git-remote-testgit.py | 3 +++
transport-helper.c | 1 +
2 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/git-remote-testgit.py b/git-remote-testgit.py
index a8e47d9..47a30da 100644
--- a/git-remote-testgit.py
+++ b/git-remote-testgit.py
@@ -153,6 +153,9 @@ def do_export(repo, args):
if not repo.local:
repo.non_local.push(repo.gitdir)
+ print "ok refs/heads/master"
+ print
+
def do_gitdir(repo, args):
"""Stores the location of the gitdir.
diff --git a/transport-helper.c b/transport-helper.c
index b0361c2..bb1b97f 100644
--- a/transport-helper.c
+++ b/transport-helper.c
@@ -760,6 +760,7 @@ static int push_refs_with_export(struct transport *transport,
data->no_disconnect_req = 1;
if (finish_command(&exporter))
die("Error while running fast-export");
+ push_update_refs_status(data, remote_refs);
return 0;
}
--
1.7.5.1.292.g728120