Ce script python est le meilleur que j'ai trouvé jusqu'à présent. Je l'ai juste piraté ensemble et, lors d'une première utilisation superficielle, semble agir correctement, mais je ne peux pas m'empêcher de penser qu'il existe un moyen plus simple de le faire ou même quelque chose intégré (bien que j'ai cherché et cherché).Commande (ou script) similaire à git status pour montrer tous les commits locaux depuis le dernier git svn dcommit?
Merci pour l'aide.
#!/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)
Cette commande ne fonctionne pas pour moi, les rapports git ambiguïtés fatales. J'ai essayé "git log - git - svn .." et "git log - git - svn..HEAD" et ni l 'affichage des commits appropriés. La commutation de l'ordre de "-" et "git-svn .." ne change pas non plus. – daffywolf
@nicholas: cette commande fonctionne pour moi, je ne suis pas sûr du genre de "giga ambiguïté fatale" que git pourrait rapporter pour vous. Si vous faites une branche 'git -a', combien de fois' git-svn' est-il listé? –
Voir ma réponse à ma propre question. Je n'ai pas de branche git-svn, j'ai plutôt une télécommande/trunk. Je ne sais pas pourquoi nos configurations diffèrent ... J'ai utilisé la disposition standard lors du clonage. – daffywolf