Pergunta

Eu sou um recém-chegado ao mercurial. Tenho recentemente configurar um repositório com 2 colegas e estou tendo dificuldade com empurrando meu código. [Eu estou usando linha de comando hg no Windows]. Em particular, quando eu empurro eu recebo um diálogo como o seguinte:

>hg commit -u petermr

>hg push
pushing to http://bitbucket.org/petermr/polyinfo/
searching for changes
abort: push creates new remote heads!
(did you forget to merge? use push -f to force)
>hg merge
abort: there is nothing to merge

>hg status

eu tenho medo de cometer usando impulso -f como penso que irá criar múltiplas cabeças e causar problemas para o nosso grupo.

Quando tento mesclar eu recebo um diálogo algo como:

>hg merge -f
merging src/test/resources/PMR/algorithm/cmlAll.xml
 output file src/test/resources/PMR/algorithm/cmlAll.xml appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/irregular/cmlAll.xml
 output file src/test/resources/PMR/irregular/cmlAll.xml appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/massChange/cmlAll.xml
 output file src/test/resources/PMR/massChange/cmlAll.xml appears unchanged
was merge successful (yn)? y

Uma vez que existem várias centenas de arquivos eu não posso digitar "y" para cada um e eu não consigo encontrar uma maneira de fundir-los todos juntos.

Atualizar Eu tentei o primeiro (2) respostas e ainda tem um problema:

>hg pull
pulling from http://bitbucket.org/petermr/polyinfo/
searching for changes
no changes found

>hg merge
abort: outstanding uncommitted merges

Atualizar em resposta a @tonfa Não posso me comprometer:

>hg commit
abort: unresolved merge conflicts (see hg resolve)

Atualizar @balpha (eu mudei o nome do proprietário para Foo)

>hg parent
changeset:   24:9ec904d2d5a2
tag:         tip
user:        petermr
date:        Sat Jan 09 16:40:38 2010 +0000
summary:     trying to sync

changeset:   22:360aedb72f0e
parent:      21:89c4bd671bd3
parent:      18:3cffa8ca3a2a
user:        Foo (not me)
date:        Fri Jan 08 16:15:50 2010 +0000
summary:     merged


>hg tip
changeset:   24:9ec904d2d5a2
tag:         tip
user:        petermr
date:        Sat Jan 09 16:40:38 2010 +0000
summary:     trying to sync

Atualizar

cabeças de hg

changeset:   24:9ec904d2d5a2
tag:         tip
user:        petermr
date:        Sat Jan 09 16:40:38 2010 +0000
summary:     trying to sync

changeset:   22:360aedb72f0e
parent:      21:89c4bd671bd3
parent:      18:3cffa8ca3a2a
user:        Foo (not me)
date:        Fri Jan 08 16:15:50 2010 +0000
summary:     merged

Atualizar na sequência de comentários @balpha abaixo que sugere revert que pede um Revison (isto é um número? Se sim, como posso encontrá-lo?)

>hg revert --all
abort: uncommitted merge - please provide a specific revision

Atualizar ainda não pode mesclar ...

>hg revert --all -r tip
reverting .hgignore
reverting .hgignore~
reverting src\test\java\org\xmlcml\cml\converters\polyinfo\RegressionTest.java
reverting src\test\resources\PMR\algorithm\cmlAll.xml
reverting src\test\resources\PMR\irregular\cmlAll.xml
reverting src\test\resources\PMR\massChange\cmlAll.xml
reverting src\test\resources\PMR\massChangeOk\cmlAll.xml
reverting src\test\resources\PMR\ok\P340076.both.svg
reverting src\test\resources\PMR\ok\P340076.p.svg
reverting src\test\resources\PMR\ok\P340076.r.svg
reverting src\test\resources\PMR\ratio\cmlAll.xml

