Commit Graph

554 Commits

Author SHA1 Message Date
Benoit Boissinot
9eaa24618d correctly update dirstate after update+mode change (issue1456) 2009-01-07 02:11:17 +01:00
Dirkjan Ochtman
574603a8c0 use dict.iteritems() rather than dict.items()
This should be faster and more future-proof. Calls where the result is to be
sorted using util.sort() have been left unchanged. Calls to .items() on
configparser objects have been left as-is, too.
2009-01-12 09:16:03 +01:00
Matt Mackall
48ebb7a1ba merge: fix bug going backwards for already reverted files (issue1303) 2008-10-08 16:22:08 -05:00
Martin Geisler
28fb695e9a i18n: mark strings for translation in Mercurial 2008-08-31 16:12:02 +02:00
Dirkjan Ochtman
6b51480caa merge with crew-stable 2008-08-12 17:47:08 +02:00
Matt Mackall
e03f4e2f73 util: set_flags shouldn't know about repo flag formats 2008-08-10 21:55:06 -05:00
Paul Moore
ab028fc78a Sort removes first when applying updates (fixes issues 750 and 912)
This change ensures that removes happen first in applyupdates(). This avoids
issues where we try to make a case-only rename of a file on a case insensitive
system. Without this patch, the add of the new name happens before the remove
of the old one - which results in the file not existing, as the two names are
effectively the same.

With the patch, the old name gets removed then the new one gets added, which
is always safe.
2008-07-01 17:59:31 +01:00
Matt Mackall
a65ef7bc5d util: add sort helper 2008-06-27 18:28:45 -05:00
Matt Mackall
fbb5127472 use repo[changeid] to get a changectx 2008-06-26 14:35:46 -05:00
Matt Mackall
b2155285a8 rename checkfolding to checkcase 2008-06-26 13:58:24 -05:00
Matt Mackall
5867ff1667 use repo.changectx(None) to get a workingctx 2008-06-26 13:46:29 -05:00
Patrick Mezard
d06361ae38 merge: replace readline() call, missing from posixfile_nt 2008-04-12 20:51:26 +02:00
Matt Mackall
edf5a0f5d0 resolve: new command
- add basic resolve command functionality
- point failed update and merge at resolve
2008-04-11 12:52:56 -05:00
Dirkjan Ochtman
77eea08b47 python-2.6: use sha wrapper from util for new merge code 2008-04-11 12:04:26 +02:00
Matt Mackall
8d82cba09a merge: introduce mergestate 2008-04-10 15:02:24 -05:00
Matt Mackall
c9895536f8 copies: skip directory rename checks when not merging
The directory rename checks are not meaningful unless we're moving or copying
files across a branch during a merge.
2008-03-29 12:39:47 -05:00
Thomas Arendsen Hein
5690af9ff7 Fix missing space in one of the new update messages. 2008-03-24 20:28:13 +01: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
Matt Mackall
9454e6e5aa update: no -C needed to switch branches without outstanding changes 2008-03-22 13:30:08 -05:00
Matt Mackall
5c5200eb63 diff: use copy smarts from copies.py 2008-03-15 10:02:31 -05:00
Matt Mackall
79c8f65d30 copies: move findcopies code to its own module
- pass in contexts
- fold symmetricdifference check into copies.copies
2008-03-15 10:02:31 -05:00
Matt Mackall
ce54a3ea46 merge: move symmetricdifferences to ancestor.py 2008-03-15 10:02:31 -05:00
Matt Mackall
f1d323b3b4 merge: simplify some helpers 2008-03-15 10:02:31 -05:00
Matt Mackall
67e4145eba merge: more simplifications to checkcopies 2008-03-15 10:02:31 -05:00
Matt Mackall
8cbc2c104e merge: simplify checkcopies 2008-03-15 10:02:31 -05:00
Matt Mackall
3a2aa805f9 merge: privatize some functions, unnest some others 2008-03-15 10:02:31 -05:00
Alexis S. L. Carvalho
af51350c6e merge: notice uncommited copies (issue1000)
As mentioned in msg5349 in issue988, "hg update" doesn't take into account
uncommitted copies.  To reproduce:

