Commit Graph

628 Commits

Author SHA1 Message Date
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