>hg status
M .hgignore
M .hgignore~
M src\test\resources\PMR\algorithm\cmlAll.xml
M src\test\resources\PMR\irregular\cmlAll.xml
M src\test\resources\PMR\massChange\cmlAll.xml
M src\test\resources\PMR\massChangeOk\cmlAll.xml
M src\test\resources\PMR\ok\P340076.both.svg
M src\test\resources\PMR\ok\P340076.p.svg
M src\test\resources\PMR\ok\P340076.r.svg
M src\test\resources\PMR\ratio\cmlAll.xml
? src\test\resources\PMR\bug\P020006work.both.svg
? src\test\resources\PMR\irregular\cmlAll.xml.resolve

>hg merge
abort: outstanding uncommitted merges

>hg commit
abort: unresolved merge conflicts (see hg resolve)

Note que

hg resolve -all

traz à tona o problema original de ter que responder "y" a centenas de perguntas individuais e eu não sei então se vai resolver o problema. Sua ajuda é muito apreciada!

Atualizar @balpha sugeriu limpeza - este parece ter progressos realizados

>hg update --clean -r tip
10 files updated, 0 files merged, 0 files removed, 0 files unresolved

>hg merge
merging src/test/resources/PMR/algorithm/cmlAll.xml
 output file src/test/resources/PMR/algorithm/cmlAll.xml appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/irregular/cmlAll.xml
 output file src/test/resources/PMR/irregular/cmlAll.xml appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/massChange/cmlAll.xml
 output file src/test/resources/PMR/massChange/cmlAll.xml appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/massChangeOk/cmlAll.xml
 output file src/test/resources/PMR/massChangeOk/cmlAll.xml appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/ok/P340076.both.svg
 output file src/test/resources/PMR/ok/P340076.both.svg appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/ok/P340076.p.svg
 output file src/test/resources/PMR/ok/P340076.p.svg appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/ok/P340076.r.svg
 output file src/test/resources/PMR/ok/P340076.r.svg appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/ratio/cmlAll.xml
 output file src/test/resources/PMR/ratio/cmlAll.xml appears unchanged
was merge successful (yn)? y
2 files updated, 8 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)

>hg merge
abort: outstanding uncommitted merges

>hg merge -f
abort: outstanding uncommitted merges

>hg commit -u petermr -m "still trying to sy
nc"

>hg merge
abort: there is nothing to merge

>hg push
pushing to http://bitbucket.org/petermr/polyinfo/
searching for changes
http authorization required
realm: Bitbucket.org HTTP
user: petermr
password:
adding changesets
adding manifests
adding file changes
added 4 changesets with 298 changes to 290 files
bb/acl: petermr is allowed. accepted payload.
quota: 13.3 MB in use, 150.0 MB available (8.87% used)
Foi útil?

Solução

Seu clone local do repo provavelmente não é up-to-date. Fazer um

hg pull

para mudar isso. Agora você tem duas cabeças localmente (seu próprio dica anterior ea ponta do repo bitbucket). Agora

hg merge

para mesclar as duas cabeças e

hg commit -m "Merged before pushing"

Agora, o seu repo local tem apenas uma cabeça, e esta cabeça é uma criança da cabeça bitbucket, então empurrando vontade não criar uma cabeça remota mais:

hg push

e está feito.

Outras dicas

Antes de empurrar código para um repositório remoto, primeiro garantir a sua repo local é limpo e não tem fusões pendentes.

Em seguida, faça um puxão hg a partir do repositório remoto. Isto irá criar 2 cabeças em seu repositório local.

fazer uma junção local, e comprometer-se (resolução de conflitos).

Finalmente, empurrar para o repositório remoto.

Do not, em geral, empurrar para um repositório remoto se várias cabeças será criado lá.

Você não pode querer cometer o merge mesmo localmente. A maneira de limpar para fora e começar tudo de novo (de https://www.mercurial-scm.org / BTS / issue1533 ) parece ser "hg -C update".

Como mencionado acima, parece que "hg revert -a" deve trabalho, mas não parece.

Use a ferramenta de linha de comando TortoiseHg em vez de, é mais simples e graficamente mostra o estado do repositório, assim você não vai ser confundido com todos os comandos.

Eu tive um problema muito semelhante. Acabou a causa raiz é a "excluir" extensão do Mercurial. Ao desligar a extensão temporariamente, o problema foi corrigido. Referindo-se à página de "excluir" extensão, proprietário admitiu que é um problema conhecido.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top