----------------
hg init repo
cd repo

touch foo
hg ci -Am 'add foo'

echo >> foo
hg ci -m 'change foo'

hg up -C 0
hg mv foo bar
HGMERGE=false thg --debug -y update
--------------------------

A similar problem happens with hg merge --force.

I'm attaching a possible patch.
2008-03-14 11:01:31 -05:00
Alexis S. L. Carvalho
fa062ecb4c merge: require --force when there are deleted files 2008-03-14 09:56:58 -03:00
Alexis S. L. Carvalho
d98fc139f2 merge: fix handling of deleted files 2008-03-12 15:44:08 -07:00
Joel Rosdahl
5dae3059a0 Expand import * to allow Pyflakes to find problems 2008-03-06 22:23:26 +01:00
Matt Mackall
22c4273b99 filemerge: pull file-merging code into its own module 2008-02-03 19:29:05 -06:00
Matt Mackall
262c766059 merge: add a bit more sanity to divergent copy checks 2008-01-14 16:28:32 -06:00
Matt Mackall
c7663b5b00 merge: add flag merging intelligence
- properly handle all 27 combinations of flags
- prompt on conflicts
2007-12-27 22:47:44 -06:00
Matt Mackall
d9e4ee2c04 merge: use util.set_flags 2007-12-27 22:27:48 -06:00
Matt Mackall
7edaa19dd3 merge: simplify merge tests, fix exec flag bug
If local changed exec bit and remote changed file contents, exec bit
change would be lost.
2007-12-27 22:27:37 -06:00
Thomas Arendsen Hein
3cd6fe199f merge with crew-stable 2007-12-26 23:03:32 +01:00
Thomas Arendsen Hein
94bdbd585c Fix misleading error and prompts during update/merge (issue556) 2007-12-26 22:47:16 +01:00
Alexis S. L. Carvalho
d5cac48462 Honour the exec bit when we go back in time.
Fixes issue801.
2007-11-05 18:49:35 -02:00
Matt Mackall
5706b9f949 update: default to tipmost branch if default branch doesn't exist 2007-12-02 15:15:49 -06:00
Matt Mackall
639bd228f5 findcopies: fix rename bug
We've fiddled with this line several times, and an old bug has
reappeared from it. Let's take a peek at the history.

The original "or" (rev 3674, in 0.9.2 and 0.9.3):
  http://www.selenic.com/hg/rev/9099b35951af

Then I changed it to an "and" to fix a bug (rev 4304):
  http://www.selenic.com/hg/rev/c0a9681f37d2

Then for reasons now lost in the mists of time, I dropped half (rev 4399):
  http://www.selenic.com/hg/rev/28b43ceec6c1

Then we added back the "or" (rev 4416, in 0.9.4):
  http://www.selenic.com/hg/rev/1b74e1831bb9

So it seems it ought to be "and".
2007-10-08 18:47:22 -05:00
Patrick Mezard
2d1e4a3c40 merge: provide *_ISLINK environment vars to merge helper
Sets HG_MY_ISLINK, HG_OTHER_ISLINK, HG_BASE_ISLINK in environment. Without these variables, it's impossible for the merge application to know whether the 'other' and 'base' files were symlinks in their original contexts. For the purposes of the merge they are always emitted as small text files.
2007-10-03 23:09:36 +02:00
Matt Mackall
3f58de820d merge: add debug diagnostics for findcopies 2007-10-04 19:44:37 -05:00
Alexis S. L. Carvalho
a345c2c9da merge: forcefully mark files that we get from the second parent as dirty
After a hg merge, we want to include in the commit all the files that we
got from the second parent, so that we have the correct file-level
history.  To make them visible to hg commit, we try to mark them as dirty.

Unfortunately, right now we can't really mark them as dirty[1] - the
best we can do is to mark them as needing a full comparison of their
contents, but they will still be considered clean if they happen to be
identical to the version in the first parent.

