Commit Graph

64 Commits

Author SHA1 Message Date
Matt Mackall
8d82cba09a merge: introduce mergestate 2008-04-10 15:02:24 -05:00
Matt Mackall
fb8b59de16 update: better logic and messages for updates
- complain about attempts to merge with ancestor
- when updating, differentiate between
  - crossing named branches with no local changes (jump)
  - crossing named branches with local changes (complain)
  - nonlinear update on the same named branch, no changes (complain some more)
  - nonlinear update on the same named branch, changes (different complaining)
2008-03-24 10:01:05 -05:00
Adrian Buehlmann
153675561e clone: print "updating working directory" status message
With this change, "hg clone" looks like this:

% hg clone http://example.com/repo/big big
requesting all changes
adding changesets
adding manifests
adding file changes
added XXX changesets with XXX changes to XXX files
updating working directory
XXX files updated, XXX files merged, XXX files removed, XXX files unresolved

So the user sees

% hg clone http://example.com/repo/big big
requesting all changes
adding changesets
adding manifests
adding file changes
added XXX changesets with XXX changes to XXX files
updating working directory

while Mercurial is writing to disk to populate the working directory

With this change, "hg clone" looks like this:

% hg clone big big-work
updating working directory
XXX files updated, XXX files merged, XXX files removed, XXX files unresolved
2008-03-21 14:52:24 +01:00
Dirkjan Ochtman
3e3b0d62eb warn about new heads on commit (issue842) 2008-03-21 11:06:02 +01:00
Alexis S. L. Carvalho
03368f5190 Revert 854bf5451519, fixing the output of 2 tests 2008-03-15 22:03:18 -03:00
Matt Mackall
9f54c46920 update tests for copy detection changes 2008-03-15 16:51:53 -05:00
Matt Mackall
9d996cd13f merge: allow smarter tool configuration
Add [merge-tool] hgrc section with:
 <tool>.executable = name or path (<tool>)
 <tool>.args = args with $local/base/other/output ($local $base $other)
 <tool>.priority = priority (default 0)
 <tool>.binary = handles binary (False)
 <tool>.symlink = handles symlinks (False)
 <tool>.checkconflict = check for conflict markers (False)
 <tool>.premerge = try internal simplemerge (True if not binary or symlink)

Four built-in tools: internal:{merge,local,other,fail}

Add [merge-patterns] section of the form:
 <pattern> = <tool>

Priority of settings is:
 HGMERGE
 merge-patterns
 ui:merge
 merge-tools by priority
 hgmerge, if it can be found

Changes:
 unsuccessful merges leave .orig files
2008-02-03 19:29:05 -06:00
Matt Mackall
11423d02c7 diff: don't show function name by default
We'd mistakenly made the -p option always on, which meant there was no
way to turn it off. It also meant that we were sometimes splitting
multibyte characters in function name, which isn't a good default.
2008-01-16 11:14:24 -06:00
Matt Mackall
3f58de820d merge: add debug diagnostics for findcopies 2007-10-04 19:44:37 -05:00
Benoit Boissinot
3f2046d235 Backed out changeset 0fc94973be4ffeb0b5ace8a920dec676a9a51130 2006-10-31 13:02:49 +01:00
Benoit Boissinot
58322272ec allow update to switch to a different branch if the repo is clean 2006-10-29 13:08:10 +01:00
Matt Mackall
384f4460ac merge: if filemerge skips merge, report as updated 2006-10-15 16:18:09 -05:00
Matt Mackall
2e860ba70d merge: various tidying
update tests to handle corrected output and new workingctx display
2006-10-10 02:15:20 -05:00
Matt Mackall
41f0942fa0 merge: shortcircuit filemerge for identical files
- use filectx.cmp to compare files
- move merge messages into filemerge
- kill the redundant resolving message
- update tests
2006-10-10 01:16:06 -05:00
Matt Mackall
3acfbeaf4c filemerge: use contexts rather than my and other 2006-10-09 21:27:04 -05:00
Matt Mackall
a9124fdfed merge: extend file merge function for renames 2006-10-02 12:04:48 -05:00
Matt Mackall
885b6f1a23 merge: simplify actions with helper function 2006-09-17 21:27:30 -05:00
Matt Mackall
56ee773f9b merge: simplify local created logic 2006-09-17 21:11:26 -05:00
Matt Mackall
769045bfdc merge: remove linear variable 2006-09-17 17:13:02 -05:00
Matt Mackall
9ee666d233 merge: use context code to retrieve manifests 2006-08-22 19:32:16 -05:00
Matt Mackall
b3f3e7896e merge: combine merge and get lists 2006-08-22 18:06:17 -05:00
Matt Mackall
656a5f8eb1 merge: simplify working dir manifest generation 2006-08-22 17:08:38 -05:00
Matt Mackall
ba56a1fdbd Only show long hashes with --debug, not --verbose 2006-08-20 22:51:56 -05:00
Vadim Gelfer
5a993ee589 merge. 2006-08-18 21:17:28 -07:00
Vadim Gelfer
efefb2e2cb merge with other head by default, not tip.
fixes issue 339.
2006-08-15 11:38:07 -07:00
Matt Mackall
76c5adea2f Merge with crew, fix most tests 2006-08-09 13:55:18 -05:00
Matt Mackall
de047b03ce Introduce update helper functions: update, merge, clean, and revert 2006-08-07 22:54:33 -05:00
Vadim Gelfer
61cd2f1088 addremove: do not deprecate.
command is too useful to drop.
is also best place to try autodetect of rename/copy by content similarity.
2006-07-23 09:04:14 -07:00
Thomas Arendsen Hein
56992c9012 Adjusted test output to changed abort message of 'hg merge' (from 37579062eb39) 2006-07-03 19:28:31 +02:00
Vadim Gelfer
e5df462a15 deprecate 'update -m'. use 'merge' instead. 2006-05-14 21:07:34 -07:00
Thomas Arendsen Hein
26b0a124c3 Corrected test output for deprecated addremove command. 2006-05-03 10:18:52 +02:00
Thomas Arendsen Hein
46d0753ec7 Make hg update more verbose by default (issue12)
(including small changes to revert and backout to not show these stats
 with the exception of backout --merge)

