##// END OF EJS Templates
merge with stable
Augie Fackler -
r44232:29adf0a0 merge default
parent child Browse files
Show More
@@ -187,3 +187,4 b' a4e32fd539ab41489a51b2aa88bda9a73b839562'
187 181e52f2b62f4768aa0d988936c929dc7c4a41a0 0 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
@@ -200,3 +200,4 b' a4e32fd539ab41489a51b2aa88bda9a73b839562'
200 181e52f2b62f4768aa0d988936c929dc7c4a41a0 5.1.2
200 181e52f2b62f4768aa0d988936c929dc7c4a41a0 5.1.2
201 59338f9561099de77c684c00f76507f11e46ebe8 5.2rc0
201 59338f9561099de77c684c00f76507f11e46ebe8 5.2rc0
202 ca3dca416f8d5863ca6f5a4a6a6bb835dcd5feeb 5.2
202 ca3dca416f8d5863ca6f5a4a6a6bb835dcd5feeb 5.2
203 a50fecefa691c9b72a99e49aa6fe9dd13943c2bf 5.2.1
@@ -115,7 +115,7 b' def parseoptions(ui, cmdoptions, args):'
115 args = list([convert(x) for x in args])
115 args = list([convert(x) for x in args])
116 opts = dict(
116 opts = dict(
117 [
117 [
118 (k, convert(v)) if isinstance(v, str) else (k, v)
118 (k, convert(v)) if isinstance(v, bytes) else (k, v)
119 for k, v in pycompat.iteritems(opts)
119 for k, v in pycompat.iteritems(opts)
120 ]
120 ]
121 )
121 )
@@ -2603,7 +2603,7 b' def cleanupnode(ui, repo, nodes, nobacku'
2603
2603
2604
2604
2605 def stripwrapper(orig, ui, repo, nodelist, *args, **kwargs):
2605 def stripwrapper(orig, ui, repo, nodelist, *args, **kwargs):
2606 if isinstance(nodelist, str):
2606 if isinstance(nodelist, bytes):
2607 nodelist = [nodelist]
2607 nodelist = [nodelist]
2608 state = histeditstate(repo)
2608 state = histeditstate(repo)
2609 if state.inprogress():
2609 if state.inprogress():
@@ -77,7 +77,7 b' configitem('
77
77
78
78
79 def decode(arg):
79 def decode(arg):
80 if isinstance(arg, str):
80 if isinstance(arg, bytes):
81 uarg = arg.decode(_encoding)
81 uarg = arg.decode(_encoding)
82 if arg == uarg.encode(_encoding):
82 if arg == uarg.encode(_encoding):
83 return uarg
83 return uarg
@@ -191,7 +191,7 b' def staticfile(directory, fname, res):'
191 return
191 return
192
192
193 fpath = os.path.join(*fname.split(b'/'))
193 fpath = os.path.join(*fname.split(b'/'))
194 if isinstance(directory, str):
194 if isinstance(directory, bytes):
195 directory = [directory]
195 directory = [directory]
196 for d in directory:
196 for d in directory:
197 path = os.path.join(d, fpath)
197 path = os.path.join(d, fpath)
@@ -413,7 +413,7 b' class hgwebdir(object):'
413 static = self.ui.config(b"web", b"static", untrusted=False)
413 static = self.ui.config(b"web", b"static", untrusted=False)
414 if not static:
414 if not static:
415 tp = self.templatepath or templater.templatepaths()
415 tp = self.templatepath or templater.templatepaths()
416 if isinstance(tp, str):
416 if isinstance(tp, bytes):
417 tp = [tp]
417 tp = [tp]
418 static = [os.path.join(p, b'static') for p in tp]
418 static = [os.path.join(p, b'static') for p in tp]
419
419
@@ -1321,7 +1321,7 b' def static(web):'
1321 static = web.config(b"web", b"static", untrusted=False)
1321 static = web.config(b"web", b"static", untrusted=False)
1322 if not static:
1322 if not static:
1323 tp = web.templatepath or templater.templatepaths()
1323 tp = web.templatepath or templater.templatepaths()
1324 if isinstance(tp, str):
1324 if isinstance(tp, bytes):
1325 tp = [tp]
1325 tp = [tp]
1326 static = [os.path.join(p, b'static') for p in tp]
1326 static = [os.path.join(p, b'static') for p in tp]
1327
1327
@@ -873,7 +873,7 b' class sessionvars(templateutil.wrapped):'
873 raise error.ParseError(_(b'not displayable without template'))
873 raise error.ParseError(_(b'not displayable without template'))
874
874
875 def show(self, context, mapping):
875 def show(self, context, mapping):
876 return self.join(context, b'')
876 return self.join(context, mapping, b'')
877
877
878 def tobool(self, context, mapping):
878 def tobool(self, context, mapping):
879 return bool(self._vars)
879 return bool(self._vars)
@@ -945,6 +945,8 b' def getlinerangerevs(repo, userrevs, opt'
945 fctx = wctx.filectx(fname)
945 fctx = wctx.filectx(fname)
946 for fctx, linerange in dagop.blockancestors(fctx, fromline, toline):
946 for fctx, linerange in dagop.blockancestors(fctx, fromline, toline):
947 rev = fctx.introrev()
947 rev = fctx.introrev()
948 if rev is None:
949 rev = wdirrev
948 if rev not in userrevs:
950 if rev not in userrevs:
949 continue
951 continue
950 linerangesbyrev.setdefault(rev, {}).setdefault(
952 linerangesbyrev.setdefault(rev, {}).setdefault(
@@ -955,7 +957,7 b' def getlinerangerevs(repo, userrevs, opt'
955 return hunks
957 return hunks
956
958
957 def hunksfilter(ctx):
959 def hunksfilter(ctx):
958 fctxlineranges = linerangesbyrev.get(ctx.rev())
960 fctxlineranges = linerangesbyrev.get(scmutil.intrev(ctx))
959 if fctxlineranges is None:
961 if fctxlineranges is None:
960 return nofilterhunksfn
962 return nofilterhunksfn
961
963
@@ -975,7 +977,7 b' def getlinerangerevs(repo, userrevs, opt'
975 return filterfn
977 return filterfn
976
978
977 def filematcher(ctx):
979 def filematcher(ctx):
978 files = list(linerangesbyrev.get(ctx.rev(), []))
980 files = list(linerangesbyrev.get(scmutil.intrev(ctx), []))
979 return scmutil.matchfiles(repo, files)
981 return scmutil.matchfiles(repo, files)
980
982
981 revs = sorted(linerangesbyrev, reverse=True)
983 revs = sorted(linerangesbyrev, reverse=True)
@@ -183,7 +183,7 b' def ctxpvec(ctx):'
183
183
184 class pvec(object):
184 class pvec(object):
185 def __init__(self, hashorctx):
185 def __init__(self, hashorctx):
186 if isinstance(hashorctx, str):
186 if isinstance(hashorctx, bytes):
187 self._bs = hashorctx
187 self._bs = hashorctx
188 self._depth, self._vec = _split(util.b85decode(hashorctx))
188 self._depth, self._vec = _split(util.b85decode(hashorctx))
189 else:
189 else:
@@ -131,7 +131,7 b' def strip(ui, repo, nodelist, backup=Tru'
131 cl = repo.changelog
131 cl = repo.changelog
132
132
133 # TODO handle undo of merge sets
133 # TODO handle undo of merge sets
134 if isinstance(nodelist, str):
134 if isinstance(nodelist, bytes):
135 nodelist = [nodelist]
135 nodelist = [nodelist]
136 striplist = [cl.rev(node) for node in nodelist]
136 striplist = [cl.rev(node) for node in nodelist]
137 striprev = min(striplist)
137 striprev = min(striplist)
@@ -38,7 +38,7 b' def systemrcpath():'
38 value = util.lookupreg(
38 value = util.lookupreg(
39 b'SOFTWARE\\Mercurial', None, winreg.HKEY_LOCAL_MACHINE
39 b'SOFTWARE\\Mercurial', None, winreg.HKEY_LOCAL_MACHINE
40 )
40 )
41 if not isinstance(value, str) or not value:
41 if not isinstance(value, bytes) or not value:
42 return rcpath
42 return rcpath
43 value = util.localpath(value)
43 value = util.localpath(value)
44 for p in value.split(pycompat.ospathsep):
44 for p in value.split(pycompat.ospathsep):
@@ -264,6 +264,10 b' githelp for reuse message using the the '
264 $ hg githelp -- git commit --reuse-message deadbeef
264 $ hg githelp -- git commit --reuse-message deadbeef
265 hg commit -M deadbeef
265 hg commit -M deadbeef
266
266
267 githelp for reuse message using HEAD
268 $ hg githelp -- git commit --reuse-message HEAD~
269 hg commit -M .~1
270
267 githelp for apply with no options
271 githelp for apply with no options
268 $ hg githelp -- apply
272 $ hg githelp -- apply
269 hg import --no-commit
273 hg import --no-commit
@@ -868,6 +868,131 b' Renames are followed.'
868 +4
868 +4
869
869
870
870
871 Uncommitted changes with a rename
872
873 $ hg mv baz bazn
874 $ hg log -f -L bazn,5:7
875 changeset: 9:6af29c3a778f
876 tag: tip
877 user: test
878 date: Thu Jan 01 00:00:00 1970 +0000
879 summary: foo -> dir/baz; 1-1+
880
881 changeset: 5:cfdf972b3971
882 user: test
883 date: Thu Jan 01 00:00:00 1970 +0000
884 summary: foo: 3 -> 3+ and 11+ -> 11-; bar: a -> a+
885
886 changeset: 4:eaec41c1a0c9
887 user: test
888 date: Thu Jan 01 00:00:00 1970 +0000
889 summary: 11 -> 11+; leading space before "1"
890
891 changeset: 2:63a884426fd0
892 user: test
893 date: Thu Jan 01 00:00:00 1970 +0000
894 summary: 2 -> 2+; added bar
895
896 changeset: 0:5ae1f82b9a00
897 user: test
898 date: Thu Jan 01 00:00:00 1970 +0000
899 summary: init
900
901
902 Uncommitted changes in requested line range
903
904 $ sed 's/2/ /' bazn > bazn.new
905 $ mv bazn.new bazn
906 $ hg diff
907 diff --git a/dir/baz b/dir/bazn
908 rename from dir/baz
909 rename to dir/bazn
910 --- a/dir/baz
911 +++ b/dir/bazn
912 @@ -3,7 +3,7 @@
913 0
914 0
915 1+
916 -2+
917 + +
918 3+
919 4
920 5
921 $ hg log -f -L bazn,5:7
922 changeset: 9:6af29c3a778f
923 tag: tip
924 user: test
925 date: Thu Jan 01 00:00:00 1970 +0000
926 summary: foo -> dir/baz; 1-1+
927
928 changeset: 5:cfdf972b3971
929 user: test
930 date: Thu Jan 01 00:00:00 1970 +0000
931 summary: foo: 3 -> 3+ and 11+ -> 11-; bar: a -> a+
932
933 changeset: 4:eaec41c1a0c9
934 user: test
935 date: Thu Jan 01 00:00:00 1970 +0000
936 summary: 11 -> 11+; leading space before "1"
937
938 changeset: 2:63a884426fd0
939 user: test
940 date: Thu Jan 01 00:00:00 1970 +0000
941 summary: 2 -> 2+; added bar
942
943 changeset: 0:5ae1f82b9a00
944 user: test
945 date: Thu Jan 01 00:00:00 1970 +0000
946 summary: init
947
948
949 Uncommitted changes in line-range + wdir()
950
951 $ hg log -r 'wdir()' -f -L bazn,5:7 --limit 2 -p
952 changeset: 2147483647:ffffffffffff
953 parent: 9:6af29c3a778f
954 user: test
955 date: Thu Jan 01 00:00:00 1970 +0000
956
957 diff --git a/dir/baz b/dir/bazn
958 copy from dir/baz
959 copy to dir/bazn
960 --- a/dir/baz
961 +++ b/dir/bazn
962 @@ -3,7 +3,7 @@
963 0
964 0
965 1+
966 -2+
967 + +
968 3+
969 4
970 5
971
972 changeset: 9:6af29c3a778f
973 tag: tip
974 user: test
975 date: Thu Jan 01 00:00:00 1970 +0000
976 summary: foo -> dir/baz; 1-1+
977
978 diff --git a/foo b/dir/baz
979 copy from foo
980 copy to dir/baz
981 --- a/foo
982 +++ b/dir/baz
983 @@ -2,7 +2,7 @@
984 0
985 0
986 0
987 - 1
988 + 1+
989 2+
990 3+
991 4
992
993
994 $ hg revert -a -C -q
995
871 Copies.
996 Copies.
872
997
873 $ hg copy baz bbaz
998 $ hg copy baz bbaz
@@ -72,7 +72,7 b' hg merge -r 2'
72 override $PATH to ensure hgmerge not visible; use $PYTHON in case we're
72 override $PATH to ensure hgmerge not visible; use $PYTHON in case we're
73 running from a devel copy, not a temp installation
73 running from a devel copy, not a temp installation
74
74
75 $ PATH="$BINDIR:/usr/sbin" "$PYTHON" "$BINDIR"/hg merge -r 2
75 $ PATH="/usr/sbin" "$PYTHON" "$BINDIR"/hg merge -r 2
76 merging f
76 merging f
77 warning: conflicts while merging f! (edit, then use 'hg resolve --mark')
77 warning: conflicts while merging f! (edit, then use 'hg resolve --mark')
78 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
78 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
@@ -121,7 +121,7 b" unexecutable file in $PATH shouldn't be "
121
121
122 $ echo "echo fail" > false
122 $ echo "echo fail" > false
123 $ hg up -qC 1
123 $ hg up -qC 1
124 $ PATH="`pwd`:$BINDIR:/usr/sbin" "$PYTHON" "$BINDIR"/hg merge -r 2
124 $ PATH="`pwd`:/usr/sbin" "$PYTHON" "$BINDIR"/hg merge -r 2
125 merging f
125 merging f
126 warning: conflicts while merging f! (edit, then use 'hg resolve --mark')
126 warning: conflicts while merging f! (edit, then use 'hg resolve --mark')
127 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
127 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
@@ -135,7 +135,7 b" executable directory in $PATH shouldn't "
135
135
136 $ mkdir false
136 $ mkdir false
137 $ hg up -qC 1
137 $ hg up -qC 1
138 $ PATH="`pwd`:$BINDIR:/usr/sbin" "$PYTHON" "$BINDIR"/hg merge -r 2
138 $ PATH="`pwd`:/usr/sbin" "$PYTHON" "$BINDIR"/hg merge -r 2
139 merging f
139 merging f
140 warning: conflicts while merging f! (edit, then use 'hg resolve --mark')
140 warning: conflicts while merging f! (edit, then use 'hg resolve --mark')
141 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
141 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
General Comments 0
You need to be logged in to leave comments. Login now