Mercurial updating to public failed
It first tries a few fully automatic merging tools; if these don't succeed (because the resolution process requires human guidance) or aren't present, it tries a few different graphical merging tools.
It's also possible to get Mercurial to run a specific program or script, by setting the HGMERGE environment variable to the name of your preferred program.
We've now covered cloning a repository, making changes in a repository, and pulling or pushing changes from one repository into another.
Working together not only requires us to send around changes, we also need to be able to combine or $ hg clone hello my-new-hello updating to branch default 2 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd my-new-hello $ # Make some simple edits to hello.c.
There are times when a repository can contain more than one head.
$ hg heads changeset: 58452fd7d5 tag: tip parent: 78160e78d4 user: test date: Thu Jan 01 1970 0000 summary: Added an extra line of output changeset: 5:3e917d898551 user: test date: Thu Jan 01 1970 0000 summary: A new hello for a new day.
Most are tuned for merging files containing plain text, while a few are aimed at specialised file formats (generally XML).
And another clone, to simulate someone else making a change to the file.
Now I guess the correct solution is to set the sticky bit on the repo, so files created have the correct permissions, but either way IMO Mercurial shouldn't abort with a "from untrusted user" error and still leave behind files.
# Date 1346857123 -32400 # Branch stable # Node ID c5df3b232f38cbd260a3f5fcd610d5b94502b758 # Parent 3ee5d3c372fabcf57c305835dac98da78bdc1837 test-push- include exit status of hg push diff --git a/tests/test-push-http.t b/tests/test-push-http.t --- a/tests/test-push-http.t b/tests/test-push-http.t @@ -16,9 16,11 @@ } $ cd ../test @@ -31,6 33,7 @@ expect ssl error remote: ssl required updating cb9a9f314b8b to public failed!
% serve errors  expect authorization error @@ -41,6 44,7 @@ expect authorization error searching for changes abort: authorization failed % serve errors  expect authorization error: must have authorized user @@ -50,6 54,7 @@ expect authorization error: must have au searching for changes abort: authorization failed % serve errors  expect success @@ -110,6 115,7 @@ expect authorization error: all users de searching for changes abort: authorization failed % serve errors  expect authorization error: some users denied, users must be authenticated @@ -119,5 125,6 @@ expect authorization error: some users d searching for changes abort: authorization failed % serve errors  $ cd ..
Our task in resolving the conflicting changes is to decide what the file should look like.
Mercurial doesn't have a built-in facility for handling conflicts.