Thu, 10 May 2012 14:17:05 -0400 revset: documentation typo "metatadata" stable
Jesse Glick <jesse.glick@oracle.com> [Thu, 10 May 2012 14:17:05 -0400] rev 16639
revset: documentation typo "metatadata"
Fri, 11 May 2012 15:32:22 +0200 largefiles: fix deletion of multiple missing largefiles (issue3329) stable
Na'Tosha Bard <natosha@unity3d.com> [Fri, 11 May 2012 15:32:22 +0200] rev 16638
largefiles: fix deletion of multiple missing largefiles (issue3329)
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
Fri, 04 May 2012 15:29:07 +0200 tags: line.rstrip().split() can be replaced with line.split()
Martin Geisler <mg@aragost.com> [Fri, 04 May 2012 15:29:07 +0200] rev 16589
tags: line.rstrip().split() can be replaced with line.split() The line looks like "123 <node> <node>" and does not start with whitespace: it was therefore not significant that rstrip was used instead of strip. Furthermore, the first part is fed to int, which will itself strip away whitespace before converting the string to an integer.
Fri, 04 May 2012 15:24:00 +0200 phases: line.strip().split() == line.split()
Martin Geisler <mg@aragost.com> [Fri, 04 May 2012 15:24:00 +0200] rev 16588
phases: line.strip().split() == line.split()
Sun, 06 May 2012 14:36:42 +0200 merge with stable
Martin Geisler <mg@lazybytes.net> [Sun, 06 May 2012 14:36:42 +0200] rev 16587
merge with stable
Sun, 06 May 2012 13:14:58 +0200 largefiles: fix "hg status dir" missing regular files (issue3421) stable
Patrick Mezard <patrick@mezard.eu> [Sun, 06 May 2012 13:14:58 +0200] rev 16586
largefiles: fix "hg status dir" missing regular files (issue3421) largefiles status implementation attemps to rewrite the input match objects to match the "standins" as well as the regular files. When fixing the directories listed in match.files(), if there was related standin entry, it was kept and the original path discarded. But directories can appear both as regular and standin entries.
Sun, 06 May 2012 10:36:32 +0200 help/config: remove outdated false claim about pywin32 stable
Adrian Buehlmann <adrian@cadifra.com> [Sun, 06 May 2012 10:36:32 +0200] rev 16585
help/config: remove outdated false claim about pywin32 Since version 1.8 (released on 2011-03-01), Mercurial doesn't use pywin32 any more. The old fallback mechanism to use C:\Mercurial\Mercurial.ini if pywin32 is not installed was removed in 244772f67ac1.
Fri, 04 May 2012 19:19:28 +0200 merge with stable
Martin Geisler <mg@lazybytes.net> [Fri, 04 May 2012 19:19:28 +0200] rev 16584
merge with stable
Fri, 04 May 2012 09:20:28 -0500 revert: don't re-create changeset context
Kevin Bullock <kbullock@ringworld.org> [Fri, 04 May 2012 09:20:28 -0500] rev 16583
revert: don't re-create changeset context
Fri, 04 May 2012 09:14:55 -0700 factotum: add man reference to help output stable
Steven Stallion <sstallion@gmail.com> [Fri, 04 May 2012 09:14:55 -0700] rev 16582
factotum: add man reference to help output
Fri, 04 May 2012 14:40:11 +0200 test-largefiles: better formatting of comments
Martin Geisler <mg@aragost.com> [Fri, 04 May 2012 14:40:11 +0200] rev 16581
test-largefiles: better formatting of comments
Fri, 04 May 2012 14:39:37 +0200 test-largefiles: sort output to ensure test stability
Martin Geisler <mg@aragost.com> [Fri, 04 May 2012 14:39:37 +0200] rev 16580
test-largefiles: sort output to ensure test stability
Fri, 04 May 2012 12:21:56 +0200 merge with stable
Martin Geisler <mg@aragost.com> [Fri, 04 May 2012 12:21:56 +0200] rev 16579
merge with stable
Thu, 03 May 2012 21:32:57 -0400 largefiles: make archive -S store largefiles instead of standins
Matt Harbison <matt_harbison@yahoo.com> [Thu, 03 May 2012 21:32:57 -0400] rev 16578
largefiles: make archive -S store largefiles instead of standins This is essentially a copy of largefile's override of archive() in the archival class, adapted for overriding hgsubrepo's archive(). That means decoding isn't taken into consideration, nor is .hg_archival.txt generated (the same goes for regular subrepos). Unlike subrepos, but consistent with largefile's handling of the top repo, ui.progress() is *not* called. This should probably be refactored at some point, but at least this generates the archives properly for now. Previously, the standins were ignored and the largefiles were archived only for the top level repo. Long term, it would probably be most desirable to figure out how to tweak archival's archive() if necessary such that largefiles doesn't need to override it completely just to special case the translating of standins to the real files. Largefiles will already return a context with the true largefiles instead of the standins if lfilesrepo's lfstatus is True- perhaps this can be leveraged?
Fri, 04 May 2012 12:04:07 +0200 paper, monoblue: link correctly to lines in annotate view stable
Martin Geisler <mg@aragost.com> [Fri, 04 May 2012 12:04:07 +0200] rev 16577
paper, monoblue: link correctly to lines in annotate view The links were to "foo#123" instead of "foo#l123". The gitweb and spartan templates were already producing the correct links.
Thu, 03 May 2012 16:12:52 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 03 May 2012 16:12:52 -0500] rev 16576
merge with stable
(0) -10000 -3000 -1000 -300 -100 -64 +64 +100 +300 +1000 +3000 +10000 +30000 tip