Этот скрипт на python - лучший из всех, что я придумал. Я только что взломал это вместе, и при беглом первом использовании пара, кажется, действует правильно, но я не могу не чувствовать, что есть более простой способ сделать это или даже что-то встроенное (хотя я искал и искал).
Спасибо за помощь.
#!/usr/bin/env python
import sys
import subprocess
s = subprocess.Popen("git svn log --show-commit --oneline".split(" "),
stdout=subprocess.PIPE)
# Grab the last svn commit's data
revision, sha, message = s.stdout.readlines().pop(0).split(" | ")
# Grab display of commits since svn rebase
s = subprocess.Popen(("git log %s..HEAD --oneline" % sha).split(" "),
stdout=subprocess.PIPE)
log = s.stdout.read().strip()
if len(log.splitlines()) > 0:
print ("%d commits ahead of svn. To push them to svn, use 'git svn dcommit'.\n"
% len(log.splitlines()))
print log
else:
print "No local commits that need 'git svn dcommit'"
sys.exit(0)