0 votes

Uncommit up to before merge

Lorsque j'ai un historique

-rev 100, fusionner
-- rev 95.3
-- rev 95.2
-- rev 95.1
-rev 99
-rev 98

et j'essaie bzr uncommit -r 95.3.. il écrit un message d'erreur. Comment puis-je résoudre le problème?

L'erreur est

bzr: ERREUR: exceptions.TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'

Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 846, in run_bzr_catch_errors
    return run_bzr(argv)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 797, in run_bzr
    ret = run(*run_argv)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 499, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/usr/lib/python2.5/site-packages/bzrlib/builtins.py", line 3694, in run
local=local)
  File "/usr/lib/python2.5/site-packages/bzrlib/builtins.py", line 3717, in _run
revno = revision[0].in_history(b).revno + 1
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'

bzr 1.5 sur python 2.5.2 (linux2)
arguments: ['/usr/bin/bzr', 'uncommit', '-r', '11955.2.32..']
encoding: 'UTF-8', fsenc: 'UTF-8', lang: 'pl_PL.UTF-8'
plugins:
  bzrtools             /usr/lib/python2.5/site-packages/bzrlib/plugins/bzrtools [1.5.0]
  gtk                  /usr/lib/python2.5/site-packages/bzrlib/plugins/gtk [0.94.0]
  interactive          /home/adi/.bazaar/plugins/interactive [1.2.0]
  launchpad            /usr/lib/python2.5/site-packages/bzrlib/plugins/launchpad [inconnu]
  rebase               /home/adi/.bazaar/plugins/rebase [0.3.0]
*** Bazaar a rencontré une erreur interne.
    Veuillez signaler un bogue sur https://bugs.launchpad.net/bzr/+filebug
    en incluant cette trace de pile, et une description de ce que vous
    faisiez lorsque l'erreur s'est produite.

0voto

DrAl Points 29528

Ceci n'est vraiment qu'une supposition, mais je soupçonne que la spécification de révision n'accepte pas 95.3 comme révision.

La fusion aura été commitée sur votre branche en tant que révision 100, donc vous devriez pouvoir simplement faire :

bzr uncommit

ou :

bzr uncommit -r 100

Si vous souhaitez fusionner les changements 95.1 et 95.2 (partie de la fusion initiale), vous devrez probablement faire :

bzr uncommit -r 100
bzr merge -r 95..97 /chemin/vers/source/de/fusion

ou quelque chose dans ce genre.

Si vous avez besoin de faire référence au 95.3, je vous recommande de lire la documentation de spécification de révision Bazaar pour voir si cela aide. Vous pourriez avoir besoin d'un numéro de révision plus explicite comme revno:95.3 (qui ne fonctionnera probablement pas) ou revno:97:/chemin/vers/source/de/fusion (qui pourrait fonctionner). Mais la plupart de cela était juste une supposition...

0voto

bialix Points 6270

Vous ne pouvez pas annuler un engagement à la révision pointée comme 95.1.3, car cette révision ne fait pas partie de l'historique principal. Vous pouvez utiliser la commande pull à la place pour obtenir votre arborescence à la révision souhaitée :

bzr pull . -r95.1.3 --overwrite

La principale différence entre uncommit et pull est que : uncommit laisse les changements après la révision à laquelle vous annulez l'engagement dans l'arborescence de travail, alors que pull écrase simplement votre arborescence de travail avec les fichiers de la révision spécifiée.

Aussi, si vous avez besoin d'annuler un engagement à l'état juste avant une fusion, vous devez utiliser bzr uncommit sans spécifier de révisions si r100 est la dernière révision de la branche.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X