Fri, 11 May 2012 15:15:50 +0200 addremove: document default similarity behavior (issue3429) stable
Levi Bard <levi@unity3d.com> [Fri, 11 May 2012 15:15:50 +0200] rev 16637
addremove: document default similarity behavior (issue3429)
Fri, 11 May 2012 14:42:26 +0200 largefiles: follow normal codepath for addremove if non-largefiles repo (issue3249) stable
Na'Tosha Bard <natosha@unity3d.com> [Fri, 11 May 2012 14:42:26 +0200] rev 16636
largefiles: follow normal codepath for addremove if non-largefiles repo (issue3249)
Fri, 11 May 2012 16:57:26 +0200 mq: add --no-backup for qpush/qpop/qgoto stable
Patrick Mezard <patrick@mezard.eu> [Fri, 11 May 2012 16:57:26 +0200] rev 16635
mq: add --no-backup for qpush/qpop/qgoto
Fri, 11 May 2012 16:18:47 +0200 mq: backup local changes in qpush --force stable
Patrick Mezard <patrick@mezard.eu> [Fri, 11 May 2012 16:18:47 +0200] rev 16634
mq: backup local changes in qpush --force qpush help says the following about --force: 1- When -f/--force is applied, all local changes in patched files will be lost. 2- Apply on top of local changes In practice, qpush --force will attempt to apply the patch on top of local changes, and on success will merge them in the pushed patch. On failure, patched files will contain a mix of local changes (where the patch could not apply) and a mix of patch changes (were it applied). So, local changes are less lost than entangled with a mass of other changes. This patch makes qpush --force backup all locally modified files touched by the next patch being applied. When multiple patches are being pushed, this logic is repeated for each patch. Note that modified but successfully patched files are preserved as well.
Fri, 11 May 2012 16:17:02 +0200 mq: backup local changes in qpop --force (issue3433) stable
Patrick Mezard <patrick@mezard.eu> [Fri, 11 May 2012 16:17:02 +0200] rev 16633
mq: backup local changes in qpop --force (issue3433)
Fri, 11 May 2012 16:08:49 +0200 pager: remove quiet flag stable
David Soria Parra <dsp@php.net> [Fri, 11 May 2012 16:08:49 +0200] rev 16632
pager: remove quiet flag With the pager running as a child process, exiting the pager doesn't result in a broken pipe message. To distinguish the exit broken pipe code from a mercurial abort we register the default action for SIGPIPE. This results in a 141 exit code instead of a 255. On windows SIGPIPE doesn't exists and a ValueError will be thrown.
Fri, 11 May 2012 15:45:37 +0200 pager: preserve Hg's exit code (and fix Windows support) (issue3225) stable
Brodie Rao <brodie@sf.io> [Fri, 11 May 2012 15:45:37 +0200] rev 16631
pager: preserve Hg's exit code (and fix Windows support) (issue3225) This changes how the pager extension invokes the pager. Prior to this change, the extension would fork Hg and exec the pager in the parent process. This loses Hg exit code, and it doesn't work on Windows. Now the pager is invoked using the subprocess library, and an atexit handler is registered that makes Hg wait for the pager to exit before it exits itself. Note that if you exit the pager before Hg is done running, you'll get an exit code of 255, which is caused by Python blowing up due to a broken pipe. If you set pager.quiet=True, you'll get the OS-level return code of 141.
Fri, 11 May 2012 18:33:45 +0300 amend: preserve extra dict (issue3430) stable
Idan Kamara <idankk86@gmail.com> [Fri, 11 May 2012 18:33:45 +0300] rev 16630
amend: preserve extra dict (issue3430)
Wed, 09 May 2012 09:58:50 +0200 parser: use PyInt_FromSsize_t in index_stats
Adrian Buehlmann <adrian@cadifra.com> [Wed, 09 May 2012 09:58:50 +0200] rev 16629
parser: use PyInt_FromSsize_t in index_stats Eliminates mercurial/parsers.c(515) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'long', possible loss of data mercurial/parsers.c(520) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'long', possible loss of data mercurial/parsers.c(521) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'long', possible loss of data when compiling for Windows x64 target using the Microsoft compiler. PyInt_FromSsize_t does not exist for Python 2.4 and earlier, so we define a fallback in util.h to use PyInt_FromLong when compiling for Python 2.4.
Fri, 11 May 2012 10:53:12 -0700 localrepo: cleanup var names and comments
redstone [Fri, 11 May 2012 10:53:12 -0700] rev 16628
localrepo: cleanup var names and comments Cosmetic cleanups. Fix comment typo referring to the notion of multiple tips. Make variable describing a generator end in 'gen'. Fix another var containing a node not to end with 'rev'.
Fri, 11 May 2012 17:26:58 +0200 transplant: manually transplant pullable changesets with --log
Levi Bard <levi@unity3d.com> [Fri, 11 May 2012 17:26:58 +0200] rev 16627
transplant: manually transplant pullable changesets with --log
Thu, 10 May 2012 18:52:07 +0200 phases: stop modifying localrepo in writeroots()
Patrick Mezard <patrick@mezard.eu> [Thu, 10 May 2012 18:52:07 +0200] rev 16626
phases: stop modifying localrepo in writeroots() Also pass the phaseroots being written for clarity. repo._dirtyphases was already reset to False at call site.
Thu, 10 May 2012 18:52:04 +0200 phases: stop modifying localrepo in readroots()
Patrick Mezard <patrick@mezard.eu> [Thu, 10 May 2012 18:52:04 +0200] rev 16625
phases: stop modifying localrepo in readroots() phasedefaults is also passed explicitely to help the casual reader understand where it is used without grepping all the sources.
Thu, 10 May 2012 18:21:15 +0200 phases: call filterunknown() in readroots()
Patrick Mezard <patrick@mezard.eu> [Thu, 10 May 2012 18:21:15 +0200] rev 16624
phases: call filterunknown() in readroots() One less function manipulating localrepo state.
Thu, 10 May 2012 18:21:15 +0200 repair: no need to call filterunknown() in strip()
Patrick Mezard <patrick@mezard.eu> [Thu, 10 May 2012 18:21:15 +0200] rev 16623
repair: no need to call filterunknown() in strip() Calling strip() will eventually trigger localrepo.destroyed() which will invalidate _parseroots. It will call filterunknown() upon reload. Changes to test-keyword.t are related to commit --debug running after either qpop or rollback.
Thu, 10 May 2012 18:21:15 +0200 test-phases: test changing null revision phase
Patrick Mezard <patrick@mezard.eu> [Thu, 10 May 2012 18:21:15 +0200] rev 16622
test-phases: test changing null revision phase The behaviour is correct but for bad reasons: the repo.set() call in phase command fails for '-1'. It should be rejected explicitely by phase boundary commands, sadly this is hard to do because phase changes are not applied atomically.
Fri, 11 May 2012 14:48:24 +0200 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 11 May 2012 14:48:24 +0200] rev 16621
merge with stable
Fri, 11 May 2012 02:32:26 -0700 tests: fix test-parseindex2.py when run with --pure stable
Bryan O'Sullivan <bryano@fb.com> [Fri, 11 May 2012 02:32:26 -0700] rev 16620
tests: fix test-parseindex2.py when run with --pure
Fri, 11 May 2012 01:55:33 -0700 changelog: ensure that nodecache is valid (issue3428) stable
Bryan O'Sullivan <bryano@fb.com> [Fri, 11 May 2012 01:55:33 -0700] rev 16619
changelog: ensure that nodecache is valid (issue3428) This ensures that an out-of-process hook can see an incoming changegroup.
Tue, 08 May 2012 14:48:50 -0700 parsers: change the type of nt_level
Bryan O'Sullivan <bryano@fb.com> [Tue, 08 May 2012 14:48:50 -0700] rev 16618
parsers: change the type of nt_level We should generally prefer Py_ssize_t whenever we are talking about lengths.
Tue, 08 May 2012 14:48:48 -0700 parsers: change the type signature of hexdigit
Bryan O'Sullivan <bryano@fb.com> [Tue, 08 May 2012 14:48:48 -0700] rev 16617
parsers: change the type signature of hexdigit An upcoming change will make use of this.
Tue, 08 May 2012 14:48:44 -0700 parsers: allow nt_find to signal an ambiguous match
Bryan O'Sullivan <bryano@fb.com> [Tue, 08 May 2012 14:48:44 -0700] rev 16616
parsers: allow nt_find to signal an ambiguous match
Tue, 08 May 2012 14:48:39 -0700 parsers: factor out radix tree initialization
Bryan O'Sullivan <bryano@fb.com> [Tue, 08 May 2012 14:48:39 -0700] rev 16615
parsers: factor out radix tree initialization
Tue, 08 May 2012 14:46:06 -0700 parsers: update ntrev when we stop scanning
Bryan O'Sullivan <bryano@fb.com> [Tue, 08 May 2012 14:46:06 -0700] rev 16614
parsers: update ntrev when we stop scanning This prevents us from inserting some nodes twice, wasting work.
Tue, 08 May 2012 15:46:51 -0500 tests: set a standard terminal type
Matt Mackall <mpm@selenic.com> [Tue, 08 May 2012 15:46:51 -0500] rev 16613
tests: set a standard terminal type This makes test-ui-color.py happy when run in a dumb terminal. Spotted by Jesse Glick <jesse.glick@oracle.com>
Sun, 06 May 2012 17:12:22 -0700 branches: quiet option observes other parameters
Travis Herrick <tthetoad@gmail.com> [Sun, 06 May 2012 17:12:22 -0700] rev 16612
branches: quiet option observes other parameters
Tue, 08 May 2012 23:59:39 +0400 build: fix hgrc manpage building with docutils 0.9 stable
Nikolaj Sjujskij <sterkrig@myopera.com> [Tue, 08 May 2012 23:59:39 +0400] rev 16611
build: fix hgrc manpage building with docutils 0.9 Since docutils 0.9, `roman` module has been moved from module directory root (i.e. `site-packages/roman.py`) to `docutils.utils` module. Therefore `import roman` statement should be wrapped in `try: ... except ImportError: ...` block to handle importing correctly.
Wed, 09 May 2012 02:46:58 +0300 context: fix call to util.safehasattr
Idan Kamara <idankk86@gmail.com> [Wed, 09 May 2012 02:46:58 +0300] rev 16610
context: fix call to util.safehasattr
Sat, 05 May 2012 12:21:22 +0200 alias: inherit command optionalrepo flag (issue3298) stable
Patrick Mezard <patrick@mezard.eu> [Sat, 05 May 2012 12:21:22 +0200] rev 16609
alias: inherit command optionalrepo flag (issue3298) Commands working without a repository, like "init", are listed in commands.norepo. Commands optionally using a repository, like "showconfig", are listed in commands.optionalrepo. Command aliases were inheriting the former but not the latter.
Mon, 07 May 2012 00:52:11 +0200 tests: improve test of hg-ssh and make the test pass on windows stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 May 2012 00:52:11 +0200] rev 16608
tests: improve test of hg-ssh and make the test pass on windows
Mon, 07 May 2012 00:52:08 +0200 hg-ssh: exit with 255 instead of -1 on error stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 May 2012 00:52:08 +0200] rev 16607
hg-ssh: exit with 255 instead of -1 on error Unix sh would cast -1 to 255 anyway, but on windows -1 become 0. Better be explicit with the 255 everywhere.
Mon, 07 May 2012 00:49:01 +0200 hg-ssh: use %s for printing paths in error messages stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 May 2012 00:49:01 +0200] rev 16606
hg-ssh: use %s for printing paths in error messages This avoids \\ if this ever is run on windows - for example in the test suite.
Mon, 07 May 2012 00:48:51 +0200 tests: accept \ in test-casefolding on windows stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 May 2012 00:48:51 +0200] rev 16605
tests: accept \ in test-casefolding on windows
Tue, 08 May 2012 11:20:07 +0200 parsers: statically initializing tp_new to PyType_GenericNew is not portable stable
Adrian Buehlmann <adrian@cadifra.com> [Tue, 08 May 2012 11:20:07 +0200] rev 16604
parsers: statically initializing tp_new to PyType_GenericNew is not portable As detailed on http://docs.python.org/extending/newtypes.html (quote): "In this case, we can just use the default implementation provided by the API function PyType_GenericNew(). We’d like to just assign this to the tp_new slot, but we can’t, for portability sake. On some platforms or compilers, we can’t statically initialize a structure member with a function defined in another C module, so, instead, we’ll assign the tp_new slot in the module initialization function just before calling PyType_Ready()." Fixes "gcc (GCC) 3.4.5 (mingw-vista special r3)" complaining with: mercurial/parsers.c:1096: error: initializer element is not constant mercurial/parsers.c:1096: error: (near initialization for `indexType.tp_new')
Tue, 08 May 2012 12:05:45 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 08 May 2012 12:05:45 -0500] rev 16603
merge with stable
Sun, 06 May 2012 14:37:51 -0500 context: add copies method with caching
Matt Mackall <mpm@selenic.com> [Sun, 06 May 2012 14:37:51 -0500] rev 16602
context: add copies method with caching
Sun, 06 May 2012 14:20:53 -0500 filectx: handle some other simple cases for finding merge ancestor
Matt Mackall <mpm@selenic.com> [Sun, 06 May 2012 14:20:53 -0500] rev 16601
filectx: handle some other simple cases for finding merge ancestor
Sun, 06 May 2012 14:15:17 -0500 graft: remark on empty graft
Matt Mackall <mpm@selenic.com> [Sun, 06 May 2012 14:15:17 -0500] rev 16600
graft: remark on empty graft
Fri, 04 May 2012 17:27:14 -0500 filectx: make ancestor require actx
Matt Mackall <mpm@selenic.com> [Fri, 04 May 2012 17:27:14 -0500] rev 16599
filectx: make ancestor require actx When grafting or rebasing, we need to know the target ancestor.
Mon, 07 May 2012 21:49:45 +0200 pure/base85: align exception type/msg on base85.c stable
Patrick Mezard <patrick@mezard.eu> [Mon, 07 May 2012 21:49:45 +0200] rev 16598
pure/base85: align exception type/msg on base85.c brendan mentioned on IRC that b64decode raises a TypeError too, but while the previous exception type may be better in general, it is much easier to make it behave like the related C code and changes nothing for mercurial itself.
Mon, 07 May 2012 15:40:50 -0500 parsers: fix refcount bug on corrupt index stable
Matt Mackall <mpm@selenic.com> [Mon, 07 May 2012 15:40:50 -0500] rev 16597
parsers: fix refcount bug on corrupt index When we encounter a corrupt index, we "fail" the init but our destructor still gets called. On some systems, this was causing us to attempt to decref a dangling to self->data.
Fri, 04 May 2012 14:19:55 +0200 subrepo: do not traceback on .hgsubstate parsing errors stable
Patrick Mezard <patrick@mezard.eu> [Fri, 04 May 2012 14:19:55 +0200] rev 16596
subrepo: do not traceback on .hgsubstate parsing errors Note that aborting in subrepo.state() prevents "repairing" commands like revert to be issued. The user will have to edit the .hgsubstate manually (but he probably had already otherwise this would not be failing). The same behaviour already happens with invalid .hgsub entries.
Fri, 04 May 2012 14:19:52 +0200 subrepo: ignore blank lines in .hgsubstate (issue3424) stable
Patrick Mezard <patrick@mezard.eu> [Fri, 04 May 2012 14:19:52 +0200] rev 16595
subrepo: ignore blank lines in .hgsubstate (issue3424) Reported by Sebastian Krysmanski <infomail@lordb.de>
Fri, 04 May 2012 14:36:40 -0400 largefiles: in putlfile, ensure tempfile's directory exists prior to creation stable
hlian [Fri, 04 May 2012 14:36:40 -0400] rev 16594
largefiles: in putlfile, ensure tempfile's directory exists prior to creation Let R be a repo served by an hg daemon on a machine with an empty largefiles cache. Pushing a largefiles repo to R will result in a no-such-file-or-directory OSError because putlfile will attempt to create a temporary file in R/.hg/largefiles, which does not yet exist. This patch also adds a regression test for this scenario.
Wed, 02 May 2012 17:15:11 -0700 bisect: save current state before running a command stable
Bryan O'Sullivan <bryano@fb.com> [Wed, 02 May 2012 17:15:11 -0700] rev 16593
bisect: save current state before running a command This prevents an external command being run during a bisect from querying stale data.
Mon, 07 May 2012 13:40:58 +0200 merge with stable
Martin Geisler <mg@aragost.com> [Mon, 07 May 2012 13:40:58 +0200] rev 16592
merge with stable
Sun, 06 May 2012 23:58:04 +0900 commands: parse ui.strict config item as bool stable
Yuya Nishihara <yuya@tcha.org> [Sun, 06 May 2012 23:58:04 +0900] rev 16591
commands: parse ui.strict config item as bool
Mon, 07 May 2012 10:02:50 +0200 check-code: catch unnecessary s.strip().split() calls
Martin Geisler <mg@aragost.com> [Mon, 07 May 2012 10:02:50 +0200] rev 16590
check-code: catch unnecessary s.strip().split() calls
(0) -10000 -3000 -1000 -300 -100 -48 +48 +100 +300 +1000 +3000 +10000 +30000 tip