Sat, 17 Dec 2011 20:21:52 +0300 i18n-ru: synchronized with d976b1ef6760
Alexander Sauta <demosito@gmail.com> [Sat, 17 Dec 2011 20:21:52 +0300] rev 15729
i18n-ru: synchronized with d976b1ef6760
Sat, 24 Dec 2011 19:16:36 +0900 icasefs: add test for case preservation on case insensitive filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 24 Dec 2011 19:16:36 +0900] rev 15728
icasefs: add test for case preservation on case insensitive filesystem "hg qpush" causes unexpected behavior, if case preservation on case insensitive filesystem is not enough. this patch adds the test using mixed-case filenames to reproduce this problem on any case insensitive filesystems.
Sun, 25 Dec 2011 20:35:16 +0900 i18n: use "encoding.lower()" to normalize string in hgweb search query
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 25 Dec 2011 20:35:16 +0900] rev 15727
i18n: use "encoding.lower()" to normalize string in hgweb search query some problematic encoding (e.g.: cp932) uses ASCII alphabet characters in byte sequence of multi byte characters. "str.lower()" on such byte sequence may treat distinct characters as same one, and cause unexpected log matching. this patch uses "encoding.lower()" instead of "str.lower()" to normalize strings for compare.
Sun, 25 Dec 2011 20:35:16 +0900 i18n: use "encoding.lower()" to normalize specified string for revset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 25 Dec 2011 20:35:16 +0900] rev 15726
i18n: use "encoding.lower()" to normalize specified string for revset some problematic encoding (e.g.: cp932) uses ASCII alphabet characters in byte sequence of multi byte characters. "str.lower()" on such byte sequence may treat distinct characters as same one, and cause unexpected log matching. this patch uses "encoding.lower()" instead of "str.lower()" to normalize strings for compare.
Sun, 25 Dec 2011 20:35:16 +0900 i18n: use "encoding.lower()" to normalize specified keywords for log searching
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 25 Dec 2011 20:35:16 +0900] rev 15725
i18n: use "encoding.lower()" to normalize specified keywords for log searching some problematic encoding (e.g.: cp932) uses ASCII alphabet characters in byte sequence of multi byte characters. "str.lower()" on such byte sequence may treat distinct characters as same one, and cause unexpected log matching. this patch uses "encoding.lower()" instead of "str.lower()" to normalize strings for compare.
Sun, 25 Dec 2011 20:32:48 +0900 win32mbcs: allow win32mbcs extension to be enabled on cygwin platform
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 25 Dec 2011 20:32:48 +0900] rev 15724
win32mbcs: allow win32mbcs extension to be enabled on cygwin platform this patch allows win32mbcs extension to be enabled on cygwin platform for problematic character encodings. on recent cygwin platform, even though "os.path.supports_unicode_filenames" is False, "os.listdir()" and other path manipulation functions can return the result correctly decoded in unicode for invocations with unicode arguments, if locale is configured properly. existing code to check "os.path.supports_unicode_filenames" is kept to prevent win32mbcs from being enabled on unexpected platform.
Sat, 24 Dec 2011 19:05:35 +0900 windows: use normalized path as path to subrepo stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 24 Dec 2011 19:05:35 +0900] rev 15723
windows: use normalized path as path to subrepo path to subrepo is used to identify or check location of subrepo. it should be normalized (in "/" delimiter form), because it is also used with narrowmatcher which uses only normalized path even on Windows environment. this patch applies "util.pconvert()" on path to subrepo (called "subpath") to normalize it. for this patch, referers of below were checked. - subrepo.state() - subrepo.itersubrepos() - subrepo.subrepo() - context.sub() - context.substate() typical usecase is: for subpath in ctx.substate: sub = ctx.sub(subpath) ... ctx.substate[subpath] .... in this case, normalization has no side effect, because keys given from substate are used as key itself. other cases shown below also seem to require subpath to be normalized. - path components are joined by "/", in "commands.forget()": for subpath in ctx.substate: subforget[subpath + '/' + fsub] = (fsub, sub) - normalized "file" is used to check below condition, in "commands.revert()", "localrepository.commit()", and "localrepository._checknested()" file in ctx.substate - substate.keys() is passed to dirstate.walk()/status() which use only normalized pathes
Sat, 24 Dec 2011 19:05:25 +0900 windows: use normalized path to check repository nesting stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 24 Dec 2011 19:05:25 +0900] rev 15722
windows: use normalized path to check repository nesting current "localrepository._checknested()" uses specified path itself to compare against subrepo pathes. it is invoked from "hgsubrepo.subrepo()" or pathauditor (as callback), and both use "os.sep" as separator. this causes unexpected nesting check result, if subrepo configuration uses "/" as path separator for sub repo path. this path uses "/" to join path components (or apply "util.pconvert()" on path) to normalize.
Sat, 24 Dec 2011 19:01:07 +0900 windows: force specified path to be audited in localpath form stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 24 Dec 2011 19:01:07 +0900] rev 15721
windows: force specified path to be audited in localpath form pathauditor is invoked not only for localpath form using "os.sep" as separator, but also for normalized form using "/": for example, hg internal path like "store/data" under ".hg", or ones normalized by match object this causes insufficient repository nesting check, because current pathauditor implementation divides specified path into components by "os.sep", and this causes to treat multiple path components joined by "/" as single one on Windows environment. this patch applies "util.localpath()" on specified path to force it to be divided into components correctly. in fact, root for pathauditor also uses multiple path separator on Windows. but this does not affect audit itself, so "util.localpath()" is not applied on it.
Sat, 24 Dec 2011 00:52:06 +0900 icasefs: rewrite comment to explain situtation precisely
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 24 Dec 2011 00:52:06 +0900] rev 15720
icasefs: rewrite comment to explain situtation precisely
Sat, 24 Dec 2011 00:51:14 +0900 icasefs: follow standard cache look up pattern
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 24 Dec 2011 00:51:14 +0900] rev 15719
icasefs: follow standard cache look up pattern
Sat, 24 Dec 2011 00:50:56 +0900 icasefs: disuse length check against un-normcase()-ed filenames
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 24 Dec 2011 00:50:56 +0900] rev 15718
icasefs: disuse length check against un-normcase()-ed filenames this patch disuses length check against un-normcase()-ed filenames gotten by "os.listdir()", because there is no assurance that filesystem stores filenames normalized except in letter case, even though some case insensitive filesystems (in some environment, for some language setting) store them in such manner.
Thu, 22 Dec 2011 15:56:27 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 22 Dec 2011 15:56:27 -0600] rev 15717
merge with stable
Thu, 22 Dec 2011 15:56:17 -0600 merge with i18n
Matt Mackall <mpm@selenic.com> [Thu, 22 Dec 2011 15:56:17 -0600] rev 15716
merge with i18n
Wed, 21 Dec 2011 11:48:18 +0200 i18n-de: Translations and fixes until line 6000; more annotations
Fabian Kreutz <fabian.kreutz@qvantel.com> [Wed, 21 Dec 2011 11:48:18 +0200] rev 15715
i18n-de: Translations and fixes until line 6000; more annotations
Mon, 19 Dec 2011 14:11:37 +0200 i18n-de: New translations, mostly largefiles extension
Fabian Kreutz <fabian.kreutz@qvantel.com> [Mon, 19 Dec 2011 14:11:37 +0200] rev 15714
i18n-de: New translations, mostly largefiles extension
Thu, 22 Dec 2011 00:42:25 +0100 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 22 Dec 2011 00:42:25 +0100] rev 15713
phases: do not exchange secret changesets Any secret changesets will be excluded from pull and push. Phase data are properly synchronized on pull and push if a changeset is seen as secret locally but is non-secret remote side. This patch does not handle the case of a changeset secret on remote but known locally.
Thu, 22 Dec 2011 00:40:46 +0100 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 22 Dec 2011 00:40:46 +0100] rev 15712
phases: test the new-commit option and proper inheritence of phase
Fri, 16 Dec 2011 21:21:08 +0900 cygwin: add cygwin specific normcase logic
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 16 Dec 2011 21:21:08 +0900] rev 15711
cygwin: add cygwin specific normcase logic in cygwin environment, mount point part of path is treated as case sensitive, even though underlying NTFS is case insensitive. this patch preserves mount point part of specified path, only if it is absolute one. there is no easy way to get list of current mount points from python program, other than to execute "mount" external command, because cygwin does not store current mount points into Unix/Linux like /etc/XXXtab file. so, this patch introduces cygwinmountpoints variable to list mount points to be preserved case. this allows some other extensions to customize mount point configuration.
Fri, 16 Dec 2011 21:09:40 +0900 icasefs: avoid path-absoluteness/existance check in util.fspath() for efficiency
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 16 Dec 2011 21:09:40 +0900] rev 15710
icasefs: avoid path-absoluteness/existance check in util.fspath() for efficiency 'dirstate._normalize()', the only caller of 'util.fspath()', has already confirmed exsistance of specified file as relative to root. so, this patch omits path-absoluteness/existance check from 'util.fspath()'.
Fri, 16 Dec 2011 21:09:40 +0900 icasefs: retry directory scan once for already invalidated cache
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 16 Dec 2011 21:09:40 +0900] rev 15709
icasefs: retry directory scan once for already invalidated cache some hg operation (e.g.: qpush) create new files after first dirstate.walk()-ing, and it invalidates _fspathcache for fspath(). then, fspath() will fail to look up specified name in _fspathcache. this causes case preservation breaking, because parts of already normcase()-ed path are used as result at that time. in this case, file creation and writing out should be done before fspath() invocation, so the second invocation of os.listdir() has not so much impact on runtime performance.
Thu, 29 Sep 2011 17:20:04 +0200 push: propagate --new-branch and --ssh options when pushing subrepos
Angel Ezquerra <angel.ezquerra@gmail.com> [Thu, 29 Sep 2011 17:20:04 +0200] rev 15708
push: propagate --new-branch and --ssh options when pushing subrepos Up until now the all the push command options were ignored when pushing subrepos. In particular, the fact that the --new-branch command was not passed down to subrepos made it not possible to push a repo when any of its subrepos had a new branch, even if you used the --new-branch option of the push command. In addition the error message was confusing since it showed the following hint: "--new-branch hint: use 'hg push --new-branch' to create new remote branches". However using the --new_branch flag did not fix the problem, as it was ignored when pushing subrepos. This patch passes the --new-branch and --ssh flags to every subrepo that is pushed. Issues/Limitations: - All subrepo types get these flags, but only the mercurial subrepos use them. - It is no longer possible to _not_ pass down these flags to subrepos when pushing: * An alternative would be to introduce a --subrepos flag that should be used to pass down these flags to the subrepos. * If we did this, it could make sense to make the --force flag respect this new --subrepos flag as well for consistency's sake. - Matt suggested that the ssh related flags could also be passed down to subrepos during pull and clone. However it seems that it would be the "update" command that would need to get those, since subrepos are only pulled on update. In any case I'd prefer to leave that for a later patch.
Wed, 21 Dec 2011 23:56:15 +0100 phases: implement ``phase()`` and ``hidden()`` method for workingctx
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 21 Dec 2011 23:56:15 +0100] rev 15707
phases: implement ``phase()`` and ``hidden()`` method for workingctx Working ctx don't have revision number and need a dedicated implementation.
Tue, 20 Dec 2011 01:31:25 +0100 Add a phases.new-commit option to control minimal phase of new commit
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 20 Dec 2011 01:31:25 +0100] rev 15706
Add a phases.new-commit option to control minimal phase of new commit this option is both intended for human and internal code usage.
(0) -10000 -3000 -1000 -300 -100 -50 -24 +24 +50 +100 +300 +1000 +3000 +10000 +30000 tip