我們有一個位於獨立服務器上的主存儲庫。我最初克隆了默認分支並在本地進行了更改。我已經在當地承諾這些變化。但是,在主存儲庫上創建了一個分支,我想將其更改推送到該分支。以下是我對完成這一任務的描述。從一個遠程分支克隆的repo需要被提交到不同的遠程分支
我已經克隆了分支。我想輸出從本地默認我的變化,像這樣:
C:\hg\default>hg export -g -o mypatch -r tip
,並試圖將它們導入到新的分支的克隆時,我得到如下:
C:\hg\newBranch>hg import C:\hg\default\mypatch
applying C:\hg\Fill1\mypatch
patching file .hgignore
Hunk #1 FAILED at 11
1 out of 1 hunks FAILED -- saving rejects to file .hgignore.rej
abort: patch failed to apply
我可以手動修復.hgingore.rej文件就好了。問題在於該修補程序還包含已移動的文件。而不是顯示爲移動的文件,我得到的運行hg status
當以下:
C:\hg\newBranch>hg status -C
M someOtherFilesThatLookAsExpected.txt
! originalLocaion\fileA.txt
? newLocation\fileA.txt
此丟失,新的狀態是針對在此提交包含在應用補丁感動了所有文件。難道我做錯了什麼?我在申請補丁時是否總是需要手動移動文件?有沒有更簡單的方法來完成這個分支轉移?
當我運行hg時看不到'--rebase'幫助拉' – 2013-05-03 16:32:58
當你說'hg pull c:\ hg \ newBranch'我應該做'C:\ hg \ default> hg pull c:\ hg \ newBranch'嗎? – 2013-05-03 16:44:05
僅當您打開分配數據分機(由於它可以修改歷史記錄而未默認啓用)時纔會啓用分配數據庫。如果您對重寫歷史記錄不滿意,您可能會也可能不需要它。是的,在拉動之前,先將光盤放到c:\ hg \ default目錄下。 – 2013-05-03 17:10:29