Fri, 07 Feb 2014 02:59:46 +0100 import-checker: handle standard modules with arch in the filename
Mads Kiilerich <madski@unity3d.com> [Fri, 07 Feb 2014 02:59:46 +0100] rev 20391
import-checker: handle standard modules with arch in the filename Installations with module names like /usr/lib/python2.7/lib-dynload/bz2.x86_64-linux-gnu.so occurs in the wild. Let's just ignore everything after first '.' when guessing the Python module name.
Mon, 03 Feb 2014 20:08:58 +0100 tests: use ls instead of find, all files are in the same directory
Simon Heimberg <simohe@besonet.ch> [Mon, 03 Feb 2014 20:08:58 +0100] rev 20390
tests: use ls instead of find, all files are in the same directory In this case find has no advantage compared to ls. Descending into directories is unnecessary, because there are none.
Mon, 27 Jan 2014 11:17:07 +0100 commands: hg debuginstall checks missing templates (issue4151)
Simon Heimberg <simohe@besonet.ch> [Mon, 27 Jan 2014 11:17:07 +0100] rev 20389
commands: hg debuginstall checks missing templates (issue4151) Missing templates where not reported as a problem, only an empty bracket were shown as indication of no found template directory: $ hg debuginstall *...some lines* checking templates ()... *...some lines* no problems detected Now the problem is reported and extended with some information. The style of the messages is adapted to the other messages of debuginstall. When no templates directories exist, it writes: $ hg debuginstall *...some lines* checking templates ()... no template directories found (templates seem to have been installed incorrectly) *...some lines* 1 problems detected, please check your install! When the template map is not found, it writes: $ hg debuginstall *...some lines* checking templates (/path/to/mercurial/templates)... template 'default' not found (templates seem to have been installed incorrectly) *...some lines* 1 problems detected, please check your install! When the template map is buggy the message is the same as before. The error message is shown before the line "(templates seem ...)". No test is added because testing this failure is complicated. It would require to modify the templates directory of the mercurial installation, or to monkey patch a function (os.listdir or any from mercurial.templater) by a test extension.
Sun, 10 Feb 2013 00:11:45 +0100 contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com> [Sun, 10 Feb 2013 00:11:45 +0100] rev 20388
contrib/Makefile.python: build local Python from source This provides an easy way to install new or old Python versions on Unixish systems. It is mainly intended for testing Mercurial with different Python versions. Example: $ cd build $ make -f ../contrib/Makefile.python python PYTHONVER=2.4 PREFIX=/tmp/p24 $ /tmp/p24/bin/python -V Python 2.4 Tested on Fedora, Debian and Ubuntu with Python versions from 2.4 to 2.7.6. Most Python versions need some workarounds to compile on Debian-ish systems. The workarounds do not do any significant harm on Fedora.
Wed, 05 Feb 2014 01:45:59 +0100 tests: use small conditional section for tic requirement in test-status-color.t
Mads Kiilerich <madski@unity3d.com> [Wed, 05 Feb 2014 01:45:59 +0100] rev 20387
tests: use small conditional section for tic requirement in test-status-color.t Better test coverage when curses not is available.
Wed, 05 Feb 2014 01:43:51 +0100 import-checker: show stdlib and relative imports separately
Mads Kiilerich <madski@unity3d.com> [Wed, 05 Feb 2014 01:43:51 +0100] rev 20386
import-checker: show stdlib and relative imports separately Make the output more useful for debugging problems.
Wed, 05 Feb 2014 01:41:36 +0100 tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com> [Wed, 05 Feb 2014 01:41:36 +0100] rev 20385
tests: improved test coverage for HTTP authentication and 401 responses Dump the access log to verify that the client gets the 401s it deserves and handles them correctly. This establishes a baseline for Basic authentication protocol.
Wed, 05 Feb 2014 01:37:37 +0100 tests: ignore http tests that are known wontfix failures on python 2.4
Mads Kiilerich <madski@unity3d.com> [Wed, 05 Feb 2014 01:37:37 +0100] rev 20384
tests: ignore http tests that are known wontfix failures on python 2.4 As mentioned on http://bz.selenic.com/show_bug.cgi?id=2739#c17 , b3083042bdda left test-http.t failing on Python < 2.4.3. That has not been noticed because most 2.4 testing has been done with a patched 2.4.2. This makes sure that the tests only are run for Python >= 2.4.3. That makes it possible to verify that everything else works with Python 2.4.
Wed, 05 Feb 2014 01:30:33 +0100 import-checker: fix names of dynamically loaded modules
Mads Kiilerich <madski@unity3d.com> [Wed, 05 Feb 2014 01:30:33 +0100] rev 20383
import-checker: fix names of dynamically loaded modules The import checker found standard library modules such as lib-dynload/zlibmodule.so but saw that as a 'zlibmodule' module, not as the 'zlib' module. Debian ships Python with most modules built-in and this incorrect handling of dynamic modules did thus not cause problems on that platform. Fedora ships Python with as many modules as possible loaded dynamically. That made the import checker tests fail with incorrect classification of the following modules: array fcntl grp itertools time zlib. This change makes test-module-imports.t pass on Fedora.
Tue, 28 Jan 2014 02:23:48 +0100 tests: for consistent output flush between writing sterr and stdout
Simon Heimberg <simohe@besonet.ch> [Tue, 28 Jan 2014 02:23:48 +0100] rev 20382
tests: for consistent output flush between writing sterr and stdout Because stdout and stderr are buffered, the order of the output is other way around on some systems.
Thu, 06 Feb 2014 02:17:48 +0100 discovery: cleanup of variable names and comments
Mads Kiilerich <madski@unity3d.com> [Thu, 06 Feb 2014 02:17:48 +0100] rev 20381
discovery: cleanup of variable names and comments
Thu, 06 Feb 2014 01:55:09 +0100 localrepo: give a sigh of relief when getting lock after waiting for it
Mads Kiilerich <madski@unity3d.com> [Thu, 06 Feb 2014 01:55:09 +0100] rev 20380
localrepo: give a sigh of relief when getting lock after waiting for it A message like this was sometimes shown when pushing: remote: waiting for lock on repository foo held by 'mercurial:20858' That could scare users, making them wonder whether the push actually succeeded. To mitigate that fear, issue an additional "warning" such as: got lock after 2 seconds The return value from lock.lock.lock() was unused - instead we return the delay. This also adds the first test coverage for waiting for locks.
Wed, 22 Jan 2014 15:43:21 -0600 convert: add tagmap option
Sean Farley <sean.michael.farley@gmail.com> [Wed, 22 Jan 2014 15:43:21 -0600] rev 20379
convert: add tagmap option Tests have been updated.
Wed, 22 Jan 2014 15:40:17 -0600 convert: add tagmap logic
Sean Farley <sean.michael.farley@gmail.com> [Wed, 22 Jan 2014 15:40:17 -0600] rev 20378
convert: add tagmap logic Previously, there was no way to rewrite tags on the fly while converting. Now, we add similar logic to branchmap to provide a way to map old tags to new tags. Currently, this is not enabled since there is not yet a command-line option.
Wed, 22 Jan 2014 15:31:24 -0600 convert: avoid updating tags when there is nothing new
Sean Farley <sean.michael.farley@gmail.com> [Wed, 22 Jan 2014 15:31:24 -0600] rev 20377
convert: avoid updating tags when there is nothing new Previously, when converting from a mercurial repo there would be an extraneous commit at the end of the convert process that would rewrite tags. Now, we check if there are any new tags before doing this rewriting.
Wed, 22 Jan 2014 17:38:05 -0600 convert: compare tags from all heads instead of just one
Sean Farley <sean.michael.farley@gmail.com> [Wed, 22 Jan 2014 17:38:05 -0600] rev 20376
convert: compare tags from all heads instead of just one Previously, the hg sink for puttags would just use one head for getting the old tags which would sometimes lead to tags disappearing. Now, we iterate over all heads and merge the results.
Tue, 21 Jan 2014 11:35:17 -0600 convert: add closemap option
Sean Farley <sean.michael.farley@gmail.com> [Tue, 21 Jan 2014 11:35:17 -0600] rev 20375
convert: add closemap option Tests have been updated.
Tue, 21 Jan 2014 11:20:14 -0600 convert: add parseclosemap method
Sean Farley <sean.michael.farley@gmail.com> [Tue, 21 Jan 2014 11:20:14 -0600] rev 20374
convert: add parseclosemap method This is a copy of the parsesplicemap method and will serve as a way to specify which changesets to close while converting.
Tue, 21 Jan 2014 11:34:55 -0600 convert: add mapname parameter to checkrevformat
Sean Farley <sean.michael.farley@gmail.com> [Tue, 21 Jan 2014 11:34:55 -0600] rev 20373
convert: add mapname parameter to checkrevformat Upcoming patches will add new map files so we change the calling sequence of checkrevformat so that error messages will let the user know which file has the wrong rev format.
Thu, 18 Apr 2013 10:05:50 -0500 convert: replace old sha1s in the description
Sean Farley <sean.michael.farley@gmail.com> [Thu, 18 Apr 2013 10:05:50 -0500] rev 20372
convert: replace old sha1s in the description This is a simple find-and-replace strategy for matching anything in the old description of a converted commit and, if that matched sha1 exists in the mapping, replacing it with the new sha1. In particular, this is helpful for descriptions that contain tags with messages such as, "Added tag 1.0 for commit abcde1234567" which will now be automatically converted. Tests have been updated accordingly.
Wed, 05 Feb 2014 20:22:28 -0800 template: fix shortest(node) function in pure mercurial
Durham Goode <durham@fb.com> [Wed, 05 Feb 2014 20:22:28 -0800] rev 20371
template: fix shortest(node) function in pure mercurial Pure mercurial (i.e. without c extensions) does not support partialmatch() on the revlog index, so we must fall back to use revlog._partialmatch() to handle that case for us. The tests caught this. We don't use revlog._partialmatch() for the normal case because it performs a very expensive index iteration when the string being tested fails to find a unique result via index.partialmatch(). It does this in order to filter out hidden revs in hopes of the string being unique amongst non-hidden revs. For the shortest(node) case, we'd prefer performance over worrying about hidden revs.
Fri, 17 Jan 2014 00:16:48 -0800 template: add pad function for padding output
Durham Goode <durham@fb.com> [Fri, 17 Jan 2014 00:16:48 -0800] rev 20370
template: add pad function for padding output Adds a pad template function with the following signature: pad(text, width, fillchar=' ', right=False) This uses the standard python ljust and rjust functions to produce a string that is at least a certain width. This is useful for aligning variable length strings in log output (like user names or shortest(node) output).
Fri, 17 Jan 2014 00:10:37 -0800 template: add shortest(node) template function
Durham Goode <durham@fb.com> [Fri, 17 Jan 2014 00:10:37 -0800] rev 20369
template: add shortest(node) template function Adds a '{shortest(node)}' template function that results in the shortest hex node that uniquely identifies the changeset at that time. The minimum length can be specified as an optional second argument and defaults to 4. This is useful for producing prettier log output, like so: @ durham shortestnode | 77cf template: add pad function for padding output | o durham | b183 template: add shortestnode keyword | o pierre-yves @ | 6545 backout: add a message after backout that need manual commit | | o durham manifestcache |/ 93f0 manifest cache | | o durham catperf | | c765 cat: increase perf when catting single files | | | o durham |/ 9c53 changectx: increase perf of walk function |
Wed, 05 Feb 2014 18:09:07 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 05 Feb 2014 18:09:07 -0600] rev 20368
merge with stable
Fri, 24 Jan 2014 16:57:44 -0800 revset: added intersection to baseset class
Lucas Moscovicz <lmoscovicz@fb.com> [Fri, 24 Jan 2014 16:57:44 -0800] rev 20367
revset: added intersection to baseset class Added the method __and__ to the baseset class to be able to intersect with other objects in a more efficient way.
Thu, 23 Jan 2014 14:20:58 -0800 revset: added substraction to baseset class
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 23 Jan 2014 14:20:58 -0800] rev 20366
revset: added substraction to baseset class Added __sub__ method to the baseset class to be able to compare it with other subsets more efficiently.
Wed, 22 Jan 2014 10:46:02 -0800 revset: implemented set caching for revset evaluation
Lucas Moscovicz <lmoscovicz@fb.com> [Wed, 22 Jan 2014 10:46:02 -0800] rev 20365
revset: implemented set caching for revset evaluation Added set caching to the baseset class. It lazily builds the set whenever it's needed and keeps a reference which is returned when the set is requested instead of being built again.
Tue, 21 Jan 2014 11:39:26 -0800 revset: added baseset class (still empty) to improve revset performance
Lucas Moscovicz <lmoscovicz@fb.com> [Tue, 21 Jan 2014 11:39:26 -0800] rev 20364
revset: added baseset class (still empty) to improve revset performance This class is going to be used to cache the set that is created from this list in many cases while evaluating a revset.
Mon, 03 Feb 2014 21:34:13 +0100 i18n: leave out entries which contain only rst syntax
Simon Heimberg <simohe@besonet.ch> [Mon, 03 Feb 2014 21:34:13 +0100] rev 20363
i18n: leave out entries which contain only rst syntax This prevents the danger of translating entries like the following ones: .. container:: verbose .. input:: filename1.txt
Mon, 03 Feb 2014 21:33:48 +0100 i18n: leave out entries which contain only a rst directive
Simon Heimberg <simohe@besonet.ch> [Mon, 03 Feb 2014 21:33:48 +0100] rev 20362
i18n: leave out entries which contain only a rst directive This prevents the danger of translating entries like ".. note::"
Sun, 17 Nov 2013 20:24:33 +0100 i18n: posplit removes the entry "::" from the pot file
Simon Heimberg <simohe@besonet.ch> [Sun, 17 Nov 2013 20:24:33 +0100] rev 20361
i18n: posplit removes the entry "::" from the pot file We do not gain anything by allowing to translate it.
Wed, 29 Jan 2014 16:47:00 +0100 i18n-de: update po file for showing the effect of changed posplit
Simon Heimberg <simohe@besonet.ch> [Wed, 29 Jan 2014 16:47:00 +0100] rev 20360
i18n-de: update po file for showing the effect of changed posplit
Mon, 03 Feb 2014 21:31:35 +0100 i18n: posplit writes a warning for translators before rst directives
Simon Heimberg <simohe@besonet.ch> [Mon, 03 Feb 2014 21:31:35 +0100] rev 20359
i18n: posplit writes a warning for translators before rst directives rst directives like this one have been translated: .. note:: To help the translator include a comment before such messages. An entry containing a rst directive now looks like this: #. do not translate: .. note:: #: path/to/file:75 msgid = ".. note:: to think about" msgstr = ...
Sun, 17 Nov 2013 20:16:14 +0100 Makefile: hg.pot depends on the scripts generating it
Simon Heimberg <simohe@besonet.ch> [Sun, 17 Nov 2013 20:16:14 +0100] rev 20358
Makefile: hg.pot depends on the scripts generating it This is convenient when editing this scripts. And translators will get updated translation files even if nothing else has changed.
Wed, 05 Feb 2014 17:23:35 -0600 hgweb: hack around mimetypes encoding thinko (issue4160) stable
Matt Mackall <mpm@selenic.com> [Wed, 05 Feb 2014 17:23:35 -0600] rev 20357
hgweb: hack around mimetypes encoding thinko (issue4160) A correct patch for this has existed in Python's BTS for 3 years (http://bugs.python.org/issue9291), so waiting for it to be fixed upstream is probably not a viable strategy. Instead, we add this horrible hack to workaround the issue in existing copies of Python 2.4-2.7.
Mon, 03 Feb 2014 18:09:08 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 03 Feb 2014 18:09:08 -0600] rev 20356
merge with stable
Mon, 03 Feb 2014 14:36:20 -0800 hg: note that islocal only accepts paths pointing to repos stable
Siddharth Agarwal <sid0@fb.com> [Mon, 03 Feb 2014 14:36:20 -0800] rev 20355
hg: note that islocal only accepts paths pointing to repos hg.islocal doesn't work for paths pointing to non-repos, such as patch files.
Mon, 03 Feb 2014 14:53:44 -0800 hg.openpath: use url.islocal to tell if the path is local (issue3624) stable
Siddharth Agarwal <sid0@fb.com> [Mon, 03 Feb 2014 14:53:44 -0800] rev 20354
hg.openpath: use url.islocal to tell if the path is local (issue3624) Previously we used hg.islocal, which doesn't work for paths pointing to non-repos, such as patch files.
Mon, 03 Feb 2014 14:47:41 -0800 util.url: add an 'islocal' method stable
Siddharth Agarwal <sid0@fb.com> [Mon, 03 Feb 2014 14:47:41 -0800] rev 20353
util.url: add an 'islocal' method This returns True if the URL represents a path that can be opened locally, without needing to go through the entire URL open mechanism.
Thu, 30 Jan 2014 17:46:51 -0800 push: move bookmarks exchange in the exchange module
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 17:46:51 -0800] rev 20352
push: move bookmarks exchange in the exchange module The bookmark exchange code was already extracted during a previous cycle. This changesets moves the extracted function in this module. This function will read and write data in the `pushoperation` object and It is preferable to have all core function collaborating through this object in the same place. This changeset is pure code movement only. Code change for direct consumption of the `pushoperation` object will come later.
Thu, 30 Jan 2014 17:08:29 -0800 push: move `newbranch` argument into the push object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 17:08:29 -0800] rev 20351
push: move `newbranch` argument into the push object One more step toward a more modular push function.
Thu, 30 Jan 2014 17:04:23 -0800 push: move `revs` argument into the push object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 17:04:23 -0800] rev 20350
push: move `revs` argument into the push object One more step toward a more modular push function.
Thu, 30 Jan 2014 16:59:25 -0800 push: move `force` argument into the push object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 16:59:25 -0800] rev 20349
push: move `force` argument into the push object One more step toward a more modular push function.
Thu, 30 Jan 2014 16:57:01 -0800 push: move `remote` argument in the push object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 16:57:01 -0800] rev 20348
push: move `remote` argument in the push object One more step toward a more modular push function.
Thu, 30 Jan 2014 16:46:30 -0800 push: ease access to current ui object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 16:46:30 -0800] rev 20347
push: ease access to current ui object The `pushoperation.repo.ui` attribute is very commonly used. we offer a faster way to access it directly through the push operation object.
Thu, 30 Jan 2014 16:43:11 -0800 push: introduce a pushoperation object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 16:43:11 -0800] rev 20346
push: introduce a pushoperation object This object will hold all data and state gathered through the push. This will allow us to split the long function into multiple small one. Smaller function will be easier to maintains and wrap. The idea is to blindly store all information related to the push in this object so that each step and extension can use them if necessary. We start by putting the `repo` variable in the object. More migration in other changeset.
Thu, 30 Jan 2014 15:34:01 -0800 exchange: extract push function from localrepo
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 15:34:01 -0800] rev 20345
exchange: extract push function from localrepo The localrepo class if far too big. Push and pull logic will be extracted and reworked to better fit with the fact they now exchange more than plain changeset bundle. This changeset extract the push code. later changeset will slowly slice this over 200 hundred lines and 8 indentation level function into smaller saner brick. The localrepo.push method is kept for now to limit impact on user code. But it will be ultimately removed, now that the public supposed API is hold by peer.
Mon, 03 Feb 2014 16:33:21 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 03 Feb 2014 16:33:21 -0600] rev 20344
merge with stable
Sat, 01 Feb 2014 15:20:49 -0600 Added signature for changeset 3cec5134e9c4 stable
Matt Mackall <mpm@selenic.com> [Sat, 01 Feb 2014 15:20:49 -0600] rev 20343
Added signature for changeset 3cec5134e9c4
Sat, 01 Feb 2014 15:20:35 -0600 Added tag 2.9 for changeset 3cec5134e9c4 stable
Matt Mackall <mpm@selenic.com> [Sat, 01 Feb 2014 15:20:35 -0600] rev 20342
Added tag 2.9 for changeset 3cec5134e9c4
Sat, 01 Feb 2014 14:53:52 -0600 merge with i18n stable 2.9
Matt Mackall <mpm@selenic.com> [Sat, 01 Feb 2014 14:53:52 -0600] rev 20341
merge with i18n
Fri, 31 Jan 2014 15:25:31 -0200 i18n-pt_BR: synchronized with a29f3a15bd8b stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 31 Jan 2014 15:25:31 -0200] rev 20340
i18n-pt_BR: synchronized with a29f3a15bd8b
Fri, 31 Jan 2014 16:27:26 +0900 i18n-ja: change translation to fix test-gendoc.t failure with old docutils stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 31 Jan 2014 16:27:26 +0900] rev 20339
i18n-ja: change translation to fix test-gendoc.t failure with old docutils Before this patch, "ja.po" translation causes test-gendoc.t failure with old docutils: It fails with docutils 0.7, but not with 0.11.
Thu, 30 Jan 2014 23:34:18 +0100 i18n-de: update many fuzzy entries and translate some simple ones stable
Simon Heimberg <simohe@besonet.ch> [Thu, 30 Jan 2014 23:34:18 +0100] rev 20338
i18n-de: update many fuzzy entries and translate some simple ones I mainly did the simple cases, like removing ".. note::", changing single quotes to double quotes and adapting underlining. Unhelpful msgstr in fuzzy entries are removed. (They were suggestions by the program msgmerge.)
Wed, 22 Jan 2014 16:32:53 +0100 i18n-de: updated po file with 427d672c0e4e stable
Simon Heimberg <simohe@besonet.ch> [Wed, 22 Jan 2014 16:32:53 +0100] rev 20337
i18n-de: updated po file with 427d672c0e4e Do this in a separate patch for easier reviewing of the translation patch.
Wed, 22 Jan 2014 16:32:52 +0100 i18n-de: remove locations stable
Simon Heimberg <simohe@besonet.ch> [Wed, 22 Jan 2014 16:32:52 +0100] rev 20336
i18n-de: remove locations Strip the locations by running msgcat [1] as the wiki [2] tells to do. Do this in a separate patch for getting a smaller one when updating from hg.pot. [1] msgcat --no-location -o de.po de.po [2] mercurial.selenic.com/wiki/TranslatingMercurial#Updating_a_Translation
Fri, 31 Jan 2014 15:13:15 -0800 rebase: do not crash in panic when cwd disapear in the process (issue4121) stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 31 Jan 2014 15:13:15 -0800] rev 20335
rebase: do not crash in panic when cwd disapear in the process (issue4121) Before this patch rebase crashed badly when it happend. (not abort, crash). Fix courtesy of Matt Mackall.
Fri, 31 Jan 2014 14:52:53 -0800 record: use absolute path instead of os.chdir stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 31 Jan 2014 14:52:53 -0800] rev 20334
record: use absolute path instead of os.chdir Record was changing the current directory to `repo.root` in order to be able to feed `command.commit` file name relative to this `repo.root`. This is a bit overkill and prevent an incoming fix to rebase. This would also break multi-threaded usage. Instead we just feed `command.commit` with absolute path name. works as well as before but without chdir.
Wed, 29 Jan 2014 15:16:36 +0100 help: improve description of phases.checksubrepos setting stable
Angel Ezquerra <angel.ezquerra@gmail.com> [Wed, 29 Jan 2014 15:16:36 +0100] rev 20333
help: improve description of phases.checksubrepos setting The existing description was a bit hard to understand.
Thu, 30 Jan 2014 11:52:38 -0800 clone: do not turn hidden changeset public on publishing clone (issue3935) stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 11:52:38 -0800] rev 20332
clone: do not turn hidden changeset public on publishing clone (issue3935) Before this changeset local clone of a repo with hidden changeset would include then in the clone (why not) and turn them public (plain wrong). This happened because the copy clone publish by dropping the phaseroot file entirely making everything in the repo public (and therefore immune to obsolescence marker). This changeset takes the simplest fix, we deny the copy clone in the case of hidden changeset falling back to pull clone that will exclude them from the clone and therefore not turning them public. A smarter version of copy clone could be done, but I prefer to go for the simplest solution first.
Tue, 28 Jan 2014 14:00:23 +1100 convert: use branchmap to change default branch in destination (issue3469) stable
lstewart [Tue, 28 Jan 2014 14:00:23 +1100] rev 20331
convert: use branchmap to change default branch in destination (issue3469) The fix for issue2653 broke the ability to map the default branch of a source repository to a non-default named branch in the destination repository. Leave the default behaviour as is, but allow the branch name "None" to be used to map to a non-default named branch in the destination repository.
Mon, 27 Jan 2014 10:57:20 +0100 dispatch: take --hidden from individual commands into account stable
Julien Cristau <julien.cristau@logilab.fr> [Mon, 27 Jan 2014 10:57:20 +0100] rev 20330
dispatch: take --hidden from individual commands into account The command server would otherwise ignore that option, since the repo object is only created once.
Thu, 30 Jan 2014 15:03:36 +0900 doc: fix mistake about matching against directories in "pattern.txt" stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 30 Jan 2014 15:03:36 +0900] rev 20329
doc: fix mistake about matching against directories in "pattern.txt" This fixes mistake of documentation about matching against directories in "pattern.txt" introduced by 50db996bccaf. ".hgignore" treats specified "glob:" pattern as same as one specified for "-X" option: it can match against directories, too. For reference, extra regexp string appended to specified pattern for each types are listed below: see also "match.match()" and "match._regex()" for detail. ============= ========== =============== type cmdline -I/-X ============= ========== =============== glob/relglob '$' '(?:/|$)' path/relpath '(?:/|$)' '(?:/|$)' re/relre (none) (none) ============= ========== =============== Appending '$' means that the specified pattern should match against only files.
Wed, 29 Jan 2014 23:47:54 +0900 dispatch: make "_checkshellalias()" invoke "findcmd()" with "strict=True" stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 29 Jan 2014 23:47:54 +0900] rev 20328
dispatch: make "_checkshellalias()" invoke "findcmd()" with "strict=True" Before this patch, shell alias may be executed by abbreviated command name unexpectedly, even if abbreviated command name matches also against the command provided by extension. For example, "rebate" shell alias is executed by "hg reba", even if rebase extension (= "rebase" command) is enabled. In this case, "hg reba" should be aborted because of command name ambiguity. This patch makes "_checkshellalias()" invoke "cmdutil.findcmd()" always with "strict=True" (default value). If abbreviated command name matches against only one shell alias even after loading extensions, such shell alias will be executed via "_parse()". This patch doesn't remove "_checkshellalias()" invocation itself, because it may prevent shell alias from loading extensions uselessly.
Thu, 30 Jan 2014 13:56:56 -0600 rebase: abort cleanly when we encounter a damaged rebasestate (issue4155) stable
Matt Mackall <mpm@selenic.com> [Thu, 30 Jan 2014 13:56:56 -0600] rev 20327
rebase: abort cleanly when we encounter a damaged rebasestate (issue4155)
Thu, 30 Jan 2014 17:09:13 +0900 i18n-ja: change phrasing for "or" stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 30 Jan 2014 17:09:13 +0900] rev 20326
i18n-ja: change phrasing for "or"
Wed, 29 Jan 2014 22:14:41 +0900 i18n-ja: fix some quoting problems for space character usage stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 29 Jan 2014 22:14:41 +0900] rev 20325
i18n-ja: fix some quoting problems for space character usage
Wed, 29 Jan 2014 21:38:10 +0900 i18n-ja: synchronized with f493c2f67430 stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 29 Jan 2014 21:38:10 +0900] rev 20324
i18n-ja: synchronized with f493c2f67430
Wed, 22 Jan 2014 16:47:05 +0100 i18n: fix non-matching 1st line indentations stable
Simon Heimberg <simohe@besonet.ch> [Wed, 22 Jan 2014 16:47:05 +0100] rev 20323
i18n: fix non-matching 1st line indentations When generating documentation, indentation must match for getting the same view for translated messages. Often an output is generated anyway, but it can look different. When a syntactically wrong indentation change is done, runrst will fail (this is detected by test-gendoc.t). Fix the simple places. When translation knowledge is necessary, the entry is marked as fuzzy (and therefore skipped when generating translations). A translator can fix it later.
Wed, 22 Jan 2014 16:35:10 +0100 i18n: fix some non matching quotation marks in translations stable
Simon Heimberg <simohe@besonet.ch> [Wed, 22 Jan 2014 16:35:10 +0100] rev 20322
i18n: fix some non matching quotation marks in translations A test for this is in preparation.
Wed, 22 Jan 2014 16:34:36 +0100 i18n: do not translate rst syntax .. note:: stable
Simon Heimberg <simohe@besonet.ch> [Wed, 22 Jan 2014 16:34:36 +0100] rev 20321
i18n: do not translate rst syntax .. note:: .. note:: is rst syntax which must not be translated. Fix this in the translations. This is not the first time this happens, so there should be a note for the translator. A later patch will change the generation of the po files to write this automatically. A test in i18n/check-translation.py could help as well.
Mon, 27 Jan 2014 16:34:00 -0200 i18n-pt_BR: synchronized with 268a5ab5c27b stable
Leonardo Bueno Postacchini <notivago@gmail.com> [Mon, 27 Jan 2014 16:34:00 -0200] rev 20320
i18n-pt_BR: synchronized with 268a5ab5c27b
Sun, 24 Nov 2013 02:17:17 +0100 subrepo: make it possible to update to hidden subrepo revisions stable
Angel Ezquerra <angel.ezquerra@gmail.com> [Sun, 24 Nov 2013 02:17:17 +0100] rev 20319
subrepo: make it possible to update to hidden subrepo revisions When a subrepo revision was hidden it was considered missing and mercurial was unable to update to the corresponding parent revision. Instead warn the user of the problem and let it choose what to do (the default is to udpate anyway).
Sun, 24 Nov 2013 02:13:00 +0100 subrepo: remove unnecessary else clause in hgsubrepo._get stable
Angel Ezquerra <angel.ezquerra@gmail.com> [Sun, 24 Nov 2013 02:13:00 +0100] rev 20318
subrepo: remove unnecessary else clause in hgsubrepo._get This revision has no behaviour change. It simply removes an unnecessary else that follows an if / return block. The change looks big because a big chunk of code has been unindented one level.
Sun, 24 Nov 2013 02:10:14 +0100 subrepo: do not try to get hidden revisions stable
Angel Ezquerra <angel.ezquerra@gmail.com> [Sun, 24 Nov 2013 02:10:14 +0100] rev 20317
subrepo: do not try to get hidden revisions If a subrepo revision is hidden (because it was amended, for example) it does not make sense to try to "get" it from the remote subrepository. Note that in order to avoid making the change look bigger than it is, this adds an unnecessary else clause. This will be removed on a follow up patch.
Thu, 23 Jan 2014 19:08:26 +0100 parsers: fix 'unsigned expression is always true' warning (issue4142) stable
David Soria Parra <davidsp@fb.com> [Thu, 23 Jan 2014 19:08:26 +0100] rev 20316
parsers: fix 'unsigned expression is always true' warning (issue4142) On Mac OS gcc-llvm throws an -Wtautological-compare warning because flen is defined as an unsigned integer, therefore flen < 0 is always true.
Thu, 23 Jan 2014 14:06:15 -0600 wix: pull in new templates stable
Steve Borho <steve@borho.org> [Thu, 23 Jan 2014 14:06:15 -0600] rev 20315
wix: pull in new templates
Mon, 28 Jan 2013 15:16:49 +0100 phase: properly compute ancestors of --rev on push (issue3786) stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 28 Jan 2013 15:16:49 +0100] rev 20314
phase: properly compute ancestors of --rev on push (issue3786) Now that discovery is working on unfiltered changeset, I had a good occasion to look at that bug again. This let me realise that a trivial node vs rev comparision was the cause of this two years old bugsā€¦ Happy second birthday phases!
Thu, 23 Jan 2014 01:21:08 +0100 hgext: fix one typo in rebase stable
Simon Heimberg <simohe@besonet.ch> [Thu, 23 Jan 2014 01:21:08 +0100] rev 20313
hgext: fix one typo in rebase
Thu, 23 Jan 2014 01:29:50 +0100 templater: selecting a style with no templates does not crash (issue4140) stable
Simon Heimberg <simohe@besonet.ch> [Thu, 23 Jan 2014 01:29:50 +0100] rev 20312
templater: selecting a style with no templates does not crash (issue4140) Running `hg log --style compact` (or any other style) raised a traceback when no template directory was there. Now there is a message: Abort: style 'compact' not found (available styles: no templates found, try `hg debuginstall` for more info) There is no test because this would require to rename the template directory. But this would influence other tests running in parallel. And when the test would be aborted the wrong named directory would remain, especially a problem when running with -l.
Thu, 23 Jan 2014 14:31:05 -0600 makefile: add $ to environment variables in help message stable
Matt Mackall <mpm@selenic.com> [Thu, 23 Jan 2014 14:31:05 -0600] rev 20311
makefile: add $ to environment variables in help message
Tue, 21 Jan 2014 14:44:40 -0600 Added signature for changeset 8862469e16f9 stable
Matt Mackall <mpm@selenic.com> [Tue, 21 Jan 2014 14:44:40 -0600] rev 20310
Added signature for changeset 8862469e16f9
Tue, 21 Jan 2014 14:44:29 -0600 Added tag 2.9-rc for changeset 8862469e16f9 stable
Matt Mackall <mpm@selenic.com> [Tue, 21 Jan 2014 14:44:29 -0600] rev 20309
Added tag 2.9-rc for changeset 8862469e16f9
Tue, 21 Jan 2014 14:44:01 -0600 merge with i18n stable 2.9-rc
Matt Mackall <mpm@selenic.com> [Tue, 21 Jan 2014 14:44:01 -0600] rev 20308
merge with i18n
Mon, 20 Jan 2014 11:16:26 -0200 i18n: fix trailing '::' on translated messages stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 20 Jan 2014 11:16:26 -0200] rev 20307
i18n: fix trailing '::' on translated messages Reported by FUJIWARA Katsunori <foozy@lares.dti.ne.jp>.
Tue, 21 Jan 2014 14:30:06 -0600 merge default into stable for 2.9 code freeze stable
Matt Mackall <mpm@selenic.com> [Tue, 21 Jan 2014 14:30:06 -0600] rev 20306
merge default into stable for 2.9 code freeze
Mon, 20 Jan 2014 01:29:54 +0100 tests: stop tracking tests/gpg/random_seed
Mads Kiilerich <madski@unity3d.com> [Mon, 20 Jan 2014 01:29:54 +0100] rev 20305
tests: stop tracking tests/gpg/random_seed test-gpg.t left the random_seed file as modified. That was slightly confusing ... and it was accidentally changed in ea4996754d91. The seed is created on demand and there is no reason to track it. There is also no reason to leak state between test runs so we let the test clean up after running.
Mon, 20 Jan 2014 01:29:54 +0100 tests: 'hghave tic' also requires curses support in Python
Mads Kiilerich <madski@unity3d.com> [Mon, 20 Jan 2014 01:29:54 +0100] rev 20304
tests: 'hghave tic' also requires curses support in Python test-status-color.t would fail when using a Python without curses.
Mon, 20 Jan 2014 17:09:20 -0600 test-import-merge: mangle file in binary mode
Matt Mackall <mpm@selenic.com> [Mon, 20 Jan 2014 17:09:20 -0600] rev 20303
test-import-merge: mangle file in binary mode This should fix a test breakage on Windows.
Sun, 19 Jan 2014 22:58:33 -0600 localrepo: drop dead comment
Matt Mackall <mpm@selenic.com> [Sun, 19 Jan 2014 22:58:33 -0600] rev 20302
localrepo: drop dead comment
Thu, 16 Jan 2014 15:05:03 -0500 record: re-enable whitespace-ignoring options
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Thu, 16 Jan 2014 15:05:03 -0500] rev 20301
record: re-enable whitespace-ignoring options It looks like somewhere down the line, patch.diffopts changed the names of the options that it recognises, but record.recordfunc wasn't updated to the new names. Instead of trying to write down names at all, we now use whatever names are provided in commands.diffwsopts and pass that along to patch.diffopts, along with a couple of custom options
Thu, 16 Jan 2014 14:57:52 -0500 record: use commands.diffwsopts instead of ad-hoc diffopts
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Thu, 16 Jan 2014 14:57:52 -0500] rev 20300
record: use commands.diffwsopts instead of ad-hoc diffopts The record extension is writing its own version of commands.diffwsopts which is identical to commands.diffwsopts. Based on the principle that code duplication increases maintenance burden, this patch removes record's ad-hoc diffopts in favour of commands.diffwsopts
Sun, 17 Nov 2013 11:30:17 -0500 phases: add a formal note that hash of secret changeset may leak out
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 17 Nov 2013 11:30:17 -0500] rev 20299
phases: add a formal note that hash of secret changeset may leak out For technical reason (discovery, obsolescence marker) the hash of secret changeset are communicated outside of your repo. We clarifie that in the help so that people does not used hash of secret changeset as nuclear launch code.
Sat, 16 Nov 2013 15:54:41 -0500 largefiles: stylistic cleanup of filemerge
Mads Kiilerich <madski@unity3d.com> [Sat, 16 Nov 2013 15:54:41 -0500] rev 20298
largefiles: stylistic cleanup of filemerge
Sat, 16 Nov 2013 15:46:29 -0500 largefiles: show hashes before prompting for conflict resolution
Mads Kiilerich <madski@unity3d.com> [Sat, 16 Nov 2013 15:46:29 -0500] rev 20297
largefiles: show hashes before prompting for conflict resolution The largefile hashes are mostly an implementation detail, but they are "leaked" in several places anyway, and showing the hashes is better than not giving the user any information about the options in the prompt. The hashes are long, but it is largefile hashes and it would thus be confusing to shorten them.
Sat, 16 Nov 2013 15:46:29 -0500 largefiles: don't try to explain rename history before prompt for conflicts
Mads Kiilerich <madski@unity3d.com> [Sat, 16 Nov 2013 15:46:29 -0500] rev 20296
largefiles: don't try to explain rename history before prompt for conflicts Before it tried to explain the exact situation when merging moved largefiles. That do not happen for normal merges and is not more relevant for largefiles than for normal files. It is unneeded complexity - remove it.
Sat, 16 Nov 2013 15:46:29 -0500 largefiles: drop redundant special handling of merges of renames
Mads Kiilerich <madski@unity3d.com> [Sat, 16 Nov 2013 15:46:29 -0500] rev 20295
largefiles: drop redundant special handling of merges of renames It is unclear what cases this was supposed to cover but it do no longer seem relevant.
Sat, 16 Nov 2013 15:46:29 -0500 diff: search beyond ancestor when detecting renames
Mads Kiilerich <madski@unity3d.com> [Sat, 16 Nov 2013 15:46:29 -0500] rev 20294
diff: search beyond ancestor when detecting renames This removes an optimization that was introduced in 91eb4512edd0 but was too aggressive - as indicated by how it changed test-mq-merge.t . We are walking filelogs to find copy sources and we can thus not be sure to hit the base revision and find the renamed file there - it could also be in the first ancestor of the base ... in the filelog. We are walking the filelog and can thus not easily know when we hit the first ancestor of the base revision and which filename to look for there. Instead, we use _findlimit like mergecopies do: The lower bound for how far we have to go is found from the lowest changelog revision that is an ancestor of only one of the compared revisions. Any filelog ancestor with a revision number lower than that revision will be the ancestor of both compared revisions, and there is thus no reason to go further back than that.
Tue, 14 Jan 2014 13:38:16 -0800 cat: increase perf when catting single files
Durham Goode <durham@fb.com> [Tue, 14 Jan 2014 13:38:16 -0800] rev 20293
cat: increase perf when catting single files Special case the single file case in hg cat. This allows us to avoid parsing the manifest, which shaves 15% off hg cat perf. This is worth it, since automation often uses hg cat for retrieving single files.
Tue, 14 Jan 2014 13:49:19 -0800 changectx: increase perf of walk function
Durham Goode <durham@fb.com> [Tue, 14 Jan 2014 13:49:19 -0800] rev 20292
changectx: increase perf of walk function When running 'hg cat -r . <file>' it was doing an expensive ctx.walk(m) which applied the regex to every file in the manifest. This changes changectx.walk to iterate over just the files in the regex, if no other patterns are specified. This cuts hg cat time by 50% in our repo and probably benefits a few other commands as well.
Wed, 15 Jan 2014 16:46:20 -0800 url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com> [Wed, 15 Jan 2014 16:46:20 -0800] rev 20291
url: added authuri when login information is requested (issue3209) When users are using a revset they can get multiple password prompts. This prompts have no extra information about which password is being requested so I added the authuri to the prompt to make it recognizable. As in: $ hg log -r "outgoing('https://bitbucket.org/mg/test') - outgoing('https://bitbucket.org/nesneros/test')" http authorization required realm: Bitbucket.org HTTP user: interrupted! I changed it to describe the url when prompting for password. As in: $ hg log -r "outgoing('https://bitbucket.org/mg/test') - outgoing('https://bitbucket.org/nesneros/test')" http authorization required for https://bitbucket.org/mg/test realm: Bitbucket.org HTTP user: interrupted!
Fri, 17 Jan 2014 23:55:11 +0900 doc: add description about pattern matching against directories
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 17 Jan 2014 23:55:11 +0900] rev 20290
doc: add description about pattern matching against directories Before this patch, there is no explicit description about pattern matching against directories, even though users may understand it from "plain examples" in "hg help patterns". This patch adds description about pattern matching against directories.
Fri, 17 Jan 2014 23:55:11 +0900 revset: add explanation about the pattern without explicit kind
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 17 Jan 2014 23:55:11 +0900] rev 20289
revset: add explanation about the pattern without explicit kind Before this patch, online help of "adds()", "contains()", "filelog()", "file()", "modifies()" and "removes()" predicates doesn't explain about how the pattern without explicit kind like "glob:" is treated, even though each predicates treat it differently: - as "relpath:" by "adds()", "modifies()" and "removes()" - as "glob:" by "file()" - as special by "contains()" and "filelog()" - be relative to cwd, and - match against a file exactly ("relpath:" matches also against a directory) This may confuse users. This patch adds explanation about the pattern without explicit kind to these predicates.
Fri, 17 Jan 2014 23:55:03 +0900 revset: use "canonpath()" for "filelog()" pattern without explicit kind
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 17 Jan 2014 23:55:03 +0900] rev 20288
revset: use "canonpath()" for "filelog()" pattern without explicit kind Before this patch, revset predicate "filelog()" uses "match.files()" to get filename also for the pattern without explicit kind. But in such case, only canonicalization of relative path is required, and other initializations of "match" object including regexp compilation are meaningless. This patch uses "pathutil.canonpath()" directly for "filelog()" pattern without explicit kind like "glob:", for efficiency. This patch also does below as a part of introducing "canonpath()": - move location of "matchmod.match()" invocation, because "m" is no more used in "if not matchmod.patkind(pat)" code path - omit passing "default" argument to "matchmod.match()", because "pat" should have explicit kind of pattern in this code path
Fri, 17 Jan 2014 23:42:12 +0900 revset: avoid loop for "match.files()" having always one element for efficiency
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 17 Jan 2014 23:42:12 +0900] rev 20287
revset: avoid loop for "match.files()" having always one element for efficiency This patch avoids the loop for "match.files()" having always one element in revset predicate "filelog()" for efficiency: "match" object "m" is constructed with "[pat]" as "patterns" argument.
Fri, 17 Jan 2014 23:42:12 +0900 revset: make default kind of pattern for "contains()" rooted at cwd
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 17 Jan 2014 23:42:12 +0900] rev 20286
revset: make default kind of pattern for "contains()" rooted at cwd Before this patch, default kind of pattern for revset predicate "contains()" is treated as the exact file path rooted at the root of the repository. This decreases usability, because: - all other predicates taking pattern argument (also "filelog()") treat such pattern as the path rooted at the current working directory - "contains()" doesn't describe this difference in its help - this difference may confuse users for example, this prevents revset aliases from sharing same argument between "contains()" and other predicates This patch makes default kind of pattern for revset predicate "contains()" be rooted at the current working directory. This patch uses "pathutil.canonpath()" instead of creating "match" object for efficiency.
Fri, 17 Jan 2014 23:42:12 +0900 revset: narrow scope of the variable referred only in specific code path
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 17 Jan 2014 23:42:12 +0900] rev 20285
revset: narrow scope of the variable referred only in specific code path This patch narrows scope of the variable "m" in the function for revset predicate "contains()", because it is referred only in "else" code path of "if not matchmod.patkind(pat)" examination.
Fri, 17 Jan 2014 12:46:29 +0100 tests: fix test-run-tests.py on OS X
Simon Heimberg <simohe@besonet.ch> [Fri, 17 Jan 2014 12:46:29 +0100] rev 20284
tests: fix test-run-tests.py on OS X Do the same hack as in test-doctests.py to let the test pass on OS X.
Fri, 17 Jan 2014 19:46:23 +0100 tests: test-debugcommands.t also matches stack trace on python 2.4
Simon Heimberg <simohe@besonet.ch> [Fri, 17 Jan 2014 19:46:23 +0100] rev 20283
tests: test-debugcommands.t also matches stack trace on python 2.4 Some versions of python 2.4 write ? instead of <module>. Ignore this detail by a glob. This fixes a failure spotted on buildbot, existing since this test lines were introduced 47d0843647d1.
Wed, 15 Jan 2014 17:55:13 -0600 commands: use bookmarks.validdest instead of duplicating logic
Sean Farley <sean.michael.farley@gmail.com> [Wed, 15 Jan 2014 17:55:13 -0600] rev 20282
commands: use bookmarks.validdest instead of duplicating logic Now that bookmarks.py has grown a validdest method that even handles successor changesets, we use that instead of duplicating the logic in commands.py
Wed, 15 Jan 2014 17:48:48 -0600 update: consider successor changesets when moving active bookmark
Sean Farley <sean.michael.farley@gmail.com> [Wed, 15 Jan 2014 17:48:48 -0600] rev 20281
update: consider successor changesets when moving active bookmark Previously, when an obsolete changeset was bookmarked, successor changesets were not considered when moving the bookmark forward. Now that a bare update will move to the tip most of the successor changesets, we also update the bookmark logic to allow the bookmark to move with this update. Tests have been updated and keep issue4015 covered as well.
Wed, 15 Jan 2014 16:41:18 -0600 merge: consider successor changesets for a bare update
Sean Farley <sean.michael.farley@gmail.com> [Wed, 15 Jan 2014 16:41:18 -0600] rev 20280
merge: consider successor changesets for a bare update Previously, a bare update would ignore any successor changesets thus potentially leaving you on an obsolete head. This happens commonly when there is an old bookmark that hasn't been moved forward which is the motivating reason for this patch series. Now, we will check for successor changesets if two conditions hold: 1) we are doing a bare update 2) *and* we are currently on an obsolete head. If we are in this situation, then we calculate the branchtip of the successor set and update to that changeset. Tests coverage has been added.
Wed, 06 Nov 2013 17:02:07 -0600 merge: refactor initialization of variables in update
Sean Farley <sean.michael.farley@gmail.com> [Wed, 06 Nov 2013 17:02:07 -0600] rev 20279
merge: refactor initialization of variables in update There is no code change here but this helps prepare for future commits that will fix a bare update with obsolete markers.
Wed, 06 Nov 2013 10:26:25 -0600 merge: update comment for future devs
Sean Farley <sean.michael.farley@gmail.com> [Wed, 06 Nov 2013 10:26:25 -0600] rev 20278
merge: update comment for future devs
Wed, 15 Jan 2014 18:14:12 -0600 obsolete: clarify documentation for succcessorssets
Sean Farley <sean.michael.farley@gmail.com> [Wed, 15 Jan 2014 18:14:12 -0600] rev 20277
obsolete: clarify documentation for succcessorssets
Wed, 08 Jan 2014 17:23:26 -0800 backout: add a message after backout that need manual commit
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 08 Jan 2014 17:23:26 -0800] rev 20276
backout: add a message after backout that need manual commit In some case Backout silently succeeded to back out but left all the change uncommitted. This may be confusing for user so this changeset add a note reminding to commit. Other backout case already actively informs the user about created commit.
Wed, 08 Jan 2014 14:53:46 -0800 backout: avoid update on simple case.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 08 Jan 2014 14:53:46 -0800] rev 20275
backout: avoid update on simple case. Before the changeset the backout process was: 1) go to <target> 2) revert to <target> parent 3) update back to changeset we came from The two update steps can takes a very long time to move back and forth unrelated file change between <target> and current working directory. The new process is just merging current working directory with the parent of <target> using <target> as ancestor. This give the very same result but skip the two updates. On big repo with a lot of files and changes that save a lots of time (x20 for one week window). The "merge" version (hg backout --merge) is still done with upgrades. We could imagine using in memory commit to speed it up but this is another fish.
Thu, 16 Jan 2014 12:08:57 +0100 run-tests: print more information on unnecessary glob matching
Simon Heimberg <simohe@besonet.ch> [Thu, 16 Jan 2014 12:08:57 +0100] rev 20274
run-tests: print more information on unnecessary glob matching Extend the message with the test name and the approximate line number. (The line number is the one of the command producing the output.) Finding the line to fix is easier now. old message: ...... Info, unnecessary glob: at a/b/c (glob) .. new message: ...... Info, unnecessary glob in test-example.t (after line 9): at a/b/c (glob) .. The test result is still pass as before.
Thu, 16 Jan 2014 12:08:29 +0100 run-tests: suggest to append glob when only path sep does not match
Simon Heimberg <simohe@besonet.ch> [Thu, 16 Jan 2014 12:08:29 +0100] rev 20273
run-tests: suggest to append glob when only path sep does not match When the line does not match because of \ instead of / (on windows), append (glob) in the expected output. This allows to rename test-bla.t.err to test-bla.t for getting a correct output. This worked for other failures like missing (esc), but not here. Output example (only +- lines of diff): Before: - path/with/local/sep + path\\with\\local/sep Now: - path/with/local/sep + path/with/local/sep (glob)
Thu, 16 Jan 2014 12:06:49 +0100 run-tests: test each line matching function on its own
Simon Heimberg <simohe@besonet.ch> [Thu, 16 Jan 2014 12:06:49 +0100] rev 20272
run-tests: test each line matching function on its own This has several advantages. * Each match function can return some information to the caller runone (used in the next patch). * It is not checked that the line ends in " (glob)" when rematch() returns false. * And it looks more readable.
Thu, 16 Jan 2014 19:07:18 +0100 tests: new test for line matching functions in run-tests
Simon Heimberg <simohe@besonet.ch> [Thu, 16 Jan 2014 19:07:18 +0100] rev 20271
tests: new test for line matching functions in run-tests Test for failing matches and warnings. (The existing test-run-tests.t can not do both by design.) And simulate matching on other os.
Wed, 08 Jan 2014 17:15:22 -0800 test-backout: add multiple summary calls to monitor result wc
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 08 Jan 2014 17:15:22 -0800] rev 20270
test-backout: add multiple summary calls to monitor result wc The main goal is to monitor that working directory parent are correct after backout. This will be useful the next changeset introducting magic merge usage.
Mon, 02 Dec 2013 00:50:30 +0900 transplant: use "ui.extractchoices()" to show the list of available responses
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 02 Dec 2013 00:50:30 +0900] rev 20269
transplant: use "ui.extractchoices()" to show the list of available responses Before this patch, transplant extension shows the list of available responses by specific string, even though the prompt string passed to "ui.promptchoice()" has enough (maybe i18n-ed) information. This patch uses "ui.extractchoices()" to show the list of available responses.
Mon, 02 Dec 2013 00:50:30 +0900 transplant: use "ui.promptchoice()" for interactive transplant
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 02 Dec 2013 00:50:30 +0900] rev 20268
transplant: use "ui.promptchoice()" for interactive transplant Before this patch, transplant extension uses "ui.prompt()" for interactive transplant, and has to check whether user response returned by "ui.prompt()" is valid or not in own code. In addition to it, transplant extension uses response characters (e.g. "y", "n", and so on) directly in own code, and this disallows to use another response characters by translation, even though the help shown by '?' typing is translatable. This patch uses "ui.promptchoice()" instead of "ui.prompt()" to resolve problems above.
Mon, 02 Dec 2013 00:50:30 +0900 transplant: add test for interactive transplant
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 02 Dec 2013 00:50:30 +0900] rev 20267
transplant: add test for interactive transplant
Mon, 02 Dec 2013 00:50:30 +0900 record: use "ui.extractchoices()" to get the list of available responses
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 02 Dec 2013 00:50:30 +0900] rev 20266
record: use "ui.extractchoices()" to get the list of available responses Before this patch, record extension gets the list of available responses from online help document of "hg record" in the tricky way, even though the value passed to "ui.promptchoice()" has enough (maybe i18n-ed) information. This patch uses "ui.extractchoices()" to get the list of available responses.
Mon, 02 Dec 2013 00:50:29 +0900 ui: add "extractchoices()" to share the logic to extract choices from prompt
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 02 Dec 2013 00:50:29 +0900] rev 20265
ui: add "extractchoices()" to share the logic to extract choices from prompt
Mon, 06 Jan 2014 15:19:31 -0800 branchmap: use set for update code
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 06 Jan 2014 15:19:31 -0800] rev 20264
branchmap: use set for update code We are doing membership test and substraction. new code is marginally faster.
(0) -10000 -3000 -1000 -128 +128 +1000 +3000 +10000 +30000 tip