Mercurial > hg
changeset 29176:8c8442523eef
merge with stable
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Tue, 17 May 2016 11:28:46 -0500 |
parents | 7bcfb9090c86 (current diff) 854556c5f3bf (diff) |
children | df6b5c6d252a |
files | contrib/debian/rules mercurial/commands.py tests/test-help.t tests/test-subrepo-deep-nested-change.t |
diffstat | 16 files changed, 184 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgsigs Wed May 11 01:56:59 2016 +0000 +++ b/.hgsigs Tue May 17 11:28:46 2016 -0500 @@ -126,3 +126,4 @@ 740156eedf2c450aee58b1a90b0e826f47c5da64 0 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
--- a/.hgtags Wed May 11 01:56:59 2016 +0000 +++ b/.hgtags Tue May 17 11:28:46 2016 -0500 @@ -139,3 +139,4 @@ 740156eedf2c450aee58b1a90b0e826f47c5da64 3.8-rc f85de28eae32e7d3064b1a1321309071bbaaa069 3.8 a56296f55a5e1038ea5016dace2076b693c28a56 3.8.1 +aaabed77791a75968a12b8c43ad263631a23ee81 3.8.2
--- a/contrib/builddeb Wed May 11 01:56:59 2016 +0000 +++ b/contrib/builddeb Tue May 17 11:28:46 2016 -0500 @@ -58,6 +58,10 @@ fi if [ -n "$distance" ] ; then debver="$debver+$distance-$CODENAME-$node" +elif [ "$DEBFLAGS" = "-S" ] ; then + # for building a ppa (--source-only) for a release (distance == 0), we need + # to version the distroseries so that we can upload to launchpad + debver="$debver~${CODENAME}1" fi control=debian/control
--- a/contrib/debian/control Wed May 11 01:56:59 2016 +0000 +++ b/contrib/debian/control Tue May 17 11:28:46 2016 -0500 @@ -42,6 +42,7 @@ ${misc:Depends}, ${python:Depends}, Recommends: mercurial (= ${source:Version}), ca-certificates +Suggests: wish Breaks: mercurial (<< ${source:Version}) Replaces: mercurial (<< 2.6.3) Description: easy-to-use, scalable distributed version control system (common files)
--- a/doc/gendoc.py Wed May 11 01:56:59 2016 +0000 +++ b/doc/gendoc.py Tue May 17 11:28:46 2016 -0500 @@ -136,6 +136,7 @@ extrahelptable = [ (["common"], '', loaddoc('common')), (["hg.1"], '', loaddoc('hg.1')), + (["hg-ssh.8"], '', loaddoc('hg-ssh.8')), (["hgignore.5"], '', loaddoc('hgignore.5')), (["hgrc.5"], '', loaddoc('hgrc.5')), (["hgignore.5.gendoc"], '', loaddoc('hgignore')),
--- a/mercurial/commands.py Wed May 11 01:56:59 2016 +0000 +++ b/mercurial/commands.py Tue May 17 11:28:46 2016 -0500 @@ -4590,7 +4590,7 @@ subtopic = None if name and '.' in name: name, section = name.split('.', 1) - section = section.lower() + section = encoding.lower(section) if '.' in section: subtopic, section = section.split('.', 1) else:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mercurial/help/hg-ssh.8.txt Tue May 17 11:28:46 2016 -0500 @@ -0,0 +1,71 @@ +======== + hg-ssh +======== + +---------------------------------------- +restricted ssh login shell for Mercurial +---------------------------------------- + +:Author: Thomas Arendsen Hein <thomas@intevation.de> +:Organization: Mercurial +:Manual section: 8 +:Manual group: Mercurial Manual + +.. contents:: + :backlinks: top + :class: htmlonly + :depth: 1 + +Synopsis +"""""""" +**hg-ssh** repositories... + +Description +""""""""""" +**hg-ssh** is a wrapper for ssh access to a limited set of mercurial repos. + +To be used in ~/.ssh/authorized_keys with the "command" option, see sshd(8): +command="hg-ssh path/to/repo1 /path/to/repo2 ~/repo3 ~user/repo4" ssh-dss ... +(probably together with these other useful options: +no-port-forwarding,no-X11-forwarding,no-agent-forwarding) + +This allows pull/push over ssh from/to the repositories given as arguments. + +If all your repositories are subdirectories of a common directory, you can +allow shorter paths with: +command="cd path/to/my/repositories && hg-ssh repo1 subdir/repo2" + +You can use pattern matching of your normal shell, e.g.: +command="cd repos && hg-ssh user/thomas/* projects/{mercurial,foo}" + +You can also add a --read-only flag to allow read-only access to a key, e.g.: +command="hg-ssh --read-only repos/\*" + +Bugs +"""" +Probably lots, please post them to the mailing list (see Resources_ +below) when you find them. + +See Also +"""""""" +|hg(1)|_ + +Author +"""""" +Written by Matt Mackall <mpm@selenic.com> + +Resources +""""""""" +Main Web Site: https://mercurial-scm.org/ + +Source code repository: http://selenic.com/hg + +Mailing list: http://selenic.com/mailman/listinfo/mercurial + +Copying +""""""" +Copyright (C) 2005-2016 Matt Mackall. +Free use of this software is granted under the terms of the GNU General +Public License version 2 or any later version. + +.. include:: common.txt
--- a/mercurial/help/internals/revlogs.txt Wed May 11 01:56:59 2016 +0000 +++ b/mercurial/help/internals/revlogs.txt Tue May 17 11:28:46 2016 -0500 @@ -1,5 +1,5 @@ -Revisions Logs -============== +Revlogs +======= Revision logs - or *revlogs* - are an append only data structure for storing discrete entries, or *revisions*. They are the primary storage
--- a/mercurial/minirst.py Wed May 11 01:56:59 2016 +0000 +++ b/mercurial/minirst.py Tue May 17 11:28:46 2016 -0500 @@ -724,7 +724,7 @@ x = b['key'] else: x = b['lines'][0] - x = x.lower().strip('"') + x = encoding.lower(x).strip('"') if '(' in x: x = x.split('(')[0] return x
--- a/mercurial/patch.py Wed May 11 01:56:59 2016 +0000 +++ b/mercurial/patch.py Tue May 17 11:28:46 2016 -0500 @@ -1010,7 +1010,7 @@ ui.write("\n") if r == 8: # ? for c, t in ui.extractchoices(resps)[1]: - ui.write('%s - %s\n' % (c, t.lower())) + ui.write('%s - %s\n' % (c, encoding.lower(t))) continue elif r == 0: # yes ret = True
--- a/mercurial/progress.py Wed May 11 01:56:59 2016 +0000 +++ b/mercurial/progress.py Tue May 17 11:28:46 2016 -0500 @@ -163,7 +163,7 @@ sys.stderr.flush() def clear(self): - if not shouldprint(self.ui): + if not self.printed or not self.lastprint or not shouldprint(self.ui): return sys.stderr.write('\r%s\r' % (' ' * self.width())) if self.printed:
--- a/tests/test-commit-interactive.t Wed May 11 01:56:59 2016 +0000 +++ b/tests/test-commit-interactive.t Tue May 17 11:28:46 2016 -0500 @@ -878,6 +878,32 @@ abort: user quit [255] +#if gettext + +Test translated help message + +str.lower() instead of encoding.lower(str) on translated message might +make message meaningless, because some encoding uses 0x41(A) - 0x5a(Z) +as the second or later byte of multi-byte character. + +For example, "\x8bL\x98^" (translation of "record" in ja_JP.cp932) +contains 0x4c (L). str.lower() replaces 0x4c(L) by 0x6c(l) and this +replacement makes message meaningless. + +This tests that translated help message is lower()-ed correctly. + + $ LANGUAGE=ja + $ export LANGUAGE + + $ hg commit -i --encoding cp932 2>&1 <<EOF | grep '^y - ' + > ? + > q + > EOF + y - \x82\xb1\x82\xcc\x95\xcf\x8dX\x82\xf0\x8bL\x98^(yes) (esc) + + $ LANGUAGE= +#endif + Skip $ hg commit -i <<EOF
--- a/tests/test-help.t Wed May 11 01:56:59 2016 +0000 +++ b/tests/test-help.t Tue May 17 11:28:46 2016 -0500 @@ -1539,6 +1539,78 @@ files List of strings. All files modified, added, or removed by this changeset. +Test section lookup by translated message + +str.lower() instead of encoding.lower(str) on translated message might +make message meaningless, because some encoding uses 0x41(A) - 0x5a(Z) +as the second or later byte of multi-byte character. + +For example, "\x8bL\x98^" (translation of "record" in ja_JP.cp932) +contains 0x4c (L). str.lower() replaces 0x4c(L) by 0x6c(l) and this +replacement makes message meaningless. + +This tests that section lookup by translated string isn't broken by +such str.lower(). + + $ python <<EOF + > def escape(s): + > return ''.join('\u%x' % ord(uc) for uc in s.decode('cp932')) + > # translation of "record" in ja_JP.cp932 + > upper = "\x8bL\x98^" + > # str.lower()-ed section name should be treated as different one + > lower = "\x8bl\x98^" + > with open('ambiguous.py', 'w') as fp: + > fp.write("""# ambiguous section names in ja_JP.cp932 + > u'''summary of extension + > + > %s + > ---- + > + > Upper name should show only this message + > + > %s + > ---- + > + > Lower name should show only this message + > + > subsequent section + > ------------------ + > + > This should be hidden at "hg help ambiguous" with section name. + > ''' + > """ % (escape(upper), escape(lower))) + > EOF + + $ cat >> $HGRCPATH <<EOF + > [extensions] + > ambiguous = ./ambiguous.py + > EOF + + $ python <<EOF | sh + > upper = "\x8bL\x98^" + > print "hg --encoding cp932 help -e ambiguous.%s" % upper + > EOF + \x8bL\x98^ (esc) + ---- + + Upper name should show only this message + + + $ python <<EOF | sh + > lower = "\x8bl\x98^" + > print "hg --encoding cp932 help -e ambiguous.%s" % lower + > EOF + \x8bl\x98^ (esc) + ---- + + Lower name should show only this message + + + $ cat >> $HGRCPATH <<EOF + > [extensions] + > ambiguous = ! + > EOF + Test dynamic list of merge tools only shows up once $ hg help merge-tools Merge Tools
--- a/tests/test-install.t Wed May 11 01:56:59 2016 +0000 +++ b/tests/test-install.t Tue May 17 11:28:46 2016 -0500 @@ -126,6 +126,7 @@ $ python wixxml.py help Not installed: help/common.txt + help/hg-ssh.8.txt help/hg.1.txt help/hgignore.5.txt help/hgrc.5.txt
--- a/tests/test-remove.t Wed May 11 01:56:59 2016 +0000 +++ b/tests/test-remove.t Tue May 17 11:28:46 2016 -0500 @@ -322,8 +322,6 @@ \r (no-eol) (esc) deleting [===========================================>] 2/2\r (no-eol) (esc) \r (no-eol) (esc) - \r (no-eol) (esc) - \r (no-eol) (esc) removing test/bar (glob) removing test/foo (glob) exit code: 0 @@ -348,8 +346,6 @@ \r (no-eol) (esc) deleting [===========================================>] 2/2\r (no-eol) (esc) \r (no-eol) (esc) - \r (no-eol) (esc) - \r (no-eol) (esc) removing test/bar (glob) removing test/foo (glob) exit code: 0 @@ -374,8 +370,6 @@ \r (no-eol) (esc) deleting [===========================================>] 1/1\r (no-eol) (esc) \r (no-eol) (esc) - \r (no-eol) (esc) - \r (no-eol) (esc) removing test/bar (glob) not removing test/foo: file still exists (glob) exit code: 1 @@ -400,8 +394,6 @@ \r (no-eol) (esc) deleting [===========================================>] 2/2\r (no-eol) (esc) \r (no-eol) (esc) - \r (no-eol) (esc) - \r (no-eol) (esc) removing test/bar (glob) removing test/foo (glob) exit code: 0 @@ -429,8 +421,6 @@ \r (no-eol) (esc) deleting [===========================================>] 1/1\r (no-eol) (esc) \r (no-eol) (esc) - \r (no-eol) (esc) - \r (no-eol) (esc) removing issue1861/b/c/y (glob) $ hg ci -m remove $ ls issue1861 @@ -465,8 +455,6 @@ \r (no-eol) (esc) deleting [===========================================>] 1/1\r (no-eol) (esc) \r (no-eol) (esc) - \r (no-eol) (esc) - \r (no-eol) (esc) removing d1/a (glob) $ hg rm --after nosuch
--- a/tests/test-subrepo-deep-nested-change.t Wed May 11 01:56:59 2016 +0000 +++ b/tests/test-subrepo-deep-nested-change.t Tue May 17 11:28:46 2016 -0500 @@ -214,8 +214,6 @@ \r (no-eol) (esc) deleting [===========================================>] 2/2\r (no-eol) (esc) \r (no-eol) (esc) - \r (no-eol) (esc) - \r (no-eol) (esc) removing sub1/sub2/folder/test.txt (glob) removing sub1/sub2/test.txt (glob) $ hg status -S