This changeset extends the dirstate format in a compatible way, so that
we can mark a file as dirty:

Right now we use a negative file size to indicate we don't have valid
stat data for this entry.  In practice, this size is always -1.

This patch uses -2 to indicate that the entry is dirty.  Older versions
of hg won't choke on this dirstate, but they may happily mark the file
as clean after a full comparison, destroying all of our hard work.

The patch adds a dirstate.normallookup method with the semantics of the
current normaldirty, and changes normaldirty to forcefully mark the
entry as dirty.

This should fix issue522.

[1] - well, we could put them in state 'm', but that state has a
different meaning.
2007-08-23 01:48:29 -03:00
Alexis S. L. Carvalho
a866998db8 merge with crew-stable 2007-08-12 12:43:52 -03:00
Alexis S. L. Carvalho
664fc9f5dd merge: fix a copy detection bug (issue672)
When merging rev1 and rev2, we want to search for copies that happened
in rev1 but not in rev2 and vice-versa.  We were starting the search at
rev1/rev2 and then going back, stopping as soon as we reached the revno
of the ancestor, but that can miss some cases (see the new
test-issue672).

Now we calculate the revisions that are ancestors of rev1 or rev2 (but
not both) and make sure the search doesn't stop too early.

Simplified test provided by mpm, based on a test case provided by
Edward Lee.
2007-08-12 12:15:10 -03:00
Bryan O'Sullivan
1b98353d91 Make audit_path more stringent.
The following properties of a path are now checked for:

    - under top-level .hg
    - starts at the root of a windows drive
    - contains ".."
    - traverses a symlink (e.g. a/symlink_here/b)
    - inside a nested repository

If any of these is true, the path is rejected.

The check for traversing a symlink is arguably stricter than necessary;
perhaps we should be checking for symlinks that point outside the
repository.
2007-08-10 10:46:03 -07:00
Matt Mackall
f5270b4251 Merge with -stable 2007-08-02 13:23:53 -05:00
Matt Mackall
2cee92939f merge: avoid double deletion mentioned in issue636 2007-08-02 12:29:10 -05:00
Matt Mackall
600c42bfbf Merge with stable 2007-08-01 14:03:48 -05:00
Matt Mackall
d76c06eeb0 merge: do early copy to deal with issue636
Without copies/renames, merges source names are 1:1 with their
targets. Copies and renames introduce the possibility that there will
be two merges with the same input but different output. By doing the
copy to the destination name before the merge, the actual merge
becomes 1:1 again, and no source is the input to two different merges.

- add a preliminary scan to applyupdates to do copies
- for the merge action, pass the old name (for finding ancestors) and
  the new name (for input to the merge) to filemerge
- eliminate the old post-merge copy
- lookup file contents from new name in filemerge
- pass new name to external merge helper
- report merge failure at new name
- add a test
2007-08-01 12:33:12 -05:00
Matt Mackall
169bd362a1 Merge with -stable 2007-07-26 12:02:55 -05:00
Matt Mackall
0ac116e475 merge: don't forget to update the dirstate for exec bit changes 2007-07-26 11:19:53 -05:00
Matt Mackall
3a3bd8ec5b Make repo locks recursive, eliminate all passing of lock/wlock 2007-07-21 16:02:10 -05:00
Matt Mackall
3e13c68628 Use try/finally pattern to cleanup locks and transactions 2007-07-21 16:02:10 -05:00
Matt Mackall
cf691df912 dirstate: break update into separate functions 2007-07-21 16:02:09 -05:00
Matt Mackall
1e9e9e4cdd merge: fix unnecessary rename merges on linear update (issue631)
If one side's revision is identical to the ancestor, we skip the rest
of the copy detection logic.
2007-07-15 14:43:38 -05:00
Matt Mackall
d00f8a1d6c merge: fix adding untracked files on directory rename (issue612)
Fix from Brendan
Added test case
2007-07-05 16:01:07 -05:00
Matt Mackall
cfe7a0a522 merge: make test for fast-forward merge stricter (issue619)
don't allow merging with an ancestor
fix != on contexts
add a test
2007-07-05 13:34:18 -05:00
Alexis S. L. Carvalho
cc6e60f60e merge: fix small bug with a failed merge across a rename
If $HGMERGE wasn't able to fix the conflicts, we wouldn't copy
f to fd, and util.set_exec wouldn't find the file.
2007-06-22 20:44:40 -03:00
Matt Mackall
a38809cf9e merge: warn user about divergent renames 2007-06-21 18:02:03 -05:00
Thomas Arendsen Hein
4d29c6dc8e Updated copyright notices and add "and others" to "hg version" 2007-06-19 08:51:34 +02:00
Thomas Arendsen Hein
483231d996 Cleanup of whitespace, indentation and line continuation. 2007-06-19 08:06:37 +02:00
Brendan Cully
b969d388db Make fast-forward merges full merges 2007-06-18 12:38:54 -07:00
Matt Mackall
5fa7270b2d Merge with stable 2007-05-08 11:42:48 -05:00
Matt Mackall
6bf7f7256d merge: fix spurious merges for copies in linear updates
We make better use of contexts to accurately identify copies that
don't need merges.

