2010-03-17 93 views
0

当我有一个历史取消提交长达前合并

-rev 100,合并
- 修订版95.3
- 修订版95.2
- 修订版95.1
-rev 99
-rev 98

,我尝试bzr uncommit -r 95.3..写入错误消息。我该如何解决这个问题?

错误是

bzr: ERROR: 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 on 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 [unknown] 
    rebase    /home/adi/.bazaar/plugins/rebase [0.3.0] 
*** Bazaar has encountered an internal error. 
    Please report a bug at https://bugs.launchpad.net/bzr/+filebug 
    including this traceback, and a description of what you 
    were doing when the error occurred. 
+0

什么是错误信息? – 2010-03-17 13:56:48

+0

95.3不是正确的版本号,我认为应该是95.1.3 – bialix 2010-03-17 16:39:44

回答

0

这真的只是一个猜测,但我怀疑,修订规范不接受95.3的版本。

合并将一直致力于为您的分支为修订版100,所以你应该能够只是做:

bzr uncommit 

或:

bzr uncommit -r 100 

如果你想在合并更改95.1和95.2(原始合并的一部分),你可能必须这样做:

bzr uncommit -r 100 
bzr merge -r 95..97 /path/to/merge/source 

或类似的东西。

如果需要参考95.3,我建议具有Bazaar revision spec documentation的读,看看是否有帮助。您可能需要更明确的修订号码,如revno:95.3(可能无效)或revno:97:/path/to/merge/source(可能有效)。大多数的,这是一个猜测,但...

0

无法取消提交到虚线修订像95.1.3,因为这个版本是不是在你的主线的历史。您可以使用pull命令,而不是让你的树所需的修订:

bzr pull . -r95.1.3 --overwrite 

uncommitpull之间的主要区别是:uncommit留下来,你在工作树取消提交修订后的变化,而pull简单地覆盖你的工作带有指定修订文件的树。

此外,如果您需要取消提交到状态之前合并,你需要使用bzr uncommit不指定版本,如果R100是在分支的最后一个版本。