2009-04-28 15 views
33

Ben Mercurial 1.0.2 kullanarak bir birleştirme çatışma vardır:Mercurial (v1.0.2) 'da birleştirme çakışmaları nasıl giderilir?

merging test.h 
warning: conflicts during merge. 
merging test.h failed! 
6 files updated, 0 files merged, 0 files removed, 1 files unresolved 
There are unresolved merges, you can redo the full merge using: 
    hg update -C 19 
    hg merge 18 

ben bu sorunu çözmek için anlamaya olamaz. Google arama sonuçları kullanmaya talimat:

hg resolve 

ama nedense benim Mercurial (v1.0.2) bir çözümleme komutu yok:

hg: unknown command 'resolve' 

Nasıl bu çözebilirsiniz? hg < v1.1 için geçerlidir

+0

Farklı bir cevabı doğru olarak işaretlemelisiniz. – Lipis

cevap

13

sadece

herhangi hg komutları çağırmaya gerek yoktur. Mercurial, svn'dan farklı olarak, çakışan dosyaları izlemez. hg status numaralı telefonu ararsanız, dosyanın yalnızca değiştirilmiş olarak işaretlendiğini görürsünüz.

Sadece dosyayı elle düzeltin ve bekleyin.

+0

Bu yüzden Mercurial yerel kopyasını test.h.orig'e taşıdı ve test.h şimdi diğer kafadan çıktı. .orig dosyasının oluşturulmasını önlemek için yol yanlışlıkla eklenmez mi? – lajos

+0

Bunun mümkün olduğundan emin değilim, ancak .hgignore dosyanıza * .orig ekleyebilirsiniz. – avakar

+16

Eğer dosyayı basitçe düzenler ve sonra da işleyecekseniz, iki dalın bir birleşimi olarak kabul edilmemesi, sadece sizin çalışmalarınızdaki yeni bir taahhüttir. Dosyayı el ile düzeltmeniz gerektiğini düşünüyorum ve ardından dosyayı birleştirilmiş olarak işaretlemek için ** hg resol -m test.h ** komutunu kullanmalısınız. –

10

İzleme çakışmaları, kullanmakta olduğunuz daha yeni bir sürüm olan Mercurial 1.1'da kullanıma sunulmuştur (gerçekten yükseltme yapmanız gerekir, Mercurial 1.1. Aralık 2008'de yayımlanmıştır). Bu sürümde, svn resolve ile benzer şekilde çalışan resolve komutunu kazandınız. Hatırladığı üzere, bir çakışma olduğunda, merge tool yapılandırılmadıkça, Mercurial dosyanızda birleştirme işaretçileri (<<<< ve >>>> satırları) bırakacaktır. Bu aynı zamanda daha yeni sürümler için de geçerlidir: - Birleştirme aracının yapılandırılmamış olması ve çakışma olduğunda birleştirme işaretleyicileri almam. Daha sonra dosyayı manuel olarak düzeltebilir ve hg resolve ile çözülmesini işaretleyebilirim.

75

Hg 1.1+ için bir yorum bir cevap vurgulamak için:

Hg 1.1+ için elle dosyasını düzeltmek ve daha sonra birleştirilmiş dosyayı işaretlemek için

hg resolve -m test.h 

yok.

+0

.orig dosyalarını manuel olarak silmek zorunda mıyım? –

+0

aynı soru. O halde .orig dosyalarıyla ne yapmalı? –

+1

Sadece onları manuel olarak silmek istiyorum –

İlgili konular