Show update stats (unless -q), e.g.:
K files updated, L files merged, M files removed, N files unresolved

Inform the user what to do after a merge:
(branch merge, don't forget to commit)

Inform the user what to do if a branch merge failed:
There are unresolved merges, you can redo the full merge using:
  hg update -C X
  hg merge Y

Inform the user what to do if a working directory merge failed:
There are unresolved merges with locally modified files.
2006-05-02 18:44:02 +02:00
Benoit Boissinot
f7a8bbae4a fix update when a locally added file match the target revision
the dirstate entry for the added file wasn't updated.
fix issue207
2006-04-14 00:41:50 +02:00
Thomas Arendsen Hein
a402f37fa4 Tell the user the real "hg update -C" command, not just "-C" when aborting. 2006-04-02 18:16:06 +02:00
Vadim Gelfer
dfe0de6855 add merge command. means same thing as "update -m".
repo.addchangegroup method now returns number of heads modified and added,
so command line can tell whether update or merge needed.  this makes
tiny change to ssh wire protocol, but change is backwards compatible.

pull command now returns 0 if no changes to pull.
2006-03-29 10:27:16 -08:00
mcmillen@cs.cmu.edu
9d80060582 Spelling fix: "commited" -> "committed" 2006-03-24 14:53:23 +01:00
Thomas Arendsen Hein
1b244c77c7 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Some systems show "Thu Jan 01" instead of "Thu Jan  1", which breaks tests.
Using "1000000" yields "Mon Jan 12 13:46:40 1970", which looks the same on
all systems.
2006-03-13 13:05:41 +01:00
Benoit Boissinot
44b4096bf9 ui: output the number of file updated/merged/removed/... on update
add a note for people to remember commiting after a merge.
2006-03-13 08:56:59 +01:00
Benoit Boissinot
3ab75bc4a6 abort when using 'update -m' and this is not a merge
add more testcases for updating with local changes
2006-02-01 08:46:24 +01:00
mason@suse.com
7bc44b52d9 Add new bdiff based unidiff generation. 2006-01-24 15:02:10 +13:00
Benoit Boissinot
f5b155c0a3 abort when merging two heads and repository has local changes 2005-12-14 22:19:03 -06:00
Matt Mackall
f2dd52a8e4 Repair ancestor logic, fix up test cases 2005-09-26 16:52:47 -07:00
Samuel Tardieu
c5def6fc1c [PATCH] Print timezone offset when outputting dates
Example:

% hg log | head -12
changeset:   791:41440890e57d2dbacde03a2a114e5114a031ea4a
tag:         tip
user:        Samuel Tardieu <sam@rfc1149.net>
date:        Mon Jul 25 13:24:15 2005 +0200
summary:     Parse various date formats when accepting user specified dates
[...]
changeset:   787:ba5c2021364ee876dae170e8f153e43bd0b2bd73
parent:      785:31a80e3723cee0a5991340facb2707e71983eb41
user:        Bryan O'Sullivan <bos@serpentine.com>
date:        Sun Jul 24 00:39:24 2005 -0800
summary:     Get "forget" command to use new walk code.
[...]
2005-08-19 23:23:42 -08:00
mpm@selenic.com
ea7bd9ea6f run-tests: remove '+ hg' trick
This was causing me a fair amount of debugging confusion. Let's just
forget it entirely. Updated tests to match.
2005-08-16 19:03:01 -08:00
Thomas Arendsen Hein
87aabef405 Updated output of tests. 2005-07-29 15:21:02 +01:00
mpm@selenic.com
e77f03935e Fix tests for short changeset hashes and hidden manifest hashes 2005-07-27 10:21:19 -08:00
mpm@selenic.com
907e714bb6 Fix up test results
No more errnos
diff | sed changes
.out message ok
2005-07-26 19:23:59 -08:00
mpm@selenic.com
9520e62074 Fix local file changes being ignored after non-branch merge
Bug introduced in 45dd84ebbed8
Spotted by TAH
2005-07-23 10:00:56 -05:00
Bryan O'Sullivan
6870215310 Update tests to match new addremove chattiness. 2005-07-22 19:46:02 -08:00
mpm@selenic.com
3a08ca5eaa Update tests to use commit -m and default -u
manifest hash: 6e4385453843031a712005a320d6000595b40d05
2005-07-21 15:05:17 -05:00