##// END OF EJS Templates
merge 0.8.1 with revlogng
Chris Mason -
r2083:345107e1 merge default
parent child Browse files
Show More
@@ -9,3 +9,4 b' 4ccf3de52989b14c3d84e1097f59e39a992e00bd'
9 eac9c8efcd9bd8244e72fb6821f769f450457a32 0.6c
9 eac9c8efcd9bd8244e72fb6821f769f450457a32 0.6c
10 979c049974485125e1f9357f6bbe9c1b548a64c3 0.7
10 979c049974485125e1f9357f6bbe9c1b548a64c3 0.7
11 3a56574f329a368d645853e0f9e09472aee62349 0.8
11 3a56574f329a368d645853e0f9e09472aee62349 0.8
12 6a03cff2b0f5d30281e6addefe96b993582f2eac 0.8.1
@@ -14,6 +14,7 b' versionstr = "0.45"'
14
14
15 repomap = {}
15 repomap = {}
16
16
17 commands.norepo += " qversion"
17 class queue:
18 class queue:
18 def __init__(self, ui, path, patchdir=None):
19 def __init__(self, ui, path, patchdir=None):
19 self.basepath = path
20 self.basepath = path
@@ -47,6 +47,11 b' type "$KDIFF3" >/dev/null 2>&1 || KDI'
47 type "$TKDIFF" >/dev/null 2>&1 || TKDIFF=
47 type "$TKDIFF" >/dev/null 2>&1 || TKDIFF=
48 type "$MELD" >/dev/null 2>&1 || MELD=
48 type "$MELD" >/dev/null 2>&1 || MELD=
49
49
50 # Hack for Solaris
51 TEST="/usr/bin/test"
52 type "$TEST" >/dev/null 2>&1 || TEST="/bin/test"
53 type "$TEST" >/dev/null 2>&1 || TEST="test"
54
50 # random part of names
55 # random part of names
51 RAND="$RANDOM$RANDOM"
56 RAND="$RANDOM$RANDOM"
52
57
@@ -118,7 +123,7 b' if [ -n "$FILEMERGE" ]; then'
118 # filemerge prefers the right by default
123 # filemerge prefers the right by default
119 $FILEMERGE -left "$OTHER" -right "$LOCAL" -ancestor "$BASE" -merge "$LOCAL"
124 $FILEMERGE -left "$OTHER" -right "$LOCAL" -ancestor "$BASE" -merge "$LOCAL"
120 [ $? -ne 0 ] && echo "FileMerge failed to launch" && failure
125 [ $? -ne 0 ] && echo "FileMerge failed to launch" && failure
121 test "$LOCAL" -nt "$CHGTEST" && success || ask_if_merged
126 $TEST "$LOCAL" -nt "$CHGTEST" && success || ask_if_merged
122 fi
127 fi
123
128
124 if [ -n "$DISPLAY" ]; then
129 if [ -n "$DISPLAY" ]; then
@@ -142,7 +147,7 b' if [ -n "$DISPLAY" ]; then'
142 # use the file with conflicts
147 # use the file with conflicts
143 $MELD "$LOCAL.tmp.$RAND" "$LOCAL" "$OTHER" || failure
148 $MELD "$LOCAL.tmp.$RAND" "$LOCAL" "$OTHER" || failure
144 # Also it doesn't return good error code
149 # Also it doesn't return good error code
145 test "$LOCAL" -nt "$CHGTEST" && success || ask_if_merged
150 $TEST "$LOCAL" -nt "$CHGTEST" && success || ask_if_merged
146 fi
151 fi
147 fi
152 fi
148
153
@@ -153,7 +158,7 b' if [ -n "$MERGE" -o -n "$DIFF3" ]; then'
153 $EDITOR "$LOCAL" || failure
158 $EDITOR "$LOCAL" || failure
154 # Some editors do not return meaningful error codes
159 # Some editors do not return meaningful error codes
155 # Do not take any chances
160 # Do not take any chances
156 test "$LOCAL" -nt "$CHGTEST" && success || ask_if_merged
161 $TEST "$LOCAL" -nt "$CHGTEST" && success || ask_if_merged
157 fi
162 fi
158
163
159 # attempt to manually merge with diff and patch
164 # attempt to manually merge with diff and patch
@@ -170,7 +175,7 b' if [ -n "$DIFF" -a -n "$PATCH" ]; then'
170 else
175 else
171 # If rejects are empty after using the editor, merge was ok
176 # If rejects are empty after using the editor, merge was ok
172 $EDITOR "$LOCAL" "$LOCAL.rej" || failure
177 $EDITOR "$LOCAL" "$LOCAL.rej" || failure
173 test -s "$LOCAL.rej" || success
178 $TEST -s "$LOCAL.rej" || success
174 fi
179 fi
175 failure
180 failure
176 fi
181 fi
@@ -2390,7 +2390,7 b' def revert(ui, repo, *pats, **opts):'
2390 # make backup if in target manifest
2390 # make backup if in target manifest
2391 # make backup if not in target manifest
2391 # make backup if not in target manifest
2392 (modified, revert, remove, True, True),
2392 (modified, revert, remove, True, True),
2393 (added, revert, forget, True, True),
2393 (added, revert, forget, True, False),
2394 (removed, undelete, None, False, False),
2394 (removed, undelete, None, False, False),
2395 (deleted, revert, remove, False, False),
2395 (deleted, revert, remove, False, False),
2396 (unknown, add, None, True, False),
2396 (unknown, add, None, True, False),
@@ -2757,7 +2757,9 b' def undo(ui, repo):'
2757
2757
2758 This command is not intended for use on public repositories. Once
2758 This command is not intended for use on public repositories. Once
2759 a change is visible for pull by other users, undoing it locally is
2759 a change is visible for pull by other users, undoing it locally is
2760 ineffective.
2760 ineffective. Furthemore a race is possible with readers of the
2761 repository, for example an ongoing pull from the repository will
2762 fail and rollback.
2761 """
2763 """
2762 repo.undo()
2764 repo.undo()
2763
2765
@@ -2992,12 +2994,10 b' table = {'
2992 _('hg log [OPTION]... [FILE]')),
2994 _('hg log [OPTION]... [FILE]')),
2993 "manifest": (manifest, [], _('hg manifest [REV]')),
2995 "manifest": (manifest, [], _('hg manifest [REV]')),
2994 "merge":
2996 "merge":
2995 (merge,
2997 (merge,
2996 [('b', 'branch', '', _('merge with head of a specific branch')),
2998 [('b', 'branch', '', _('merge with head of a specific branch')),
2997 ('', 'style', '', _('display using template map file')),
2999 ('f', 'force', None, _('force a merge with outstanding changes'))],
2998 ('f', 'force', None, _('force a merge with outstanding changes')),
3000 _('hg merge [-b TAG] [-f] [REV]')),
2999 ('', 'template', '', _('display with template'))],
3000 _('hg merge [-b TAG] [-f] [REV]')),
3001 "outgoing|out": (outgoing,
3001 "outgoing|out": (outgoing,
3002 [('M', 'no-merges', None, _('do not show merges')),
3002 [('M', 'no-merges', None, _('do not show merges')),
3003 ('f', 'force', None,
3003 ('f', 'force', None,
@@ -3123,11 +3123,9 b' table = {'
3123 "^update|up|checkout|co":
3123 "^update|up|checkout|co":
3124 (update,
3124 (update,
3125 [('b', 'branch', '', _('checkout the head of a specific branch')),
3125 [('b', 'branch', '', _('checkout the head of a specific branch')),
3126 ('', 'style', '', _('display using template map file')),
3127 ('m', 'merge', None, _('allow merging of branches')),
3126 ('m', 'merge', None, _('allow merging of branches')),
3128 ('C', 'clean', None, _('overwrite locally modified files')),
3127 ('C', 'clean', None, _('overwrite locally modified files')),
3129 ('f', 'force', None, _('force a merge with outstanding changes')),
3128 ('f', 'force', None, _('force a merge with outstanding changes'))],
3130 ('', 'template', '', _('display with template'))],
3131 _('hg update [-b TAG] [-m] [-C] [-f] [REV]')),
3129 _('hg update [-b TAG] [-m] [-C] [-f] [REV]')),
3132 "verify": (verify, [], _('hg verify')),
3130 "verify": (verify, [], _('hg verify')),
3133 "version": (show_version, [], _('hg version')),
3131 "version": (show_version, [], _('hg version')),
@@ -3157,22 +3155,26 b' optionalrepo = ("paths debugconfig")'
3157 def findpossible(cmd):
3155 def findpossible(cmd):
3158 """
3156 """
3159 Return cmd -> (aliases, command table entry)
3157 Return cmd -> (aliases, command table entry)
3160 for each matching command
3158 for each matching command.
3159 Return debug commands (or their aliases) only if no normal command matches.
3161 """
3160 """
3162 choice = {}
3161 choice = {}
3163 debugchoice = {}
3162 debugchoice = {}
3164 for e in table.keys():
3163 for e in table.keys():
3165 aliases = e.lstrip("^").split("|")
3164 aliases = e.lstrip("^").split("|")
3165 found = None
3166 if cmd in aliases:
3166 if cmd in aliases:
3167 choice[cmd] = (aliases, table[e])
3167 found = cmd
3168 continue
3168 else:
3169 for a in aliases:
3169 for a in aliases:
3170 if a.startswith(cmd):
3170 if a.startswith(cmd):
3171 if aliases[0].startswith("debug"):
3171 found = a
3172 debugchoice[a] = (aliases, table[e])
3172 break
3173 else:
3173 if found is not None:
3174 choice[a] = (aliases, table[e])
3174 if aliases[0].startswith("debug"):
3175 break
3175 debugchoice[found] = (aliases, table[e])
3176 else:
3177 choice[found] = (aliases, table[e])
3176
3178
3177 if not choice and debugchoice:
3179 if not choice and debugchoice:
3178 choice = debugchoice
3180 choice = debugchoice
@@ -61,12 +61,12 b' static struct flist *lalloc(int size)'
61 a = (struct flist *)malloc(sizeof(struct flist));
61 a = (struct flist *)malloc(sizeof(struct flist));
62 if (a) {
62 if (a) {
63 a->base = (struct frag *)malloc(sizeof(struct frag) * size);
63 a->base = (struct frag *)malloc(sizeof(struct frag) * size);
64 if (!a->base) {
64 if (a->base) {
65 free(a);
66 a = NULL;
67 } else
68 a->head = a->tail = a->base;
65 a->head = a->tail = a->base;
69 return a;
66 return a;
67 }
68 free(a);
69 a = NULL;
70 }
70 }
71 if (!PyErr_Occurred())
71 if (!PyErr_Occurred())
72 PyErr_NoMemory();
72 PyErr_NoMemory();
@@ -40,19 +40,19 b' class sshrepository(remoterepository):'
40 r = self.do_cmd("between", pairs=("%s-%s" % ("0"*40, "0"*40)))
40 r = self.do_cmd("between", pairs=("%s-%s" % ("0"*40, "0"*40)))
41 l1 = ""
41 l1 = ""
42 l2 = "dummy"
42 l2 = "dummy"
43 max_noise = 100
43 max_noise = 500
44 while l2 and max_noise:
44 while l2 and max_noise:
45 l2 = r.readline()
45 l2 = r.readline()
46 self.readerr()
46 self.readerr()
47 if l1 == "1\n" and l2 == "\n":
47 if l1 == "1\n" and l2 == "\n":
48 break
48 break
49 if l1:
49 if l1:
50 ui.status(_("remote: %s") % l1)
50 ui.debug(_("remote: "), l1)
51 l1 = l2
51 l1 = l2
52 max_noise -= 1
52 max_noise -= 1
53 else:
53 else:
54 if l1:
54 if l1:
55 ui.status(_("remote: %s") % l1)
55 ui.debug(_("remote: "), l1)
56 raise hg.RepoError(_("no response from remote hg"))
56 raise hg.RepoError(_("no response from remote hg"))
57
57
58 def readerr(self):
58 def readerr(self):
@@ -393,7 +393,7 b' def copyfiles(src, dst, hardlink=None):'
393 if hardlink:
393 if hardlink:
394 try:
394 try:
395 os_link(src, dst)
395 os_link(src, dst)
396 except:
396 except (IOError, OSError):
397 hardlink = False
397 hardlink = False
398 shutil.copy(src, dst)
398 shutil.copy(src, dst)
399 else:
399 else:
@@ -6,19 +6,16 b' undeleting a'
6 forgetting b
6 forgetting b
7 %%% should show b unknown and a back to normal
7 %%% should show b unknown and a back to normal
8 ? b
8 ? b
9 ? b.orig
10 merging a
9 merging a
11 %%% should show foo-b
10 %%% should show foo-b
12 foo-b
11 foo-b
13 %%% should show a removed and b added
12 %%% should show a removed and b added
14 A b
13 A b
15 R a
14 R a
16 ? b.orig
17 reverting...
15 reverting...
18 undeleting a
16 undeleting a
19 forgetting b
17 forgetting b
20 %%% should show b unknown and a marked modified (merged)
18 %%% should show b unknown and a marked modified (merged)
21 ? b
19 ? b
22 ? b.orig
23 %%% should show foo-b
20 %%% should show foo-b
24 foo-b
21 foo-b
@@ -22,12 +22,12 b' hg revert a'
22 echo %% should show b added, copy saved, and c modified
22 echo %% should show b added, copy saved, and c modified
23 hg status
23 hg status
24 hg revert b
24 hg revert b
25 echo %% should show b unknown, b.orig unknown, and c modified
25 echo %% should show b unknown, and c modified
26 hg status
26 hg status
27 hg revert --no-backup c
27 hg revert --no-backup c
28 echo %% should show unknown: b b.orig
28 echo %% should show unknown: b
29 hg status
29 hg status
30 echo %% should show a b b.orig c e
30 echo %% should show a b c e
31 ls
31 ls
32 echo %% should verbosely save backup to e.orig
32 echo %% should verbosely save backup to e.orig
33 echo z > e
33 echo z > e
@@ -13,17 +13,14 b' R a'
13 %% should show b added, copy saved, and c modified
13 %% should show b added, copy saved, and c modified
14 M c
14 M c
15 A b
15 A b
16 %% should show b unknown, b.orig unknown, and c modified
16 %% should show b unknown, and c modified
17 M c
17 M c
18 ? b
18 ? b
19 ? b.orig
19 %% should show unknown: b
20 %% should show unknown: b b.orig
21 ? b
20 ? b
22 ? b.orig
21 %% should show a b c e
23 %% should show a b b.orig c e
24 a
22 a
25 b
23 b
26 b.orig
27 c
24 c
28 e
25 e
29 %% should verbosely save backup to e.orig
26 %% should verbosely save backup to e.orig
@@ -40,7 +37,6 b' file not managed: q'
40 notfound: No such file in rev 095eacd0c0d7
37 notfound: No such file in rev 095eacd0c0d7
41 A z
38 A z
42 ? b
39 ? b
43 ? b.orig
44 ? e.orig
40 ? e.orig
45 %% should add a, forget z
41 %% should add a, forget z
46 adding a
42 adding a
General Comments 0
You need to be logged in to leave comments. Login now