Add a simple test and update other tests.
2007-05-08 02:59:13 -05:00
Brendan Cully
fb4b5549c3 Add fast-forward branch merging 2007-05-06 20:27:45 -07:00
Matt Mackall
5290628c48 Merge with stable 2007-05-03 17:27:21 -05:00
Matt Mackall
32c298df8a merge: reorganize some hunks in findcopies 2007-05-03 17:24:43 -05:00
Matt Mackall
e05a1595b6 merge: simplify a check in checkcopies 2007-05-03 17:24:43 -05:00
Matt Mackall
b3ab26f105 merge: expand and simplify the invalid handling for directory moves 2007-05-03 17:24:43 -05:00
Matt Mackall
691e10a07c merge: fix a bug detecting directory moves
When all the files in a directory are moved, it may be incorrectly marked as moved even if it contains subdirectories.
2007-05-03 17:24:43 -05:00
Matt Mackall
47ec1c2825 merge: clarify the findcopies code 2007-05-03 17:24:43 -05:00
Matt Mackall
e2dfe968ea Merge with stable 2007-04-16 12:37:30 -05:00
Matt Mackall
f63e728c54 merge: fix quadratic behavior in find-copies 2007-04-16 12:24:52 -05:00
Matt Mackall
1e8fed06d8 merge: fix a bug where copies were getting ignored 2007-04-05 16:25:47 -05:00
Alexis S. L. Carvalho
47cb22b5a2 Merge with crew-stable 2007-03-16 00:45:18 -03:00
Matt Mackall
e896adead6 Merge with -stable, fix small test failure 2007-03-14 01:26:09 -05:00
Matt Mackall
c2bb73121f Move branch read/write to dirstate where it belongs 2007-03-13 18:50:02 -05:00
Brendan Cully
5641becd5a Merge with crew-stable 2007-03-10 17:45:32 -08:00
Matt Mackall
4458a1780a merge: fix renaming of subdirectories under renamed directories 2007-02-27 16:20:06 -06:00
Matt Mackall
53a83c6c22 Merge with stable 2007-02-27 16:47:16 -06:00
Matt Mackall
de434078f7 symlinks: minimal support for symlinks in merge/update
This will get angry, confused, and sad if you try to merge a symlink
with a regular file.
2006-12-29 20:04:31 -06:00
Matt Mackall
9a533e02cb symlinks: add flags param to wwrite
Now wwrite can set symlink and exec for files
2006-12-29 20:04:31 -06:00
Matt Mackall
8ed93098b6 replace filehandle version of wwrite with wwritedata 2006-12-29 20:04:31 -06:00
Matt Mackall
ebc2b5ccc8 merge: fix a bug where copies were ignored 2007-04-05 16:43:18 -05:00
Matt Mackall
296d6a7cb8 Simplify i18n imports 2006-12-14 20:25:19 -06:00
Matt Mackall
f17a4e1934 Replace demandload with new demandimport 2006-12-13 13:27:09 -06:00
Matt Mackall
2623870448 Remove deprecated old-style branch support 2006-12-12 18:16:23 -06:00
Matt Mackall
d9f0b69ae5 Fix copy detection corner case
We were aborting if the copied from rev was before the cut-off limit,
rather than the copied _to_ rev. The copied from rev can be
arbitrarily old.
2006-12-12 17:52:33 -06:00
Alexis S. L. Carvalho
63ae667098 Use UTF-8 in .hg/branch 2006-12-10 20:35:28 -02:00
Matt Mackall
a8fff7f220 imported patch collision 2006-12-04 17:10:31 -06:00
Matt Mackall
aaf36f881a Handle transcoding of branch names 2006-12-03 16:16:33 -06:00
Matt Mackall
05748f203d merge: handle directory renames
commit: handle new copy dirstate case correctly
findcopies:
 keep a map of all copies found for directory logic
 add dirs filter
 check for merge:followdirs config option
 generate a directory move map
 find files that match directory move map
