Mon, 21 Oct 2013 10:26:38 -0700 help: minor tweak to push help stable
Matt Mackall <mpm@selenic.com> [Mon, 21 Oct 2013 10:26:38 -0700] rev 19941
help: minor tweak to push help
Sat, 12 Oct 2013 18:51:34 -0700 pager: honour internal aliases stable
David Soria Parra <dsp@experimentalworks.net> [Sat, 12 Oct 2013 18:51:34 -0700] rev 19940
pager: honour internal aliases If paging is configured for a command all it's internal defined aliases will be paged as well. This will make attend=log cause 'hg history' to run the pager. However custom aliases will not be paged by default.
Sun, 20 Oct 2013 16:45:04 -0700 Added signature for changeset 1596f2d8f242 stable
Matt Mackall <mpm@selenic.com> [Sun, 20 Oct 2013 16:45:04 -0700] rev 19939
Added signature for changeset 1596f2d8f242
Sun, 20 Oct 2013 16:44:58 -0700 Added tag 2.8-rc for changeset 1596f2d8f242 stable
Matt Mackall <mpm@selenic.com> [Sun, 20 Oct 2013 16:44:58 -0700] rev 19938
Added tag 2.8-rc for changeset 1596f2d8f242
Sun, 20 Oct 2013 16:43:11 -0700 merge default into stable for 2.8 freeze stable 2.8-rc
Matt Mackall <mpm@selenic.com> [Sun, 20 Oct 2013 16:43:11 -0700] rev 19937
merge default into stable for 2.8 freeze
Thu, 03 Oct 2013 23:16:07 +0900 discovery: revise hint message introduced by changeset b00ba31313c3
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 03 Oct 2013 23:16:07 +0900] rev 19936
discovery: revise hint message introduced by changeset b00ba31313c3 This patch revises hint message from "for detail about" introduced by changeset b00ba31313c3 to "for details about", to unify it with the hint message introduced by proceeding patch.
Thu, 03 Oct 2013 23:16:06 +0900 push: add more detailed explanation about "--force" to online help document
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 03 Oct 2013 23:16:06 +0900] rev 19935
push: add more detailed explanation about "--force" to online help document This patch adds more detailed explanation about "--force" to online help document of "hg push" to prevent novice users to execute "push --force" easily without understanding about problems of multiple branch heads in the repository.
Thu, 03 Oct 2013 23:16:06 +0900 push: hide description about "-f" in the hint to prevent from using it easily
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 03 Oct 2013 23:16:06 +0900] rev 19934
push: hide description about "-f" in the hint to prevent from using it easily "use push -f to force" in the hint at abortion of "hg push" may cause novice users to execute "push -f" easily without understanding about problems of multiple branch heads in the repository. This patch hides description about "-f" in the hint, and leads into seeing "hg help push" for details about pushing new heads.
Sat, 05 Oct 2013 01:02:22 +0900 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 05 Oct 2013 01:02:22 +0900] rev 19933
demandimport: allow extensions to import own modules by absolute name Before this patch, python modules of each extensions can't import another one in own extension by absolute name, because root modules of each extensions are loaded with "hgext_" prefix. For example, "import extroot.bar" in "extroot/foo.py" of "extroot" extension fails, even though "import bar" in it succeeds. Installing extensions into site-packages of python library path can avoid this problem, but this solution is not reasonable in some cases: using binary package of Mercurial on Windows, for example. This patch retries to import with "hgext_" prefix after ImportError, if the module in the extension may try to import another one in own extension. This patch doesn't change some "_import()"/"_origimport()" invocations below, because ordinary extensions shouldn't cause such invocations. - invocation of "_import()" when root module imports sub-module by absolute path without "fromlist" for example, "import a.b" in "a.__init__.py". extensions are loaded with "hgext_" prefix, and this causes execution of another (= fixed by this patch) code path. - invocation of "_origimport()" when "level != -1" with "fromlist" for example, importing after "from __future__ import absolute_import" (level == 0), or "from . import b" or "from .a import b" (0 < level), for portability between python versions and environments, extensions shouldn't cause "level != -1".
Sat, 05 Oct 2013 01:02:22 +0900 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 05 Oct 2013 01:02:22 +0900] rev 19932
demandimport: support "absolute_import" for external libraries (issue4029) Before this patch, demandimport of Mercurial may fail to load external libraries using "from __future__ import absolute_import": for example, importing "foo" in "bar.baz" module will load "bar.foo" if it exists, even though "absolute_import" is enabled in "bar.baz" module. So, extensions for Mercurial can't use such external libraries. This patch saves "level" of import request for on-demand module loading in the future: default value of level is -1, and level is 0 when "absolute_import" is enabled. "level" value is passed to built-in import function in "_demandmod._load()" and it should load target module correctly. This patch changes only one "_demandmod" construction case other than cases below: - construction in "_demandmod._load()" this code path should be used only in relative sub-module loading case - constructions other than patched one in"_demandimport()" these code paths shouldn't be used in "level != -1" case
Sat, 05 Oct 2013 01:02:22 +0900 hghave: add "py3k" feature to check whether test runs with Python 3.x
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 05 Oct 2013 01:02:22 +0900] rev 19931
hghave: add "py3k" feature to check whether test runs with Python 3.x This patch adds "py3k" feature to check whether test runs with Python 3.x. This check is needed for portability of test code: for example, in the default, modules are imported relatively first with python 2.x, but imported absolutely with Python 3.x.
Sat, 05 Oct 2013 01:02:22 +0900 hghave: add "absimport" feature to check "absolute_import" in __future__
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 05 Oct 2013 01:02:22 +0900] rev 19930
hghave: add "absimport" feature to check "absolute_import" in __future__ This patch adds "absimport" feature to check whether "absolute_import" exists in __future__, which means supporting module loading by absolute name. This check is needed for portability of test code using "absolute_import", because Python earlier than 2.5 doesn't support it.
Tue, 01 Oct 2013 17:43:54 -0700 merge: exit early during a no-op update (BC)
Siddharth Agarwal <sid0@fb.com> [Tue, 01 Oct 2013 17:43:54 -0700] rev 19929
merge: exit early during a no-op update (BC) hg update . (or equivalents) are effectively no-ops in just about all circumstances. These sorts of updates can be especially common in a bookmark-oriented workflow. This saves us a status check and a manifest decompression, which means that on a repo with over 210,000 files, this brings hg update . down from 2.5 seconds to 0.15. There is one change in behavior: a file that was added, not committed, and then deleted but not removed used to be removed from the dirstate. With this patch it isn't. This is what causes the change in test-mq-qpush-exact.t. This seems like it's enough of an edge case to not be worth handling. The output of test-empty.t changes because those files are not yet created.
Thu, 17 Oct 2013 21:45:17 +0900 localrepo: invoke only feature setup functions for enabled extensions
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 17 Oct 2013 21:45:17 +0900] rev 19928
localrepo: invoke only feature setup functions for enabled extensions Before this patch, each feature setup functions for localrepository class should examine whether corresponding extension is enabled or not by themselves. This patch invokes only feature setup functions defined in module of enabled extensions, and it makes implementation of feature setup functions easier and simpler.
Wed, 02 Oct 2013 21:16:40 +0900 lock: handle race in trylock/testlock on Windows
Yuya Nishihara <yuya@tcha.org> [Wed, 02 Oct 2013 21:16:40 +0900] rev 19927
lock: handle race in trylock/testlock on Windows readlock may raise IOError if the system does not support symlink.
Mon, 14 Oct 2013 17:12:59 +0200 rebase: preserve active bookmark when not at head (issue3813)
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 14 Oct 2013 17:12:59 +0200] rev 19926
rebase: preserve active bookmark when not at head (issue3813) Now that the working directory parent is preserved, we can preserve the active bookmark too.
Mon, 14 Oct 2013 16:12:29 +0200 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 14 Oct 2013 16:12:29 +0200] rev 19925
rebase: preserve working directory parent (BC) Prior to this changeset, rebase always left the working directory as a parent of the last rebased changeset. The is dubious when, before the rebase, the working directory was not a parent of the tip most rebased changeset. With this changeset, we move the working directory back to its original parent. If the original parent was rebased, we use it's successors. This is a step toward solving issue3813 (rebase loses active bookmark if it's not on a head)
Mon, 14 Oct 2013 16:49:54 +0200 tests: prepare rebase test for wc parent preservation
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 14 Oct 2013 16:49:54 +0200] rev 19924
tests: prepare rebase test for wc parent preservation In the way to solving issue3813 we'll preserve the working directory parent after the rebase. Multiple rebases test expect the working directory parent to be tip after rebase. We patches them before the actual change to prevent confusion.
Fri, 18 Oct 2013 18:56:52 +0200 tests: test-gendoc.t checks if anything was translated
Simon Heimberg <simohe@besonet.ch> [Fri, 18 Oct 2013 18:56:52 +0200] rev 19923
tests: test-gendoc.t checks if anything was translated This would triggered when the variable would be set wrong again.
Fri, 18 Oct 2013 18:49:45 +0200 tests: really test translations for rst syntax errors (issue4003)
Simon Heimberg <simohe@besonet.ch> [Fri, 18 Oct 2013 18:49:45 +0200] rev 19922
tests: really test translations for rst syntax errors (issue4003) The variable LC_ALL did not work, use LANGUAGE instead. Before this patch, the original language C was generated (and tested) in every run.
Fri, 18 Oct 2013 18:49:32 +0200 i18n: fix wrong rst syntax
Simon Heimberg <simohe@besonet.ch> [Fri, 18 Oct 2013 18:49:32 +0200] rev 19921
i18n: fix wrong rst syntax Fix syntax errors like wrong indentation and invalid quotation. All errors preventing to generate valid html documentation (by gendoc.py) are fixed.
Sat, 19 Oct 2013 17:26:34 -0700 i18n-ru: fix the language team field
Matt Mackall <mpm@selenic.com> [Sat, 19 Oct 2013 17:26:34 -0700] rev 19920
i18n-ru: fix the language team field Having this at the default value caused some versions of msgfmt to give fatal errors.
Thu, 10 Oct 2013 04:32:36 +0200 commands: refactor 'serve', extract the http service class
Mads Kiilerich <madski@unity3d.com> [Thu, 10 Oct 2013 04:32:36 +0200] rev 19919
commands: refactor 'serve', extract the http service class
Thu, 10 Oct 2013 04:28:44 +0200 largefiles: refactor basestore, extract _gethash method
Mads Kiilerich <madski@unity3d.com> [Thu, 10 Oct 2013 04:28:44 +0200] rev 19918
largefiles: refactor basestore, extract _gethash method
Thu, 10 Oct 2013 04:28:39 +0200 largefiles: make the protocol hack for replacing heads with lheads more precise
Mads Kiilerich <madski@unity3d.com> [Thu, 10 Oct 2013 04:28:39 +0200] rev 19917
largefiles: make the protocol hack for replacing heads with lheads more precise Before the hack would replace 'heads' with 'lheads' no matter where it occured in a batch command string. Instead we will use a regexp to more carefully only match the 'heads' commands.
Mon, 01 Apr 2013 20:01:16 -0700 mq: refactor usage of repo.branchmap().iteritems() with itervalues()
Brodie Rao <brodie@sf.io> [Mon, 01 Apr 2013 20:01:16 -0700] rev 19916
mq: refactor usage of repo.branchmap().iteritems() with itervalues()
Sat, 19 Oct 2013 14:21:05 -0700 merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 19 Oct 2013 14:21:05 -0700] rev 19915
merge with stable
Sat, 19 Oct 2013 14:20:31 -0700 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Sat, 19 Oct 2013 14:20:31 -0700] rev 19914
merge with i18n
Thu, 10 Oct 2013 13:38:13 +0100 i18n-ru: synchronized with 1aaefba2a3a9 stable
Alexander Sauta <demosito@gmail.com> [Thu, 10 Oct 2013 13:38:13 +0100] rev 19913
i18n-ru: synchronized with 1aaefba2a3a9
Tue, 27 Aug 2013 16:03:16 +0400 i18n-ru: fix misprints stable
Vladimir Zakharov <zakharov.vv@gmail.com> [Tue, 27 Aug 2013 16:03:16 +0400] rev 19912
i18n-ru: fix misprints
Wed, 16 Oct 2013 10:36:58 -0400 shelve: some docstring cleanups
Augie Fackler <raf@durin42.com> [Wed, 16 Oct 2013 10:36:58 -0400] rev 19911
shelve: some docstring cleanups
Mon, 14 Oct 2013 00:25:29 -0400 dirstate.status: return explicit unknown files even when not asked
Siddharth Agarwal <sid0@fb.com> [Mon, 14 Oct 2013 00:25:29 -0400] rev 19910
dirstate.status: return explicit unknown files even when not asked dirstate.walk will return unknown files that were explicitly requested, even if listunknown is false. There's no point in dropping these files on the floor in dirstate.status. This has no effect on any current callers, because all of them assume the unknown list is empty and ignore it. Future callers may find it useful, though.
Mon, 14 Oct 2013 18:29:56 +0200 shelve: add minimal documentation to all functions
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 14 Oct 2013 18:29:56 +0200] rev 19909
shelve: add minimal documentation to all functions There is a lot of functions in this extension. We had a small documentation help people getting started.
Mon, 14 Oct 2013 17:46:47 +0200 shelve: use the class constant in the clear method
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 14 Oct 2013 17:46:47 +0200] rev 19908
shelve: use the class constant in the clear method This class attribut is used everywhere else. Not using it in clear will get us in trouble sooner or later.
Sat, 12 Oct 2013 11:29:28 +0400 hgweb: fix unstoppable loading of graph when no more results
Alexander Plavin <alexander@plav.in> [Sat, 12 Oct 2013 11:29:28 +0400] rev 19907
hgweb: fix unstoppable loading of graph when no more results When a user reaches the end of repo history with graph view, it (unsuccessfully) tried to load more entries. This patch disables further loading attempts.
Wed, 24 Jul 2013 03:20:26 +0400 hgweb: remove now unnecessary explicit header() and footer()
Alexander Plavin <alexander@plav.in> [Wed, 24 Jul 2013 03:20:26 +0400] rev 19906
hgweb: remove now unnecessary explicit header() and footer() They became unnecessary after allowing custom-named entries in templates.
Fri, 16 Aug 2013 21:41:19 +0400 hgweb: replace 'shortlog' with 'changelog' in raw changelog template
Alexander Plavin <alexander@plav.in> [Fri, 16 Aug 2013 21:41:19 +0400] rev 19905
hgweb: replace 'shortlog' with 'changelog' in raw changelog template
Mon, 14 Oct 2013 18:59:12 +0200 shelve: drop pickle usage
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 14 Oct 2013 18:59:12 +0200] rev 19904
shelve: drop pickle usage Pickle was used to the `shelvedstate` file. However the content of the file is very simple and we can handle serialisation ourself. Not using pickle is a net win. Note incrementing the format version as no releases have been done so far.
Tue, 15 Oct 2013 00:51:05 +0900 store: use "vfs.exists()" instead of "os.path.exists()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:05 +0900] rev 19903
store: use "vfs.exists()" instead of "os.path.exists()"
Tue, 15 Oct 2013 00:51:05 +0900 context: use "vfs.lstat()" to examine target path instead of "os.path.*"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:05 +0900] rev 19902
context: use "vfs.lstat()" to examine target path instead of "os.path.*" This patch gets stat object of target path by "vfs.lstat()", and examines stat object to know the type of it. This follows the way in "workingctx.add()". This should be cheaper than original implementation invoking "lexists()", "isfile()" and "islink()".
Tue, 15 Oct 2013 00:51:04 +0900 context: use "vfs.lstat()" instead of "os.lstat()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:04 +0900] rev 19901
context: use "vfs.lstat()" instead of "os.lstat()"
Tue, 15 Oct 2013 00:51:04 +0900 context: use "vfs.lstat()" instead of "os.lstat()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:04 +0900] rev 19900
context: use "vfs.lstat()" instead of "os.lstat()" This patch also changes paths added to "rejected" list from full path (referred by "p") to relative one (referred by "f"), when type of target path is neither file nor symlink. This change should be reasonable, because the path added to "rejected" list is relative one, when "OSError" is raised at "lstat()".
Tue, 15 Oct 2013 00:51:04 +0900 changelog: use "vfs.fstat()" instead of "util.fstat()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:04 +0900] rev 19899
changelog: use "vfs.fstat()" instead of "util.fstat()" Just invoking "os.fstat()" with "file.fileno()" doesn't require non ANSI file API, because filename is not used for invocation of "os.fstat()". But "util.fstat()" should invoke "os.stat()" with "fp.name", if file object doesn't have "fileno()" method for portability, and "fp.name" may cause invocation of non ANSI file API. So, this patch makes the constructor of appender class invoke "util.fstat()" via vfs, to encapsulate filename handling.
Tue, 15 Oct 2013 00:51:04 +0900 changelog: use "vfs.rename()" instead of "util.rename()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:04 +0900] rev 19898
changelog: use "vfs.rename()" instead of "util.rename()"
Tue, 15 Oct 2013 00:51:04 +0900 vfs: add "open()" for newly added code paths which open files via vfs
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:04 +0900] rev 19897
vfs: add "open()" for newly added code paths which open files via vfs This patch replaces "open()" by own "__call__()" defined in derived classes at the first invocation, for efficiency of succeeding invocations.
Tue, 15 Oct 2013 00:51:04 +0900 bookmarks: use "vfs.utime()" instead of "os.utime()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:04 +0900] rev 19896
bookmarks: use "vfs.utime()" instead of "os.utime()"
Tue, 15 Oct 2013 00:51:04 +0900 bookmarks: use "vfs.unlink()" instead of "util.unlink()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:04 +0900] rev 19895
bookmarks: use "vfs.unlink()" instead of "util.unlink()"
Thu, 03 Oct 2013 18:01:21 +0200 cmdutil: use None as default value for "function pointer" instead of False
Mads Kiilerich <madski@unity3d.com> [Thu, 03 Oct 2013 18:01:21 +0200] rev 19894
cmdutil: use None as default value for "function pointer" instead of False Less type confusion.
Thu, 03 Oct 2013 18:01:21 +0200 graft: make skip messages more helpful
Mads Kiilerich <madski@unity3d.com> [Thu, 03 Oct 2013 18:01:21 +0200] rev 19893
graft: make skip messages more helpful This makes it possible for the user to understand and accept or work around what is happening.
Thu, 03 Oct 2013 18:01:21 +0200 convert: update source shamap when using filemap, just as when not using filemap
Mads Kiilerich <madski@unity3d.com> [Thu, 03 Oct 2013 18:01:21 +0200] rev 19892
convert: update source shamap when using filemap, just as when not using filemap The reverse mapping was introduced in 2147a734dcf9 to make roundtrip conversions possible ... but it did not work when using filemap. Roundtrips with filemaps will of course only work flawlessly if inverse mappings are used. Especially, if a lossy convert mapping is used in one direction, then only linear lines of development can be converted in the other direction. With this constraint convert will do the right thing by assuming that excluded files haven't been changed.) A test case with general coverage of hg-hg roundtrips with filemap is added. (There a cases where adding records of converted revisions to the shamap in the source repository doesn't work - especially when converting the same repo to several other repos and back. It would arguably be better if convert only updated the shamaps in the target repo but read shamaps from both the source and and target repo ... but that is a different story. Making the stuff we have work consistently is step forward no matter what.)
Sat, 20 Jul 2013 00:43:08 +0200 convert: introduce hg.revs to replace hg.startrev and --rev with a revset
Mads Kiilerich <madski@unity3d.com> [Sat, 20 Jul 2013 00:43:08 +0200] rev 19891
convert: introduce hg.revs to replace hg.startrev and --rev with a revset The existing knobs for controlling which revisions to convert were often insufficient. Revsets is a shiny hammer that provides a better solution. Revsets has been introduced in --rev handling in a lot of other places while being more or less backwards compatible. Doing the same here would be a much more elegant ... but that would unfortunately not work in this case. "--rev 7" used to mean revision 0 to 7 - it would be an unacceptable change if it suddenly just meant revision 7. Instead we introduce a new configuration setting. It will only work for Mercurial repositories so adding a new commandline option for it would not be a nice solution. There is no way to use the fancy deprecation markup for configuration settings so we just remove the documentation of hg.startrev.
Thu, 03 Oct 2013 18:01:21 +0200 convert: refactor head calculation for hg sources
Mads Kiilerich <madski@unity3d.com> [Thu, 03 Oct 2013 18:01:21 +0200] rev 19890
convert: refactor head calculation for hg sources
Fri, 19 Jul 2013 14:20:11 +0200 convert: remove unused and incorrect default handling for revmapfile
Mads Kiilerich <madski@unity3d.com> [Fri, 19 Jul 2013 14:20:11 +0200] rev 19889
convert: remove unused and incorrect default handling for revmapfile destc is not a string and can thus not be os.path.join'ed. Convert would crash if we ended up there ... but we wouldn't because both the sinks (hg and subversion) sinks implement .revmapfile and "never" throws exceptions.
Mon, 30 Sep 2013 18:27:42 -0700 generaldelta: fix test
Wojciech Lopata <lopek@fb.com> [Mon, 30 Sep 2013 18:27:42 -0700] rev 19888
generaldelta: fix test
Fri, 11 Oct 2013 17:19:40 -0700 shelve: fix dirstate corruption during unshelve (issue4055)
Durham Goode <durham@fb.com> [Fri, 11 Oct 2013 17:19:40 -0700] rev 19887
shelve: fix dirstate corruption during unshelve (issue4055) If you shelved on top of commit A, then rebased A to @ and unshelved, any file changed in A would appear as modified in hg status despite the contents not having changed. The fix is to use dirstate.setparents() instead of doing it manually. This will be a little slower since it has to iterate through everything in the dirstate instead of only what's in the mergestate, but this will be more correct since the mergestate did not include files which were merged but had no conflict. The tests also had several bad dirstate's hardcoded in them. This change updates the tests appropriately and adds a new test to cover this specific rebase case.
Wed, 09 Oct 2013 14:15:34 -0700 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 09 Oct 2013 14:15:34 -0700] rev 19886
merge with stable
Wed, 09 Oct 2013 14:15:20 -0700 shelve: only save mq state if enabled
Sean Farley <sean.michael.farley@gmail.com> [Wed, 09 Oct 2013 14:15:20 -0700] rev 19885
shelve: only save mq state if enabled Test coverage has been added.
Mon, 07 Oct 2013 11:45:01 -0700 changegroup: don't run changegroup hooks if nodes are gone
Durham Goode <durham@fb.com> [Mon, 07 Oct 2013 11:45:01 -0700] rev 19884
changegroup: don't run changegroup hooks if nodes are gone The changegroup hook runs when the repo lock is released, but it's possible that multiple transactions have happened during that single lock and therefore the commits the hook was for may be gone. This is the case in the shelve extension where it adds a commit and strips it in the same lock but different transactions (which results in warning messages during unshelve on hgsubversion repos). A real fix would be to attach the hook to the transaction instead, but that might have unknown consequences. Since we're this close to code-freeze, this fix just prevents the hook from running if the commit disappeared.
Wed, 09 Oct 2013 12:02:32 -0700 hgweb: add escaping of tags and bookmarks in graph view stable
Matt Mackall <mpm@selenic.com> [Wed, 09 Oct 2013 12:02:32 -0700] rev 19883
hgweb: add escaping of tags and bookmarks in graph view
Wed, 09 Oct 2013 11:50:19 -0700 json: add more paranoid escaping stable
Matt Mackall <mpm@selenic.com> [Wed, 09 Oct 2013 11:50:19 -0700] rev 19882
json: add more paranoid escaping
Wed, 02 Oct 2013 09:50:21 +0200 shelve: make no_backup parameter passing python 2.4 compatible
David Soria Parra <dsp@experimentalworks.net> [Wed, 02 Oct 2013 09:50:21 +0200] rev 19881
shelve: make no_backup parameter passing python 2.4 compatible Python 2.4 doesn't allow passing named parameter after an list unpack, but allows to unpack a dict.
Wed, 09 Oct 2013 11:27:59 -0700 ui: send password prompts to stderr again (issue4056) stable
Matt Mackall <mpm@selenic.com> [Wed, 09 Oct 2013 11:27:59 -0700] rev 19880
ui: send password prompts to stderr again (issue4056)
Mon, 07 Oct 2013 15:21:17 -0700 hgweb: escape branch names in graph view stable
Matt Mackall <mpm@selenic.com> [Mon, 07 Oct 2013 15:21:17 -0700] rev 19879
hgweb: escape branch names in graph view
Wed, 02 Oct 2013 11:16:03 +0200 test: make test-propertycache.py python2.4 compatible stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 02 Oct 2013 11:16:03 +0200] rev 19878
test: make test-propertycache.py python2.4 compatible The subprocess module have not `check_call` method in python2.4. Fall back to calling `check` with return code verification.
Tue, 01 Oct 2013 09:54:46 +0200 hgweb: log headers only if headers were successfully parsed stable
David Soria Parra <dsp@experimentalworks.net> [Tue, 01 Oct 2013 09:54:46 +0200] rev 19877
hgweb: log headers only if headers were successfully parsed The headers attribute is not initialized in certain error situations (e.g. http 400 bad request). Check for self.headers before we attempt to access it.
Mon, 07 Oct 2013 17:47:55 -0400 merge with stable
Augie Fackler <raf@durin42.com> [Mon, 07 Oct 2013 17:47:55 -0400] rev 19876
merge with stable
Mon, 07 Oct 2013 17:47:19 -0400 patch: Fix nullid for binary git diffs (issue4054) stable
Johan Bjork <jbjoerk@gmail.com> [Mon, 07 Oct 2013 17:47:19 -0400] rev 19875
patch: Fix nullid for binary git diffs (issue4054) The index for an empty file in git is not 0, but sha-1("blobl 0\0").
Thu, 03 Oct 2013 19:41:25 +0200 shelve: copy bookmarks and restore them after a commit
David Soria Parra <dsp@experimentalworks.net> [Thu, 03 Oct 2013 19:41:25 +0200] rev 19874
shelve: copy bookmarks and restore them after a commit cmdutil.commit() will advance the bookmarks. Therefore we have to restore them afterwards. We have to use update() to ensure we preserve the bmstore object.
Thu, 03 Oct 2013 14:50:47 +0200 check-code: check that '>' is used for continued lines
Mads Kiilerich <madski@unity3d.com> [Thu, 03 Oct 2013 14:50:47 +0200] rev 19873
check-code: check that '>' is used for continued lines Continued lines do not get the SALT mangling.
Thu, 03 Oct 2013 14:50:47 +0200 check-code: check for spaces around = for named parameters
Mads Kiilerich <madski@unity3d.com> [Thu, 03 Oct 2013 14:50:47 +0200] rev 19872
check-code: check for spaces around = for named parameters
Thu, 03 Oct 2013 14:50:47 +0200 run-tests: place the .t shell script next to $TESTTMP and with a useful name
Mads Kiilerich <madski@unity3d.com> [Thu, 03 Oct 2013 14:50:47 +0200] rev 19871
run-tests: place the .t shell script next to $TESTTMP and with a useful name --keep can thus keep it around - very convenient for debugging.
Thu, 03 Oct 2013 14:50:46 +0200 tests: fix void and invalid test in test-archive.t
Mads Kiilerich <madski@unity3d.com> [Thu, 03 Oct 2013 14:50:46 +0200] rev 19870
tests: fix void and invalid test in test-archive.t An echo statement was missed in the .t-ification in afe19a1bf9d3 so we ended up with invalid sh syntax. But at the same time a continuation line was marked as $ instead of > and we thus added the salt that made the expression valid again.
Wed, 02 Oct 2013 14:24:25 -0700 inotify: don't pass pidfile option to child
Siddharth Agarwal <sid0@fb.com> [Wed, 02 Oct 2013 14:24:25 -0700] rev 19869
inotify: don't pass pidfile option to child The child no longer needs it.
Wed, 02 Oct 2013 15:20:49 -0700 cmdutil.service: move pidfile writing to the parent in daemon mode
Siddharth Agarwal <sid0@fb.com> [Wed, 02 Oct 2013 15:20:49 -0700] rev 19868
cmdutil.service: move pidfile writing to the parent in daemon mode There is a potential race here, which I suspect I've spotted in the wild, where something reads the pid file after the parent exits but before the child has had a chance to write to it. Moving writing the file to the parent causes this to no longer be an issue.
Wed, 02 Oct 2013 15:17:50 -0700 cmdutil.service: move pidfile writing to a local function
Siddharth Agarwal <sid0@fb.com> [Wed, 02 Oct 2013 15:17:50 -0700] rev 19867
cmdutil.service: move pidfile writing to a local function An upcoming patch will reuse this code.
Wed, 02 Oct 2013 14:20:26 -0700 inotify: add pidfile to parent options
Siddharth Agarwal <sid0@fb.com> [Wed, 02 Oct 2013 14:20:26 -0700] rev 19866
inotify: add pidfile to parent options An upcoming patch will move pidfile writing from the parent to the child. This means that if the pid file isn't specified on the command-line but is specified as a config option, it needs to be added to the parent's opts dict.
Wed, 02 Oct 2013 22:46:32 +0100 get-with-headers: don't block indefinitely if the server had an internal error
Javi Merino <cibervicho@gmail.com> [Wed, 02 Oct 2013 22:46:32 +0100] rev 19865
get-with-headers: don't block indefinitely if the server had an internal error If the server had an internal error and returned 500, there's nothing to read, so "response.read()" blocks indefinitely. Only output the response if there's really a response.
Fri, 19 Jul 2013 02:32:36 +0200 convert: fix description of 'convert --rev'
Mads Kiilerich <madski@unity3d.com> [Fri, 19 Jul 2013 02:32:36 +0200] rev 19864
convert: fix description of 'convert --rev'
Wed, 02 Oct 2013 19:46:48 +0200 convert: fix crash when existing converted revision didn't come from source
Mads Kiilerich <madski@unity3d.com> [Wed, 02 Oct 2013 19:46:48 +0200] rev 19863
convert: fix crash when existing converted revision didn't come from source This case can happen when converting from multiple repositories with filemap.
Wed, 02 Oct 2013 19:46:47 +0200 convert: fix crash when filemap filtering is changed
Mads Kiilerich <madski@unity3d.com> [Wed, 02 Oct 2013 19:46:47 +0200] rev 19862
convert: fix crash when filemap filtering is changed
Tue, 01 Oct 2013 14:48:53 -0400 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com> [Tue, 01 Oct 2013 14:48:53 -0400] rev 19861
rebase: preserve metadata from grafts of changes (issue4001)
Tue, 01 Oct 2013 14:28:18 -0400 rebase: rework extrafn handling to support multiple extrafns
Augie Fackler <raf@durin42.com> [Tue, 01 Oct 2013 14:28:18 -0400] rev 19860
rebase: rework extrafn handling to support multiple extrafns This makes it possible to pass keepbranches and extrafn to rebase at the same time, although nobody uses that functionality presently. This is a precursor to keeping graft metadata.
Fri, 06 Sep 2013 13:30:58 +0400 hgweb: call process_dates with a specified selector in ajax scroll
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:58 +0400] rev 19859
hgweb: call process_dates with a specified selector in ajax scroll Now this function processes only newly added entries, and not old ones, the amount of which can be much bigger.
Fri, 06 Sep 2013 13:30:58 +0400 hgweb: add parentSelector argument to process_dates
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:58 +0400] rev 19858
hgweb: add parentSelector argument to process_dates Allow specifying parent selector of elements to process, useful for incremental page updates.
Fri, 06 Sep 2013 13:30:58 +0400 hgweb: optimize process_dates function
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:58 +0400] rev 19857
hgweb: optimize process_dates function This function looped over every node due to getElementsByTagName('*'), instead of using selectors. In this patch we use querySelectorAll('.age') and process only these nodes, which is much faster and also doesn't require extra condition. Browser compatibility isn't sacrificed: IE 8+, FF 3.5+, Opera 10+.
Thu, 29 Aug 2013 09:22:15 -0700 shelve: allow shelving of a change with an mq patch applied
David Soria Parra <dsp@experimentalworks.net> [Thu, 29 Aug 2013 09:22:15 -0700] rev 19856
shelve: allow shelving of a change with an mq patch applied We allow shelving of of changes on top of a MQ repository. MQ will not allow repository changes on top of applied patches. We introduce checkapplied in MQ to bypass this check.
Tue, 01 Oct 2013 12:20:31 +0200 shelve: new output format for shelve listings
David Soria Parra <dsp@experimentalworks.net> [Tue, 01 Oct 2013 12:20:31 +0200] rev 19855
shelve: new output format for shelve listings Use a more condensed and mercurial-like output format for shelve listing. We don't prefix the message with 'shelved from...' anymore as our default name contains the branch name or the user used his own name. To avoid just printing the last commit message, we drop writing the description to stdout. old output: default [1s ago] shelved from default (01ba9745): create conflict new output: default (1s ago) create conflict
Thu, 29 Aug 2013 09:22:13 -0700 shelve: add a shelve extension to save/restore working changes
David Soria Parra <dsp@experimentalworks.net> [Thu, 29 Aug 2013 09:22:13 -0700] rev 19854
shelve: add a shelve extension to save/restore working changes This extension saves shelved changes using a temporary draft commit, and bundles the temporary commit and its draft ancestors, then strips them. This strategy makes it possible to use Mercurial's bundle and merge machinery to resolve conflicts if necessary when unshelving, even when the destination commit or its ancestors have been amended, squashed, or evolved. (Once a change has been unshelved, its associated unbundled commits are either rolled back or stripped.) Storing the shelved change as a bundle also avoids the difficulty that hidden commits would cause, of making it impossible to amend the parent if it is a draft commits (a common scenario). Although this extension shares its name and some functionality with the third party hgshelve extension, it has little else in common. Notably, the hgshelve extension shelves changes as unified diffs, which makes conflict resolution a matter of finding .rej files and conflict markers, and cleaning up the mess by hand. We do not yet allow hunk-level choosing of changes to record. Compared to the hgshelve extension, this is a small regression in usability, but we hope to integrate that at a later point, once the record machinery becomes more reusable and robust.
Tue, 01 Oct 2013 12:20:29 +0200 localrepo: make report level in repo.transaction configurable
David Soria Parra <dsp@experimentalworks.net> [Tue, 01 Oct 2013 12:20:29 +0200] rev 19853
localrepo: make report level in repo.transaction configurable repo.transaction always writes to stderr when a transaction aborts. In order to be able to abort a transaction quietly (e.g shelve needs a temporary view on the repo) we need to make the report level configurable.
Tue, 01 Oct 2013 17:00:03 -0700 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 01 Oct 2013 17:00:03 -0700] rev 19852
merge with stable
Tue, 01 Oct 2013 16:55:20 -0700 Added signature for changeset e7fa36d2ad3a stable
Matt Mackall <mpm@selenic.com> [Tue, 01 Oct 2013 16:55:20 -0700] rev 19851
Added signature for changeset e7fa36d2ad3a
Tue, 01 Oct 2013 16:55:14 -0700 Added tag 2.7.2 for changeset e7fa36d2ad3a stable
Matt Mackall <mpm@selenic.com> [Tue, 01 Oct 2013 16:55:14 -0700] rev 19850
Added tag 2.7.2 for changeset e7fa36d2ad3a
Tue, 01 Oct 2013 00:35:07 +0900 rebase: catch RepoLookupError at restoring rebase state for summary stable 2.7.2
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 01 Oct 2013 00:35:07 +0900] rev 19849
rebase: catch RepoLookupError at restoring rebase state for summary Before this patch, "hg summary" may fail, when there is inconsistent rebase state: for example, the root of rebase destination revisions recorded in rebase state file is already stripped manually. Mercurial earlier than 2.7 allows users to do anything other than starting new rebase, even though current rebase is not finished or aborted yet. So, such inconsistent rebase states may be left and forgotten in repositories. This patch catches RepoLookupError at restoring rebase state for summary hook, and treat such state as "broken".
Tue, 01 Oct 2013 00:35:07 +0900 rebase: catch RepoLookupError at restoring rebase state for abort/continue stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 01 Oct 2013 00:35:07 +0900] rev 19848
rebase: catch RepoLookupError at restoring rebase state for abort/continue Before this patch, "rebase --abort"/"--continue" may fail, when rebase state is inconsistent: for example, the root of rebase destination revisions recorded in rebase state file is already stripped manually. Mercurial earlier than 2.7 allows users to do anything other than starting new rebase, even though current rebase is not finished or aborted yet. So, such inconsistent rebase states may be left and forgotten in repositories. This patch catches RepoLookupError at restoring rebase state for abort/continue, and treat such state as "broken".
Tue, 01 Oct 2013 00:35:07 +0900 histedit: suggest "histedit --abort" for inconsistent histedit state stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 01 Oct 2013 00:35:07 +0900] rev 19847
histedit: suggest "histedit --abort" for inconsistent histedit state Mercurial earlier than 2.7 allows users to do anything other than starting new histedit, even though current histedit is not finished or aborted yet. So, unfinished (and maybe inconsistent now) histedit states may be left and forgotten in repositories. Before this patch, histedit extension shows the message below, when it detects such inconsistent state: abort: REV is not an ancestor of working directory (update to REV or descendant and run "hg histedit --continue" again) But this message is incorrect, unless old Mercurial is re-installed, because Mercurial 2.7 or later disallows users to update the working directory to another revision. This patch changes the hint message to suggest "hg histedit --abort".
Mon, 30 Sep 2013 14:23:14 +0200 repoview: have unfilteredpropertycache using the underlying cache stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 30 Sep 2013 14:23:14 +0200] rev 19846
repoview: have unfilteredpropertycache using the underlying cache A `unfilteredpropertycache` is a kind of `propertycache` used on `localrepo` to unsure it will always be run against unfiltered repo and stored only once. As the cached value is never stored in the repoview instance, the descriptor will always be called. Before this patch such calls always result in a call to the `__get__` method of the `propertycache` on the unfiltered repo. That was recomputing a new value on every access through a repoview. We can't prevent the repoview's `unfilteredpropertycache` to get called on every access. In that case the new code makes a standard attribute access to the property. If a value is cached it will be used. The `propertycache` test file have been augmented with test about this issue.
(0) -10000 -3000 -1000 -300 -100 -96 +96 +100 +300 +1000 +3000 +10000 +30000 tip