2010-03-17 100 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是在分支的最後一個版本。