manifestmerge:
 add directory rename cases
applyupdates:
 skip actions with None file
 add "d" action
recordupdates:
 add "d" action
add simple directory rename test
2006-11-30 17:36:33 -06:00
Matt Mackall
452ab5fc24 merge: pull findcopies helpers inside, refactor checkpair to checkcopies 2006-11-30 17:36:33 -06:00
Matt Mackall
f8e4088f12 merge: move check for empty ancestor into findcopies 2006-11-30 17:36:33 -06:00
Matt Mackall
f9ab52977a merge: only store one direction of copies in the copy map
simplify checkpair
generate copied hash from copy map
make copy cases more symmetrical
2006-11-30 17:36:33 -06:00
Matt Mackall
224d8a5d1f merge: add copied hash to simplify copy logic 2006-11-30 17:36:33 -06:00
Matt Mackall
1c0e2e44bd merge: remove unused match logic from findcopies 2006-11-30 17:36:33 -06:00
Matt Mackall
8732a61bab merge: report destinations of moves in merge action messages 2006-11-30 17:36:33 -06:00
Brendan Cully
261404dfe1 Make context __eq__ handle arbitrary RHS values 2006-11-27 15:27:09 -08:00
Brendan Cully
791078de93 merge: Don't search for copies across unrelated manifests 2006-11-23 22:45:00 -08:00
Matt Mackall
f9f3aa2d91 avoid unnecessary copy merges 2006-11-18 11:34:19 -06:00
Thomas Arendsen Hein
411d64ce3e white space and line break cleanups 2006-11-17 08:06:54 +01:00
Matt Mackall
6239f7b678 Clarify untracked file merge message 2006-11-01 21:47:55 -06:00
Benoit Boissinot
83a68d580f merge with backout 2006-10-31 13:03:23 +01:00
Benoit Boissinot
3f2046d235 Backed out changeset 0fc94973be4ffeb0b5ace8a920dec676a9a51130 2006-10-31 13:02:49 +01:00
Benoit Boissinot
b8176cb795 use workingcontext.files() to detect if the repo is unclean 2006-10-29 14:18:55 +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
Thomas Arendsen Hein
687e4a7111 Define and use nullrev (revision of nullid) instead of -1. 2006-10-29 10:53:51 +01:00
Matt Mackall
785d7f44cb merge: fix branch setting
(and remove debugging message)
2006-10-17 22:59:01 -05:00
Matt Mackall
8c602e592a imported patch foo 2006-10-17 22:34:43 -05:00
Matt Mackall
384f4460ac merge: if filemerge skips merge, report as updated 2006-10-15 16:18:09 -05:00
Matt Mackall
492924b1a5 merge: update dirstate correctly for non-branchmerge updates
- we don't actually need the context in recordupdates
- use -1 for filesize to force check on normal update
- only record copy for branchmerges
- forget moved files on update
2006-10-13 17:58:04 -05:00
Matt Mackall
4d37ff4a92 merge: turn followcopies on by default 2006-10-12 14:49:19 -05:00
Matt Mackall
fef0705ae8 merge: pull user messages out to hg.py
- add _update for shadowing in clone
- add _showstats helper
- remove update parameter defaults
- move stats message and merge help messages
2006-10-10 03:39:44 -05:00
Matt Mackall
47200ceb34 merge: update some docstrings 2006-10-10 02:31:02 -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
285d3e6b86 merge: use contexts in checkunknown and forgetremoved 2006-10-10 01:43:58 -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
d2113ca490 merge: pull file copy/move out of filemerge 2006-10-10 00:54:00 -05:00
Matt Mackall
8df16edc62 merge: unify merge and copy actions 2006-10-10 00:41:55 -05:00
Matt Mackall
03952b0c2d merge: swap file and mode args for act() 2006-10-10 00:32:30 -05:00
Matt Mackall
12fd359e4a merge: finish removing nodes from action list 2006-10-10 00:22:03 -05:00
Matt Mackall
642329c803 merge: eliminate nodes from action list
- eliminate my and other from merge and copy
- eliminate node from get
- use mctx for get
- fix bug flag = a[2:]
- pass mctx to recordupdates
- use new filectx.size in recordupdates
2006-10-09 23:23:25 -05:00
Matt Mackall
3acfbeaf4c filemerge: use contexts rather than my and other 2006-10-09 21:27:04 -05:00
Matt Mackall
598b522a75 merge: pass contexts to applyupdates 2006-10-09 20:32:03 -05:00
Matt Mackall
3ad18f34e2 merge: don't call hooks for revert
- don't call hooks for revert
- use extra variables to avoid swapping contexts
2006-10-09 18:13:38 -05:00
Matt Mackall
83b47aba30 merge: use contexts for manifestmerge
- take ma, backwards, and copy out of update
- move findcopies call inside manifestmerge
- pass repo rather than ui
2006-10-09 16:07:19 -05:00
Matt Mackall
ddd540c49d merge: remember rename copies and parents properly on commit
record copies in dirstate even if rename was remote
  this lets us record it properly at commit
