print
print "Selftest succeeded!"
+def update_ref(hash):
+ remote = "ftp"
+ branch = "master"
+ if (not os.path.exists("refs/remotes/"+remote)):
+ os.makedirs("refs/remotes/"+remote)
+ file("refs/remotes/"+remote+"/"+branch, "w").write(newrev+"\n")
+
def build_change_list(changes, oldrev, newrev):
# Read changes
gitdiff = Popen("/usr/bin/git diff --name-status %s %s"%(oldrev, newrev),
for line in sys.stdin:
(oldrev, newrev, refname) = line.split()
if refname == "refs/heads/master":
+ try:
+ oldref=file("refs/remotes/ftp/master").readline().strip();
+ except IOError:
+ pass
build_change_list(changes, oldrev, newrev)
if not changes:
syncer.close()
except ftplib.all_errors, detail:
- print >> sys.stderr, "FTP error: ", detail
+ print >> sys.stderr, "FTP synchronization error: ", detail
+ print >> sys.stderr, "I will try it next time again"
sys.exit(1)
-
-
+
+# If succeessfull, update remote ref
+update_ref(newrev)