2014-09-05 323 views
0

當我嘗試在Windows上使用gitbash將代碼提交給gerrit時出現錯誤。 該錯誤是如下:在windows上使用git-review將代碼提交給gerrit時出錯

$ git review 
You are about to submit multiple commits. This is expected if you are 
submitting a commit that is dependent on one or more in-review 
commits. Otherwise you should consider squashing your changes into one 
commit before submitting. 
Traceback (most recent call last): 
    File "c:\Python33\Scripts\git-review-script.py", line 9, in <module> 
    load_entry_point('git-review==1.24', 'console_scripts', 'git-review')() 
    File "C:\Python33\lib\site-packages\git_review\cmd.py", line 1214, in main 
    assert_one_change(remote, branch, yes, have_hook) 
    File "C:\Python33\lib\site-packages\git_review\cmd.py", line 718, in assert_on 
e_change 
    "Do you really want to submit the above commits?" % output) 
    File "C:\Python33\lib\encodings\cp850.py", line 19, in encode 
    return codecs.charmap_encode(input,self.errors,encoding_map)[0] 
UnicodeEncodeError: 'charmap' codec can't encode character '\u2026' in position 
8042: character maps to <undefined> 

的過程中止後的錯誤消息。 也git的審查版本如下:

$ git review --version 
git-review-script.py version 1.24 

而且我的Windows機器上的Git版本是:

git version 1.9.4.msysgit.1 

我迫切需要幫助或如何得到這個工作的任何線索。

出現在我的cmd.exe的字符編碼爲850

+0

其中一個提交消息是否包含水平橢圓(U + 2026)字符?你可以用「...」替換它嗎? – 2014-09-08 05:45:55

回答

1

嘗試安裝Python 2.7。*和它推出的git審查。我也在運行Python 3上的git-review時遇到了問題。*儘管作者聲稱它受到支持。


通過詳細調查您的問題,我注意到這個問題是與\u2026字符(即horizontal ellipsis - ...)。 Python is known to have problems解碼它。

作爲臨時修復,請reword您的提交消息不要包含有問題的字符(用三個點替換...)。

您也可以使用命令git review -y跳過顯示確認(因此也是錯誤信息)。


我爲git-review創建了一個bug report

+0

謝謝,我也嘗試過使用Python 2.7,但它沒有幫助。顯示與python 2.7相同的錯誤,而不是3.3。我通過卸載最新版本,然後通過安裝get-pip.py重新安裝了git review。但是這也沒有幫助。更多關於這方面的建議..我堅持這一點。我不知道直到最近幾個月它的工作,最近我已經升級到1.24 git審查。雖然git review -s命令的作品,但它只是當我試圖通過git review -R將我的代碼推送到gerrit以進行代碼審查 - 命令失敗,並顯示上述消息。 – Jagori 2014-09-06 08:53:19

+0

請看我更新的答案。 – fracz 2014-09-08 07:04:21

+0

嗨!非常感謝您的答覆。這確實有用。儘管我無法在提交消息中找到任何(...)字符,但不知何故,我認爲我的提交消息很長,也許這可能導致省略號被引入。儘管如此,我所做的是我重寫了我的提交信息以及使用git review -y。git review -y命令做了什麼?通過我的意思是-y選項? – Jagori 2014-09-09 08:38:32