teach checkfilemerge about copies, including merge cases
pull old copy code out of commit
extend rename-merge1 test to show file index
2006-10-08 19:57:45 -05:00
Matt Mackall
718de207ba merge: copy fixes and tests
Fix up "already seen" logic
Fix merge action in remote copy case
Add status message
Add lots of merge+copy/move test cases
2006-10-06 16:55:11 -05:00
Matt Mackall
81e539f559 merge: fixes for merge+rename
findcopies: ignore files renamed on both branches
applyupdates: change remove flag to move
recordupdates: record copy actions, including local moves and deletions
2006-10-04 19:08:04 -05:00
Matt Mackall
1ceaacc1cf merge: add rename following
Currently disabled by default, enable with

[merge]
followcopies = 1
2006-10-04 15:43:27 -05:00
Matt Mackall
88fc6d0497 merge: reduce manifest copying 2006-10-04 14:33:22 -05:00
Matt Mackall
246beb812d merge: reorder dirstate update slightly for correctness 2006-10-04 14:09:26 -05:00
Matt Mackall
93a98b345e merge: use new working context object in update 2006-10-03 01:21:46 -05:00
Matt Mackall
3fb2b33be7 merge: remove old merge function 2006-10-02 12:06:33 -05:00
Matt Mackall
a9124fdfed merge: extend file merge function for renames 2006-10-02 12:04:48 -05:00
Matt Mackall
450d02d6e1 merge: minor nullid cleanup 2006-09-29 17:50:59 -05:00
Matt Mackall
72659a3964 merge: use repo.parents and parent contexts in update 2006-09-29 16:39:38 -05:00
Matt Mackall
4f4a6b4d59 merge: move partial filtering out of manifest merge 2006-09-26 16:21:52 -05:00
Matt Mackall
366e05ddd4 merge: move findcopies after workingmanifest 2006-09-26 16:04:07 -05:00
Matt Mackall
a8304d2a61 findcopies: shortcut for empty working dir 2006-09-26 15:58:51 -05:00
Matt Mackall
ef4a93bd92 findcopies: use dirstate rename information 2006-09-25 20:31:05 -05:00
Matt Mackall
235ebaa809 Add core copy detection algorithm
This adds findcopies, which detects merge-relevant copies between
files in a pair of manifests back to the merge ancestor.

