I
initialized
a Mercurial project onMachine A
,committed
my changes anduploaded
them to a remote repository.Then I
cloned
that repository onMachine B
,committed
some additional changes anduploaded
them to the same remote repository.
In both cases, I uploaded the changes with the same command:
hg push https://username:password@domain/user/repository/
Now I'm back on Machine A and I've pull
ed from the remote repository and merg
ed any changes between the two changesets using the KDiff3
GUI tool using the commands:
hg pull
hg merge
hg commit
However, when I try to push the latest changes from Machine A back to the remote repository after this pull and merge, I get this message:
hg push https://username:password@domain/user/repository/
pushing to https://username:password@domain/user/repository/
searching for changes
abort: push creates new remote heads!
(did you forget to merge? use push -f to force)
Why does it say "did you forget to merge"? -- I completed the merge.
Is it bad to force the push and create "new remote heads"?
If so, how do I avoid this?
UPDATE:
I ran "hg merge
" again and got this output:
5 files updated, 1 files merged, 0 files removed, 1 files unresolved
use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
So I ran 'hg up --clean
' and it reported:
6 files updated, 0 files merged, 1 files removed, 0 files unresolved
Now when I type 'hg heads
', it says:
changeset: 11
tag: tip
parent: 9
user: eggdrop
date: Tue Oct 20 16:27:44 2009 -0400
summary: Machine A after merge
changeset: 10
parent: 7
user: chickensoup
date: Thu Oct 15 03:27:23 2009 -0400
summary: Machine B changes to be pulled onto Machine A