Envoie des patches dans le bon ordre.

darcs-hash:20071218010257-af139-af262846e89de38130649587704b0bb9c08bb070.gz
This commit is contained in:
Jeremie Dimino 2007-12-18 02:02:57 +01:00
parent 072d2a9609
commit 34377b4e70

View file

@ -206,7 +206,7 @@ def select(patches):
'''Sélection interactive de patches''' '''Sélection interactive de patches'''
decided = [] decided = []
while patches: while patches:
(status, changelog) = darcs("changes --match='hash %s'" % patches[-1]) (status, changelog) = darcs("changes --match='hash %s'" % patches[0])
if status == 0: if status == 0:
print print
print changelog print changelog
@ -219,20 +219,20 @@ def select(patches):
("v", "voir le patch"), ("v", "voir le patch"),
Exit]) Exit])
if c == "y": if c == "y":
decided.append((True, patches.pop())) decided.append((True, patches.pop(0)))
elif c == "n": elif c == "n":
decided.append((False, patches.pop())) decided.append((False, patches.pop(0)))
elif c == "p": elif c == "p":
if decided: if decided:
patches.append(decided.pop()[1]) patches.insert(0, decided.pop()[1])
else: else:
cprint("Déjà au début de la liste!", "rouge") cprint("Déjà au début de la liste!", "rouge")
elif c == "e": elif c == "e":
while patches: while patches:
decided.append((True, patches.pop())) decided.append((True, patches.pop(0)))
elif c == "i": elif c == "i":
while patches: while patches:
decided.append((False, patches.pop())) decided.append((False, patches.pop(0)))
count = [x[0] for x in decided].count(True) count = [x[0] for x in decided].count(True)
if count: if count:
@ -275,7 +275,6 @@ if __name__ == "__main__":
if not lastdate.isdigit or len(lastdate) >= 14: if not lastdate.isdigit or len(lastdate) >= 14:
__usage("date invalide") __usage("date invalide")
lastdate += (14 - len(lastdate)) * "0" lastdate += (14 - len(lastdate)) * "0"
print lastdate
else: else:
__usage("option inconnue « %s »'" % opt) __usage("option inconnue « %s »'" % opt)
recipient = arg recipient = arg
@ -308,7 +307,10 @@ if __name__ == "__main__":
else: else:
open(DATE_FILE, "w").write("19700101000000") open(DATE_FILE, "w").write("19700101000000")
elif c == "select": elif c == "select":
# On commence par les plus récent
patches.reverse()
patches = select(patches) patches = select(patches)
patches.reverse()
except OSError, e: except OSError, e:
if e.errno == 11: if e.errno == 11:
# Quand c'est darcs qui lance la commande on ne pas lire # Quand c'est darcs qui lance la commande on ne pas lire