While the merge code invokes the copy detection routine, it does not
yet use the result.
2006-09-25 16:45:31 -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
3fb7ecf4fc merge: simplify prompt code 2006-09-17 20:43:06 -05:00
Matt Mackall
55f5616f63 merge: simplify exec flag handling 2006-09-17 20:38:02 -05:00
Matt Mackall
e626757894 merge: simplify tests for local changed/remote deleted 2006-09-17 20:18:27 -05:00
Matt Mackall
130870e3b4 merge: more simplification of m2 manifest scanning 2006-09-17 20:10:54 -05:00
Matt Mackall
7b613a7651 merge: reorder tests on m2 items in manifestmerge 2006-09-17 20:00:14 -05:00
Matt Mackall
35d8b2766b merge: eliminate redundant security check
duplicated in applyupdates
2006-09-17 19:54:01 -05:00
Matt Mackall
dbfce7afdf merge: eliminate confusing queued variable 2006-09-17 19:53:19 -05:00
Matt Mackall
57a97bbee9 merge: remove no longer possible clause 2006-09-17 18:28:50 -05:00
Matt Mackall
f974d70a70 merge: move apply and dirstate code into separate functions 2006-09-17 17:39:19 -05:00
Matt Mackall
769045bfdc merge: remove linear variable 2006-09-17 17:13:02 -05:00
Matt Mackall
7a90b4f86c merge: simplify hook code 2006-09-17 17:07:44 -05:00
Matt Mackall
0ef93234ad merge: linear_path -> linear 2006-09-17 16:50:17 -05:00
Matt Mackall
e892404453 merge: pull manifest checks and updates into separate functions 2006-09-17 16:47:33 -05:00
Matt Mackall
404e69c300 merge: remove now unused umap dict 2006-09-17 16:13:34 -05:00
Matt Mackall
d9a7957055 merge: pull manifest comparison out into separate function 2006-09-17 16:13:03 -05:00
Matt Mackall
abd544b718 Merge with mainline 2006-09-17 16:02:09 -05:00
Matt Mackall
c8ac19165e merge: move set_exec to actions 2006-09-17 15:59:59 -05:00
Matt Mackall
1b67b22515 merge: add forget to action list 2006-09-17 15:54:51 -05:00
Matt Mackall
79c61d8eaf merge: add codes to action list, eliminate None elements 2006-09-17 15:24:00 -05:00
Matt Mackall
57ca71b692 merge: convert actions to list 2006-09-17 15:10:56 -05:00
Matt Mackall
3f3298dd8d Merge with crew 2006-09-15 15:22:45 -05:00
Matt Mackall
074aff45fa merge: fold umap and added into m1 manifest 2006-08-22 21:02:25 -05:00
Matt Mackall
7da2e9f3e6 merge: make unresolved a counter 2006-08-22 19:39:54 -05:00
Matt Mackall
9ee666d233 merge: use context code to retrieve manifests 2006-08-22 19:32:16 -05:00
Matt Mackall
877cbe24e7 merge: add remove to the action hash 2006-08-22 19:12:09 -05:00
Matt Mackall
b3f3e7896e merge: combine merge and get lists 2006-08-22 18:06:17 -05:00
Matt Mackall
97bb8b2e5a merge: remove redundant if 2006-08-22 17:42:55 -05:00
Matt Mackall
849cf59e94 merge: eliminate mw manifestdict, do everything with m1 2006-08-22 17:26:44 -05:00
Matt Mackall
8ae551b4fc merge: eliminate usage of m1 after working manifest creation 2006-08-22 17:20:09 -05:00
Matt Mackall
656a5f8eb1 merge: simplify working dir manifest generation 2006-08-22 17:08:38 -05:00
Matt Mackall
ccb62f0c64 merge: simplify some update logic 2006-08-22 16:47:27 -05:00
Matt Mackall
d4f0a394a2 merge: hoist partial code out of manifest loops 2006-08-22 16:23:29 -05:00
Matt Mackall
df3ced818f merge: minor simplification 2006-08-22 16:12:54 -05:00
Matt Mackall
d746d64e0e merge: rename mysterious variable 2006-08-21 14:25:56 -05:00
Matt Mackall
6d080c6780 merge: add backwards variable 2006-08-21 14:21:42 -05:00
Matt Mackall
975492a5a4 merge: consolidate dirstate updates 2006-08-15 23:17:06 -05:00
Matt Mackall
11dee4259d merge: use file size stored in revlog index
Add size method to filelog to handle nodes with renames
2006-08-15 22:46:35 -05:00
Matt Mackall
6f3c141b47 merge: move forgets to the apply stage 2006-08-15 18:30:21 -05:00
Matt Mackall
69d93c90a9 trivial bool() cleanup 2006-08-15 18:12:36 -05:00
Matt Mackall
61c48232d9 merge: hoist some working manifest logic out of merge loop 2006-08-15 16:27:19 -05:00
Matt Mackall
dd967a0972 merge: working manifest new/changed
To remove dependence on m1 during manifest comparison, we distinguish between
new and changed states in mw.
2006-08-15 16:12:51 -05:00
Matt Mackall
86a0d1f25a merge: factor out exec bit merge function 2006-08-15 15:58:10 -05:00
Matt Mackall
4483b407fd Use revlog hash comparison technique in merge 2006-08-15 15:45:45 -05:00
Matt Mackall
e6c07820a7 Merge with crew 2006-08-14 14:42:15 -05:00
Matt Mackall
d492a3834e merge: minor simplification 2006-08-14 14:14:08 -05:00
Vadim Gelfer
80d6f2f7c7 remove localrepository.changes.
use localrepository.status instead.
2006-08-12 16:40:12 -07:00
Matt Mackall
c676e5167a Merge: use single objects for tracking manifests 2006-08-09 22:07:13 -05:00
Matt Mackall
f048c758d8 Merge: save away mode bit so that we don't need manifest later 2006-08-09 17:11:01 -05:00
Matt Mackall
7c0506a4f5 Merge manifest refactor work 2006-08-09 15:03:46 -05:00
Matt Mackall
55b6f733d9 Merge: combine force and forcemerge arguments 2006-08-08 10:56:48 -05:00
Matt Mackall
94db72708b Merge: move most tests to the beginning 2006-08-08 10:35:19 -05:00
Matt Mackall
f8ef0497f7 Merge: refactor err and failedmerge -> unresolved 2006-08-08 09:26:00 -05:00
Matt Mackall
0b0ee1ba50 Refactor update locking slightly 2006-08-08 09:19:20 -05:00
Matt Mackall
60a6e68764 Merge: combine choose and moddirstate to partial 2006-08-08 09:11:16 -05:00
Matt Mackall
26928ff9de Rename merge.allow -> merge.branchmerge 2006-08-07 23:53:04 -05:00
Matt Mackall
3dcc28a29a Merge with crew 2006-08-07 16:47:06 -05:00
Matt Mackall
65b6faa1aa Move merge code to its own module
Pull update and merge3 out of localrepo into merge.py
s/self/repo/
Add temporary API function in hg.py
Convert all users
2006-08-03 15:24:41 -05:00
Benoit Boissinot
36b97cfba0 fix errors reported by pychecker
mercurial/merge.py:174: No global (mode) found
mercurial/merge.py:253: No global (errno) found
2006-08-26 11:19:00 +02:00