2011-09-13 82 views
0

前段時間我採取了一個Hg回購的克隆,並且一直在進行重要的本地提交(主要版本更改)。如何管理汞合併?

與此同時,行李箱略有進步;幾個提交,但微不足道的變化。

什麼是最簡單的方法來管理合並這個分支回樹幹?

考慮到我的「分支」有顯着的變化,最好是「差異化」最新的主幹,與我分支的主幹版本「分支」,然後將相同的功能更改重新制作到我的v2? - 如果是這樣,我怎麼知道這個版本是什麼?

感謝

+0

你應該能夠找到你開始拉動工作的修訂幹線會發生變化並看到分支開始的位置 –

+1

您可能想編輯您的問題以詳細說明您對整個文件被移動的評論,因爲這可能是問題的關鍵 –

回答

0

也許我失去了一些東西,但它看起來很容易:

  • 拉主幹更改到本地回購
  • 做一個合併
  • 推合併

沒有什麼特別的...這就是mercurial的用途! 如果你喜歡一個清潔的歷史,你可以做一個代替合併的代替合併...

+0

更改過於嚴重,整個文件(可能有小的更改在後備箱中)已完全移動 –

+0

檢測重命名與hg addremove –

+0

@jk - 謹慎詳細說明? –

1

從你的評論聽起來像問題是有文件重命名(這還沒有通過Mercurial完成),它也包含小變化?您可以使用hg addremove -s小於100的值,以檢測這些

addremove [OPTION]... [FILE]... 
    Add all new files and remove all missing files from the repository. 

    New files are ignored if they match any of the patterns in .hgignore. As 
    with add, these changes take effect at the next commit. 

    Use the -s option to detect renamed files. With a parameter > 0, 
    this compares every removed file with every added file and records 
    those similar enough as renames. This option takes a percentage 
    between 0 (disabled) and 100 (files must be identical) as its 
    parameter. Detecting renamed files this way can be expensive. 

    options: 
    -s, --similarity guess renamed files by similarity (0<=s<=100) 
    -I, --include  include names matching the given patterns 
    -X, --exclude  exclude names matching the given patterns 
    -n, --dry-run  do not perform actions, just print output 

TortoiseHg還提供了一個GUI的方式通過Guess Renames菜單要做到這一點

+0

這可能有助於合併,如果mercurial能夠找到重命名 –

+0

嗡嗡聲,它會工作在已經承諾的變化? –