Sat, 15 Feb 2014 01:23:12 +0100 rebase: fix 'rebase onto %d starting from %s' - show root instead of list repr
Mads Kiilerich <madski@unity3d.com> [Sat, 15 Feb 2014 01:23:12 +0100] rev 20545
rebase: fix 'rebase onto %d starting from %s' - show root instead of list repr The debug statement is already in a 'for root in roots' so it was probably the intention to show root instead of roots. Do that.
Wed, 12 Feb 2014 23:44:30 +0100 log: describe graph symbols in the help
Mads Kiilerich <madski@unity3d.com> [Wed, 12 Feb 2014 23:44:30 +0100] rev 20544
log: describe graph symbols in the help I wondered what 'x' meant and didn't find it described anywhere.
Thu, 20 Feb 2014 02:38:41 +0100 tests: backout a82de9dc4f77, debugstacktrace is now stable, drop workaround
Mads Kiilerich <madski@unity3d.com> [Thu, 20 Feb 2014 02:38:41 +0100] rev 20543
tests: backout a82de9dc4f77, debugstacktrace is now stable, drop workaround
Thu, 20 Feb 2014 02:38:36 +0100 util: debugstacktrace, flush before and after writing
Mads Kiilerich <madski@unity3d.com> [Thu, 20 Feb 2014 02:38:36 +0100] rev 20542
util: debugstacktrace, flush before and after writing Close another stream (default stdout, which often is buffered) before writing to the primary stream (default stderr, which often is unbuffered). The primary stream is also flushed after writing (in case it is buffered). This fixes non-deterministic output order, especially on windows.
Wed, 19 Feb 2014 21:32:14 -0800 run-tests.py: work when --with-hg is set to system hg
Siddharth Agarwal <sid0@fb.com> [Wed, 19 Feb 2014 21:32:14 -0800] rev 20541
run-tests.py: work when --with-hg is set to system hg Previously we'd always assume that --with-hg is a script in a user directory, and would write out a 'python' symlink to the same location. That didn't work if --with-hg was set to a system installation of hg, e.g. /usr/bin/hg. Introduce a TMPBINDIR directory which is used to write out the python symlink.
Wed, 12 Feb 2014 18:45:49 -0800 revset: added cached generated list on generatorset
Lucas Moscovicz <lmoscovicz@fb.com> [Wed, 12 Feb 2014 18:45:49 -0800] rev 20540
revset: added cached generated list on generatorset This allows to iterate the generatorset more than once.
Thu, 20 Feb 2014 00:46:13 -0600 templater: shorten pure integers
Sean Farley <sean.michael.farley@gmail.com> [Thu, 20 Feb 2014 00:46:13 -0600] rev 20539
templater: shorten pure integers Originally, the addition of the 'shorten' template function in 9c6b86dd2ed2 would not consider pure integers for shortening. This patch considers two simple cases: when the integer starts with zero (which is parsed by Mercurial as a hash first) and when the integer is larger than the tip (obviously not a rev).
Fri, 21 Feb 2014 13:16:17 -0800 revset: fixed bug where log -f was taking too long to return
Lucas Moscovicz <lmoscovicz@fb.com> [Fri, 21 Feb 2014 13:16:17 -0800] rev 20538
revset: fixed bug where log -f was taking too long to return
Thu, 20 Feb 2014 16:12:27 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 20 Feb 2014 16:12:27 -0600] rev 20537
merge with stable
Wed, 05 Feb 2014 15:23:11 -0800 revset: added generatorset class with cached __contains__ method
Lucas Moscovicz <lmoscovicz@fb.com> [Wed, 05 Feb 2014 15:23:11 -0800] rev 20536
revset: added generatorset class with cached __contains__ method
Wed, 19 Feb 2014 13:11:24 -0800 pathencode: eliminate signed integer warnings stable
Danek Duvall <danek.duvall@oracle.com> [Wed, 19 Feb 2014 13:11:24 -0800] rev 20535
pathencode: eliminate signed integer warnings Compiling mercurial with the Sun Studio compiler gives seven copies of the following warning on pathencode.c: line 533: warning: initializer will be sign-extended: -1 Using explicit unsigned literals silences it.
Wed, 19 Feb 2014 12:56:41 -0800 revset: changed last implementation to use lazy classes
Lucas Moscovicz <lmoscovicz@fb.com> [Wed, 19 Feb 2014 12:56:41 -0800] rev 20534
revset: changed last implementation to use lazy classes Instead of using getitem just reverse the revision list and get the first 'lim' elements. With classes like spanset which are easily reversible this will work faster. Performance Benchmarking: $ time hg log -qr "last(all())" ... real 0m0.569s user 0m0.447s sys 0m0.122s $ time ./hg log -qr "last(all())" ... real 0m0.215s user 0m0.150s sys 0m0.063s
Wed, 19 Feb 2014 16:46:47 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 19 Feb 2014 16:46:47 -0600] rev 20533
merge with stable
Wed, 19 Feb 2014 13:25:28 +0100 help: remove last occurrences of ".. note::" without two newlines
Simon Heimberg <simohe@besonet.ch> [Wed, 19 Feb 2014 13:25:28 +0100] rev 20532
help: remove last occurrences of ".. note::" without two newlines When we add two newlines after ".. note::" translators will not see this entry. And all versions of docutils interpret this paragraph correctly (details in de16c673455b).
Tue, 18 Feb 2014 14:48:56 -0800 help: add ifcontains, revset, and shortest to template help
Durham Goode <durham@fb.com> [Tue, 18 Feb 2014 14:48:56 -0800] rev 20531
help: add ifcontains, revset, and shortest to template help Adds help information to the template help doc. Mentions ifcontains, revset, shortest, and current in bookmarks.
Wed, 19 Feb 2014 22:19:45 +0900 verify: do not prevent verify repository containing hidden changesets stable
Yuya Nishihara <yuya@tcha.org> [Wed, 19 Feb 2014 22:19:45 +0900] rev 20530
verify: do not prevent verify repository containing hidden changesets Since a959f7167077, repo.cancopy() cannot be used to check if the repo is a bundlerepository. repo.url() should always have "scheme:", so it isn't necessary to parse by util.url().
Wed, 19 Feb 2014 21:16:43 +0900 hgweb: make sure sys module is loaded prior to reload hack stable
Yuya Nishihara <yuya@tcha.org> [Wed, 19 Feb 2014 21:16:43 +0900] rev 20529
hgweb: make sure sys module is loaded prior to reload hack If sys is still a demandmod, reload(sys) fails with "TypeError: reload() argument must be module".
Thu, 17 Oct 2013 13:27:17 +0900 win32: improve the performance of win32.unlink() over CIFS
Kaz Nishimura <kazssym@vx68k.org> [Thu, 17 Oct 2013 13:27:17 +0900] rev 20528
win32: improve the performance of win32.unlink() over CIFS Emulating POSIX unlink() behavior with os.rename() and os.unlink() is often slow especially over CIFS from Windows clients due to its protocol overhead. This patch changes win32.unlink() to try first an exclusive open with the Win32 delete-on-close flag, and if a sharing violation is detected, to fall back to the original emulation. This patch also removes a test with os.path.isdir() since we expect opening a directory shall fail as os.unlink() would. Example measurements (repeated 3-times after 1-time calibration): (Without this patch: hg update from null to default) 127 files updated, 0 files merged, 0 files removed, 0 files unresolved time: real 19.871 secs (user 0.328+0.000 sys 1.794+0.000) time: real 19.622 secs (user 0.312+0.000 sys 2.044+0.000) time: real 19.138 secs (user 0.250+0.000 sys 1.872+0.000) (Without this patch: hg update from default to null) 0 files updated, 0 files merged, 127 files removed, 0 files unresolved time: real 35.158 secs (user 0.156+0.000 sys 2.512+0.000) time: real 35.272 secs (user 0.250+0.000 sys 2.512+0.000) time: real 36.569 secs (user 0.203+0.000 sys 2.387+0.000) (With this patch: hg update from null to default) 127 files updated, 0 files merged, 0 files removed, 0 files unresolved time: real 17.893 secs (user 0.328+0.000 sys 1.700+0.000) time: real 18.512 secs (user 0.265+0.000 sys 1.529+0.000) time: real 20.238 secs (user 0.312+0.000 sys 1.685+0.000) (With this patch: hg update from default to null) 0 files updated, 0 files merged, 127 files removed, 0 files unresolved time: real 12.312 secs (user 0.250+0.000 sys 0.811+0.000) time: real 12.471 secs (user 0.156+0.000 sys 0.889+0.000) time: real 9.727 secs (user 0.125+0.000 sys 0.858+0.000)
Tue, 18 Feb 2014 15:54:46 -0800 revset: changed mfunc and getset to work with old style revset methods
Lucas Moscovicz <lmoscovicz@fb.com> [Tue, 18 Feb 2014 15:54:46 -0800] rev 20527
revset: changed mfunc and getset to work with old style revset methods Now extensions shouldn't break when adding new revsets.
Mon, 03 Feb 2014 10:15:15 -0800 revset: changed revsets to use spanset
Lucas Moscovicz <lmoscovicz@fb.com> [Mon, 03 Feb 2014 10:15:15 -0800] rev 20526
revset: changed revsets to use spanset Performance Benchmarking: $ hg perfrevset "first(all())" ! wall 0.304936 comb 0.300000 user 0.280000 sys 0.020000 (best of 33) $ ./hg perfrevset "first(all())" ! wall 0.175640 comb 0.180000 user 0.160000 sys 0.020000 (best of 56)
Tue, 18 Feb 2014 11:38:03 -0800 revset: changed spanset to take a repo argument
Lucas Moscovicz <lmoscovicz@fb.com> [Tue, 18 Feb 2014 11:38:03 -0800] rev 20525
revset: changed spanset to take a repo argument This way, we can have by default the length of the repo as the end argument and less code has to be aware of hidden revisions.
Mon, 17 Feb 2014 14:49:56 -0600 journal: report parsing errors on recover/rollback (issue4172)
Matt Mackall <mpm@selenic.com> [Mon, 17 Feb 2014 14:49:56 -0600] rev 20524
journal: report parsing errors on recover/rollback (issue4172)
Sat, 15 Feb 2014 16:19:19 +0900 rebase: do not try to reactivate deleted divergent bookmark stable
Yuya Nishihara <yuya@tcha.org> [Sat, 15 Feb 2014 16:19:19 +0900] rev 20523
rebase: do not try to reactivate deleted divergent bookmark If the currently active bookmark is divergent one, it may be resolved during rebase. Trying to activate it will raise "KeyError: 'W@diverge'".
Sat, 15 Feb 2014 22:09:32 -0600 tests: backout 00f2d29308db pid check
Matt Mackall <mpm@selenic.com> [Sat, 15 Feb 2014 22:09:32 -0600] rev 20522
tests: backout 00f2d29308db pid check
Mon, 10 Feb 2014 17:38:43 -0800 revset: changed spanset implementation to take hidden revisions into account
Lucas Moscovicz <lmoscovicz@fb.com> [Mon, 10 Feb 2014 17:38:43 -0800] rev 20521
revset: changed spanset implementation to take hidden revisions into account Hidden revisions are now excluded from the spanset. Now this doesn't break for people using changeset evolution.
Tue, 11 Feb 2014 21:40:33 -0800 template: add 'current' to scope during {bookmarks % ...}
Durham Goode <durham@fb.com> [Tue, 11 Feb 2014 21:40:33 -0800] rev 20520
template: add 'current' to scope during {bookmarks % ...} This adds the keyword 'current' to the template scope when processing a bookmark list. The 'current' keyword resolves to the name of the currently active bookmark in the repo. This allows us to apply special labels to the current bookmark to distinguish it (especially in the case where there are multiple bookmarks on the same commit). Example: "{bookmarks % '{bookmark}{ifeq(bookmark, current, \"*\")} '}" Results in a space separated list of bookmarks where the current bookmark has an asterix.
Tue, 11 Feb 2014 21:04:12 -0800 template: add revset() template function
Durham Goode <durham@fb.com> [Tue, 11 Feb 2014 21:04:12 -0800] rev 20519
template: add revset() template function Adds a template function that executes a revset and returns the list of revisions as the result. It has the signature 'revset(query [, args...])'. The args are optional and are applied to the query string using the standard python string.format(args) pattern. This allows things like: '{revset("parents({0})", rev)}' to produce the parents of each individual commit in the log output. If no args are specified, the revset result is cached for the duration of the templater; so it's better to not use args if performance is a concern. By itself, revset() can be used to print commit parents, print the common ancestor of a commit with the main branch, etc. It can be used with the ifcontains() function to do things like '{ifcontains(rev, revset('.'), label(...), ...)}' to color the working copy parent, to color certain branches, to color draft commits, etc.
Tue, 11 Feb 2014 21:10:00 -0800 template: add ifcontains template function
Durham Goode <durham@fb.com> [Tue, 11 Feb 2014 21:10:00 -0800] rev 20518
template: add ifcontains template function Adds a template function with the signature 'ifcontains(item, set, then[, else])'. It can be used to do things like '{ifcontains('.hgignore', file_mods, label(...), ...)}' to color commits that edit the .hgignore file. A future patch will add the revset() function which will combine with ifcontains to allow us to color commits if they are in the revset.
Thu, 13 Feb 2014 17:34:09 -0800 createmarkers: allow to pass metadata for a marker only
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 13 Feb 2014 17:34:09 -0800] rev 20517
createmarkers: allow to pass metadata for a marker only The `metadata` argument only allow to specify metadata for all new markers. We extension the format of the `relations` argument to support optional metadata argument. The first user of this should be the evolve extension who want to store parent information of pruned changeset in extra (until we make a second version of the format)
Thu, 13 Feb 2014 17:33:45 -0800 obsstore: update create docstring to point to the coder friendly function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 13 Feb 2014 17:33:45 -0800] rev 20516
obsstore: update create docstring to point to the coder friendly function The `obsstore` class have a `create` method that create new obsolescence marker from node. There is another function in the same module `createmarkers`. This other function is higher level and automatically missing meta data (ultimately calling the first one) We add a new comment in the docstring of `obsstore.create` highlighting that people writing new code probably want to use the top level one.
Sat, 15 Feb 2014 18:40:39 +0900 i18n: check equality of initial indentation between msgid and msgstr
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 15 Feb 2014 18:40:39 +0900] rev 20515
i18n: check equality of initial indentation between msgid and msgstr Document generation by runrst in "doc" directory may succeed silently, even though initial indentation is different between msgid and msgstr: for example, it may be unexpected or missing indentation. This patch adds the checker to check equality of initial indentation between msgid and msgstr. This checker is categorized as "warning" level, because problem detected by this is not so serious for usual Mercurial usage.
Sat, 15 Feb 2014 18:40:39 +0900 i18n: check equality of tail '::'-ness between msgid and msgstr
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 15 Feb 2014 18:40:39 +0900] rev 20514
i18n: check equality of tail '::'-ness between msgid and msgstr Document generation by runrst in "doc" directory may succeed silently, even though there is the translated message missing tail '::'. In this case, it uses "<blockquote>" instead of "<pre>" to surround succeeding text block unexpectedly in generated HTML file. This patch adds the checker to check equality of tail '::'-ness between msgid and msgstr. To detect also msgstr unexpectedly ending with '::', this checker doesn't have matching regexp against msgid, and is applied on all msgid/msgstr pairs. This checker is categorized as "warning" level, because problem detected by this is not so serious for usual Mercurial usage.
Sat, 15 Feb 2014 15:28:32 +0100 run-tests: fix heredoctest for out-of-tree extensions
Patrick Mezard <patrick@mezard.eu> [Sat, 15 Feb 2014 15:28:32 +0100] rev 20513
run-tests: fix heredoctest for out-of-tree extensions heredoctest.py directory must be in python path to use heredoctest (>>>) in out-of-tree extension tests like: $ cd ext/tests $ python /some/hg/install/tests/run-tests.py test-ext.t
Tue, 04 Feb 2014 15:31:57 -0800 revset: added cache to lazysets
Lucas Moscovicz <lmoscovicz@fb.com> [Tue, 04 Feb 2014 15:31:57 -0800] rev 20512
revset: added cache to lazysets This allows __contains__ to return faster when asked for same value twice.
Sat, 15 Feb 2014 19:12:53 -0600 histedit: shorten new fold message
Matt Mackall <mpm@selenic.com> [Sat, 15 Feb 2014 19:12:53 -0600] rev 20511
histedit: shorten new fold message Lots of people, like Mr. Check-Code, insist on using 80-column terminals.
Thu, 13 Feb 2014 08:29:44 +0100 run-tests: unnecessary globs also count as warnings
Simon Heimberg <simohe@besonet.ch> [Thu, 13 Feb 2014 08:29:44 +0100] rev 20510
run-tests: unnecessary globs also count as warnings When a glob is unnecessary, now there's a diff output and 'run-tests.py -i' works for accepting the output. On windows, some tests which have "passed" currently (with some info lines printed) will now be reported as "warned". (I recommend to recognize "warned" by buildbot before applying this patch.)
Thu, 13 Feb 2014 08:27:53 +0100 run-tests: report a test as warned when only missing globs
Simon Heimberg <simohe@besonet.ch> [Thu, 13 Feb 2014 08:27:53 +0100] rev 20509
run-tests: report a test as warned when only missing globs On windows, some test reported as failed will now be reported as "warned".
Thu, 13 Feb 2014 08:26:13 +0100 run-tests: add possibility for test-runners to report a "warned" test result
Simon Heimberg <simohe@besonet.ch> [Thu, 13 Feb 2014 08:26:13 +0100] rev 20508
run-tests: add possibility for test-runners to report a "warned" test result A test result is recognized as "warned" when the test runner returns the exit code False. (False is similar to 0, which is reporting a command has run sucessfully.) The only difference in display is that the failure message while running writes "Warning:" instead of "ERROR:". The diff output is the same as when the test fails. Runing "run-tests.py -i" asks to accept the changed result also for tests reported as "warned". When running tests, a "warned" test would look like this: .. --- xxxx\tests\test-something.t +++ xxxx\tests\test-something.t.err @@ -1279,7 +1279,7 @@ $ echo anything $ hg commit -S -m whatever committing subrepository s - committing subrepository s/sbs + committing subrepository s/sbs (glob) warning: something happened committing subrepository t $ echo something Warning: xxxx\tests\test-sOMETHING.t output changed ~.s...s...s.. Reporting a test result as "warned" will be used in following patches.
Thu, 13 Feb 2014 08:17:39 +0100 run-tests: separate exit code when no failed tests but warned ones
Simon Heimberg <simohe@besonet.ch> [Thu, 13 Feb 2014 08:17:39 +0100] rev 20507
run-tests: separate exit code when no failed tests but warned ones This can be used by buildbot to set the result "warnings" instead of "failed".
Thu, 13 Feb 2014 08:14:54 +0100 run-tests: introduce 'warned' as test result
Simon Heimberg <simohe@besonet.ch> [Thu, 13 Feb 2014 08:14:54 +0100] rev 20506
run-tests: introduce 'warned' as test result While running, a test resulting in 'warned' is shown as '~'. Test results with state warned are listed between the skipped and the failed tests. Example: Skipped test-revert-flags.t: missing feature: executable bit Skipped test-inotify-lookup.t: missing feature: inotify extension support Warned test-something.t: output changed Failed test-largefiles.t: output changed Failed test-subrepo.t: output changed # Ran 11 tests, 2 skipped, 1 warned, 2 failed. The test result "warned" will be used in later patches.
Thu, 13 Feb 2014 08:02:06 +0100 run-tests: handle sys.exit in main function
Simon Heimberg <simohe@besonet.ch> [Thu, 13 Feb 2014 08:02:06 +0100] rev 20505
run-tests: handle sys.exit in main function
Thu, 13 Feb 2014 07:29:28 +0100 run-tests: remove unnecessary variable initialisation
Simon Heimberg <simohe@besonet.ch> [Thu, 13 Feb 2014 07:29:28 +0100] rev 20504
run-tests: remove unnecessary variable initialisation ret is always set before it is used, so remove ret = 0
Thu, 13 Feb 2014 18:05:35 -0800 histedit: clarify description of fold command
Adrian Zgorzałek <adek@fb.com> [Thu, 13 Feb 2014 18:05:35 -0800] rev 20503
histedit: clarify description of fold command N and (N-1) didn't add any information to description of fold. More useful is refering to the commit list as it is displayed in editor.
Fri, 07 Feb 2014 17:24:12 +0100 discovery: make "note: unsynced remote changes!" less serious than a warning
Mads Kiilerich <madski@unity3d.com> [Fri, 07 Feb 2014 17:24:12 +0100] rev 20502
discovery: make "note: unsynced remote changes!" less serious than a warning This situation is not necessarily a problem and do not deserve a warning. It is just some information that can guide the user in understanding what is going on. Making it 'debug' would usually not give the hint when it is relevant so we make it a 'status' message.
Thu, 06 Feb 2014 02:19:38 +0100 discovery: improve "note: unsynced remote changes!" warning
Mads Kiilerich <madski@unity3d.com> [Thu, 06 Feb 2014 02:19:38 +0100] rev 20501
discovery: improve "note: unsynced remote changes!" warning This message frequently caused confusion. "unsynced" is not a well established user-facing concept in Mercurial and the message was not very specific or helpful. Instead, show a message like: remote has heads on branch 'default' that are not known locally: 6c0482d977a3 This message will also (when relevant) be shown before aborting on "push creates new remote head". A similar (but actually very different) message was addressed in 6b618aa08b6e.
Tue, 11 Feb 2014 16:52:36 -0800 import: move tryone closure in cmdutil
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 11 Feb 2014 16:52:36 -0800] rev 20500
import: move tryone closure in cmdutil We extract the `tryone` function into the `cmdutil` module. A lot of the command context have to be passed to the utility function, but having and explicit declaration will allow extension to wrap it. This will allows use to make changeset evolution related experiment in dedicated extension. Improving the API of this function is noble goal but outside of the scope of this patches.
Thu, 13 Feb 2014 14:04:47 -0800 revset: optimize missing ancestor expressions
Siddharth Agarwal <sid0@fb.com> [Thu, 13 Feb 2014 14:04:47 -0800] rev 20499
revset: optimize missing ancestor expressions A missing ancestor expression is any expression of the form (::x - ::y) or equivalent. Such expressions are remarkably common, and so far have involved multiple walks down the DAG, followed by a set difference operation. With this patch, such expressions will be transformed into uses of the fast algorithm at ancestor.missingancestor. For a repository with over 600,000 revisions, perfrevset for '::tip - ::-10000' returns: Before: ! wall 3.999575 comb 4.000000 user 3.910000 sys 0.090000 (best of 3) After: ! wall 0.132423 comb 0.130000 user 0.130000 sys 0.000000 (best of 75)
Thu, 13 Feb 2014 13:54:45 -0800 revset: add an undocumented _missingancestors function
Siddharth Agarwal <sid0@fb.com> [Thu, 13 Feb 2014 13:54:45 -0800] rev 20498
revset: add an undocumented _missingancestors function This will be used in an upcoming patch to optimize expressions of the form (::x - ::y).
Thu, 13 Feb 2014 13:52:45 -0800 commands.debugrevspec: add an option to print the optimized expression tree
Siddharth Agarwal <sid0@fb.com> [Thu, 13 Feb 2014 13:52:45 -0800] rev 20497
commands.debugrevspec: add an option to print the optimized expression tree This will be used in an upcoming patch to test that the optimizer works.
Wed, 12 Feb 2014 16:09:18 +0100 tests: killdaemons.py for windows distinguishes access violation and terminated
Simon Heimberg <simohe@besonet.ch> [Wed, 12 Feb 2014 16:09:18 +0100] rev 20496
tests: killdaemons.py for windows distinguishes access violation and terminated To distinguish between access violaition (process belonging to another user) and a terminated process, PROCESS_QUERY_INFORMATION must be enabled. But TerminateProcess still raises error 5 in both cases. Therefore check before if the process has already terminated.
Wed, 12 Feb 2014 15:38:59 +0100 tests: killdaemons.py for checks reason when getting no process handle
Simon Heimberg <simohe@besonet.ch> [Wed, 12 Feb 2014 15:38:59 +0100] rev 20495
tests: killdaemons.py for checks reason when getting no process handle
Fri, 17 Jan 2014 21:13:20 +0100 tests: killdaemons.py for windows waits for killed process to terminate
Simon Heimberg <simohe@besonet.ch> [Fri, 17 Jan 2014 21:13:20 +0100] rev 20494
tests: killdaemons.py for windows waits for killed process to terminate After kill, wait for the process to terminate. When it does not in time, write a debug message similar as in other os. But no 2nd forceful attempt is done.
Fri, 17 Jan 2014 21:13:08 +0100 tests: kill for windows in killdaemons.py checks return values
Simon Heimberg <simohe@besonet.ch> [Fri, 17 Jan 2014 21:13:08 +0100] rev 20493
tests: kill for windows in killdaemons.py checks return values The return values of the windll calls are checked and when an error is indicated, it is raised. The handle is still closed properly.
Thu, 13 Feb 2014 15:33:24 -0600 merge with crew
Matt Mackall <mpm@selenic.com> [Thu, 13 Feb 2014 15:33:24 -0600] rev 20492
merge with crew
Thu, 13 Feb 2014 13:08:50 +0100 merge with stable
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 13 Feb 2014 13:08:50 +0100] rev 20491
merge with stable
Thu, 13 Feb 2014 13:05:09 +0100 help: new SHA-1 fingerprint of hg.intevation.org in hostfingerprints example stable
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 13 Feb 2014 13:05:09 +0100] rev 20490
help: new SHA-1 fingerprint of hg.intevation.org in hostfingerprints example The certificate was updated in February 2014. You can verify the certificate by using the Root CA certificate downloadable from https://ssl.intevation.de/ The intermediate CA is sent by https://hg.intevation.org/
Fri, 31 Jan 2014 01:39:59 -0800 pull: move changeset pulling in its own function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 31 Jan 2014 01:39:59 -0800] rev 20489
pull: move changeset pulling in its own function pull: move changeset pulling in its own function Now that every necessary information is held in the `pulloperation` object, we can finally extract the changeset pulling to it's own function. This changeset is pure code movement only.
Tue, 11 Feb 2014 14:51:38 -0800 pull: move `fetch` subset into the object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 11 Feb 2014 14:51:38 -0800] rev 20488
pull: move `fetch` subset into the object Tree discovey use a `fetch` variable to know what is being pulled. We move this information in the `pulloperation` object. This make it possible to extract the changeset pulling logic into its own function.
Fri, 31 Jan 2014 01:34:00 -0800 pull: make pulled subset a propertycache of the pull object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 31 Jan 2014 01:34:00 -0800] rev 20487
pull: make pulled subset a propertycache of the pull object The computation of the subset is simple operation using two useful pull information (1) the set of common changeset before the pull (2) the set of pulled changeset. We move this data into the `pulloperation` object since some phase will need them. And we turn the pulled subset computation behind a property case as multiple pull phase will need it.
Fri, 31 Jan 2014 01:25:56 -0800 pull: move phases synchronisation in its own function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 31 Jan 2014 01:25:56 -0800] rev 20486
pull: move phases synchronisation in its own function Now that every necessary information is held in the `pulloperation` object, we can finally extract the phase synchronisation phase to it's own function. This changeset is pure code movement only.
Fri, 31 Jan 2014 01:21:42 -0800 pull: move pulled subset into the object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 31 Jan 2014 01:21:42 -0800] rev 20485
pull: move pulled subset into the object We compute the set of local changeset that were target of the pull. This is then used by phases logic to decide which part of the history should have it phase updated. We move this information into the object to allow extraction of phase synchronisation in its own function. I expect obsolete marker exchange to use it too in the future.
Thu, 06 Feb 2014 15:56:25 -0800 revset: added operations to spanset to duck type baseset
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 06 Feb 2014 15:56:25 -0800] rev 20484
revset: added operations to spanset to duck type baseset Added more operations which are not lazy but only used so far to duck type baseset.
Wed, 12 Feb 2014 10:22:43 -0800 revset: added basic operations to spanset
Lucas Moscovicz <lmoscovicz@fb.com> [Wed, 12 Feb 2014 10:22:43 -0800] rev 20483
revset: added basic operations to spanset Added methods __add__, __sub__ and __and__ to duck type more methods in baseset
Wed, 12 Feb 2014 10:16:21 -0800 revset: added spanset class to represent revision ranges
Lucas Moscovicz <lmoscovicz@fb.com> [Wed, 12 Feb 2014 10:16:21 -0800] rev 20482
revset: added spanset class to represent revision ranges
Thu, 06 Feb 2014 08:36:11 -0800 revset: added lazyset implementation to extra revset
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 06 Feb 2014 08:36:11 -0800] rev 20481
revset: added lazyset implementation to extra revset
Thu, 06 Feb 2014 08:32:40 -0800 revset: added lazyset implementation to converted revset
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 06 Feb 2014 08:32:40 -0800] rev 20480
revset: added lazyset implementation to converted revset
Thu, 06 Feb 2014 08:31:55 -0800 revset: added lazyset implementation to closed revset
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 06 Feb 2014 08:31:55 -0800] rev 20479
revset: added lazyset implementation to closed revset
Fri, 31 Jan 2014 01:12:35 -0800 push: feed pulloperation object to _pullobsolete function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 31 Jan 2014 01:12:35 -0800] rev 20478
push: feed pulloperation object to _pullobsolete function We now have all necessary information in the `pulloperation` object itself.
Fri, 31 Jan 2014 01:04:05 -0800 pull: move transaction logic into the pull object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 31 Jan 2014 01:04:05 -0800] rev 20477
pull: move transaction logic into the pull object Most local change that occurs during a pull are doing within a `transaction`. Currently this mean (1) adding new changeset (2) adding obsolescence markers. We want the two operations to be done in the same transaction. However we do not want to create a transaction if nothing is added to the repo. Creating an empty transaction would drop the previous transaction data and confuse tool and people who are still using rollback. So the current pull code has some logic to create and handle this transaction on demand. We are moving this logic in to the `pulloperation` object itself to simplify this lazy creation logic through all different par of the push. Note that, in the future, other part of pull (phases, bookmark) will probably want to be part of the transaction too.
Thu, 30 Jan 2014 17:38:41 -0800 pull: move obsolescence marker exchange in the exchange module
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 17:38:41 -0800] rev 20476
pull: move obsolescence marker exchange in the exchange module The obsolescence marker exchange code was already extracted during a previous cycle. We are moving the extracted functio in this module. This function will read and write data in the `pulloperation` object and I prefer 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 `pulloperation` object will come later.
Sat, 01 Feb 2014 03:49:29 -0800 pull: move `force` argument into pull object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Sat, 01 Feb 2014 03:49:29 -0800] rev 20475
pull: move `force` argument into pull object One more step toward a more modular pulh function.
Thu, 30 Jan 2014 17:35:55 -0800 pull: move `heads` argument into pull object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 17:35:55 -0800] rev 20474
pull: move `heads` argument into pull object One more step toward a more modular pull function.
Thu, 30 Jan 2014 17:32:04 -0800 pull: move `remote` argument into pull object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 17:32:04 -0800] rev 20473
pull: move `remote` argument into pull object One more step toward a more modular pull function.
Thu, 30 Jan 2014 17:24:49 -0800 pull: introduce a pulloperation object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 17:24:49 -0800] rev 20472
pull: introduce a pulloperation object This object will hold all data and state gathered through the pull. 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 pull 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 function.
Mon, 27 Jan 2014 21:39:25 +0100 tests: lines with largefile .* file://$TESTTMP also match on windows
Simon Heimberg <simohe@besonet.ch> [Mon, 27 Jan 2014 21:39:25 +0100] rev 20471
tests: lines with largefile .* file://$TESTTMP also match on windows on windows, largefile paths are written as "file:///C:/temp/...", corresponding to "file:///$TESTTMP/..." (all three slashes shown). But on posix systems they are written as "file:///tmp/..." corresponding to "file://$TESTTMP/..." (only two slashes shown). Write the glob "file:/*/" to match both versions.
Tue, 11 Feb 2014 16:30:23 -0800 debugobsolete: extract marker display in a dedicated function
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 11 Feb 2014 16:30:23 -0800] rev 20470
debugobsolete: extract marker display in a dedicated function We want to be able to reuse and extend it from other function or extension while working on markers exchange. This changeset is pure core movement.
Thu, 30 Jan 2014 16:12:49 -0800 exchange: extract pull function from localrepo
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 16:12:49 -0800] rev 20469
exchange: extract pull function from localrepo The localrepo class if far too big. Push and pull logic are extracted and reworked to better fit with the fact we exchange more than bundle now. This changeset extract the pulh code. later changeset will slowly slice it into smaller brick. The localrepo.pull method is kept for now to limit impact on user code. But it will be ultimately removed, now that the public API is hold by peer.
Thu, 30 Jan 2014 23:12:03 -0800 push: extract new common set computation from phase synchronisation
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 23:12:03 -0800] rev 20468
push: extract new common set computation from phase synchronisation Now that every necessary information is held in the `pushoperation` object, we can extract the new common set computation to it's own function. This changeset is pure code movement only.
Thu, 30 Jan 2014 23:16:43 -0800 push: move `commonheads` into the push object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 23:16:43 -0800] rev 20467
push: move `commonheads` into the push object The phase synchronisation start by computing the new set of common head between local and remote and then do the phase synchronisation on this set. This new common set logic will eventually be used by the obsolescence markers exchange. So we are going to split the long phase synchronisation in two.
Thu, 30 Jan 2014 21:05:29 -0800 push: move discovery in its own function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 21:05:29 -0800] rev 20466
push: move discovery in its own function Now that every necessary information is held in the `pushoperation` object, we can extract the discovery logic to it's own function. This changeset is pure code movement only.
Thu, 30 Jan 2014 21:01:21 -0800 push: move outgoing check logic in its own function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 21:01:21 -0800] rev 20465
push: move outgoing check logic in its own function Now that every necessary information is held in the `pushoperation` object, we can extract the part responsible of aborting the push to it's own function. This changeset is mostly pure code movement. the exception is the fact this function returns a value to decide if changeset bundle should be pushed.
Thu, 30 Jan 2014 21:01:13 -0800 push: move `incoming` into the push object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 21:01:13 -0800] rev 20464
push: move `incoming` into the push object The fact that there is some unknown changes on remote one of the result of discovery. It is then used by some push validation logic. We move it in the object to be able to extract the said logic.
Thu, 30 Jan 2014 20:44:55 -0800 push: move changeset push logic in its own function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 20:44:55 -0800] rev 20463
push: move changeset push logic in its own function Now that every necessary information is held in the `pushoperation` object, we can extract the logic pushing changeset to it's own function. This changeset is pure code movement only.
Thu, 30 Jan 2014 20:34:35 -0800 push: move `remoteheads` into the push object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 20:34:35 -0800] rev 20462
push: move `remoteheads` into the push object The heads of the remote repository are used to detect race when pushing changeset. We now store this information in `pushoperation` object to allow extraction of the changeset pushing part.
Tue, 04 Feb 2014 15:07:03 -0800 revset: added lazyset implementation to contains revset
Lucas Moscovicz <lmoscovicz@fb.com> [Tue, 04 Feb 2014 15:07:03 -0800] rev 20461
revset: added lazyset implementation to contains revset
Tue, 04 Feb 2014 09:29:19 -0800 revset: added lazyset implementation to secret revset
Lucas Moscovicz <lmoscovicz@fb.com> [Tue, 04 Feb 2014 09:29:19 -0800] rev 20460
revset: added lazyset implementation to secret revset
Tue, 04 Feb 2014 09:14:45 -0800 revset: added lazyset implementation to matching revset
Lucas Moscovicz <lmoscovicz@fb.com> [Tue, 04 Feb 2014 09:14:45 -0800] rev 20459
revset: added lazyset implementation to matching revset Performance Benchmarking: $ time hg log -qr "first(matching(0))" 0:9117c6561b0b real 0m2.213s user 0m2.149s sys 0m0.055s $ time ./hg log -qr "first(matching(0))" 0:9117c6561b0b real 0m0.177s user 0m0.137s sys 0m0.038s
Tue, 04 Feb 2014 08:51:07 -0800 revset: added lazyset implementation to _matchfiles
Lucas Moscovicz <lmoscovicz@fb.com> [Tue, 04 Feb 2014 08:51:07 -0800] rev 20458
revset: added lazyset implementation to _matchfiles Performance Benchmarking: $ time hg log -qr "first(file(README))" 0:9117c6561b0b real 0m2.234s user 0m2.180s sys 0m0.044s $ time ./hg log -qr "first(file(README))" 0:9117c6561b0b real 0m0.172s user 0m0.129s sys 0m0.042s
Fri, 31 Jan 2014 10:47:51 -0800 revset: added lazyset implementation to checkstatus
Lucas Moscovicz <lmoscovicz@fb.com> [Fri, 31 Jan 2014 10:47:51 -0800] rev 20457
revset: added lazyset implementation to checkstatus This improves the performance of the revsets 'adds' 'modifies' and 'removes' Performance benchmarking: $ time hg log -qr "first(adds(README))" 0:9117c6561b0b real 0m2.279s user 0m2.222s sys 0m0.053s $ time ./hg log -qr "first(adds(README))" 0:9117c6561b0b real 0m0.172s user 0m0.131s sys 0m0.041s $ time hg log -qr "first(modifies(README))" 1:273ce12ad8f1 real 0m2.292s user 0m2.227s sys 0m0.061s $ time ./hg log -qr "first(modifies(README))" 1:273ce12ad8f1 real 0m0.178s user 0m0.130s sys 0m0.038s $ time hg log -qr "first(removes(README))" 2379:e90cff87f871 real 0m2.297s user 0m2.235s sys 0m0.058s $ time ./hg log -qr "first(removes(README))" 2379:e90cff87f871 real 0m0.975s user 0m0.797s sys 0m0.056s
Thu, 30 Jan 2014 17:46:08 -0800 revset: added lazyset implementation to public revset
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 30 Jan 2014 17:46:08 -0800] rev 20456
revset: added lazyset implementation to public revset Performance Benchmarking: $ time hg log -qr "first(public())" ... real 0m1.184s user 0m1.051s sys 0m0.130s $ time ./hg log -qr "first(public())" ... real 0m0.548s user 0m0.427s sys 0m0.118s
Wed, 12 Feb 2014 01:00:51 +0100 color: add debugcolor command (issue4094)
Olle Lundberg <geek@nerd.sh> [Wed, 12 Feb 2014 01:00:51 +0100] rev 20455
color: add debugcolor command (issue4094) This patch adds a debugcolor command that prints all colors that the extension knows about.
Thu, 30 Jan 2014 16:47:29 -0800 revset: added lazyset implementation to merge revset
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 30 Jan 2014 16:47:29 -0800] rev 20454
revset: added lazyset implementation to merge revset Performance benchmarking: $ time hg log -qr "first(merge())" 102:58039eddbdda real 0m0.276s user 0m0.208s sys 0m0.047s $ time ./hg log -qr "first(merge())" 102:58039eddbdda real 0m0.192s user 0m0.154s sys 0m0.027s
Thu, 30 Jan 2014 16:03:18 -0800 revset: added lazyset implementation to grep revset
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 30 Jan 2014 16:03:18 -0800] rev 20453
revset: added lazyset implementation to grep revset Performance benchmarking: $ time hg log -qr "first(grep(hg))" 0:9117c6561b0b real 0m2.214s user 0m2.163s sys 0m0.045s $ time ./hg log -qr "first(grep(hg))" 0:9117c6561b0b real 0m0.211s user 0m0.146s sys 0m0.035s
Thu, 30 Jan 2014 15:39:56 -0800 revset: added lazyset implementation to desc revset
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 30 Jan 2014 15:39:56 -0800] rev 20452
revset: added lazyset implementation to desc revset Performance benchmarking: $ time hg log -qr "first(desc(hg))" changeset: 0:9117c6561b0b real 0m2.210s user 0m2.158s sys 0m0.049s $ time ./hg log -qr "first(desc(hg))" changeset: 0:9117c6561b0b real 0m0.171s user 0m0.131s sys 0m0.035s
Mon, 03 Feb 2014 16:15:25 -0800 revset: added lazyset implementation to draft revset
Lucas Moscovicz <lmoscovicz@fb.com> [Mon, 03 Feb 2014 16:15:25 -0800] rev 20451
revset: added lazyset implementation to draft revset
Wed, 29 Jan 2014 15:23:16 -0800 revset: added lazyset implementation bookmark revset
Lucas Moscovicz <lmoscovicz@fb.com> [Wed, 29 Jan 2014 15:23:16 -0800] rev 20450
revset: added lazyset implementation bookmark revset
Mon, 03 Feb 2014 16:02:48 -0800 revset: added lazyset implementation to date revset
Lucas Moscovicz <lmoscovicz@fb.com> [Mon, 03 Feb 2014 16:02:48 -0800] rev 20449
revset: added lazyset implementation to date revset Performance Benchmarking: $ time hg log -qr "first(date(05/03/2005))" 0:9117c6561b0b real 0m3.157s user 0m2.994s sys 0m0.087s $ time ./hg log -qr "first(date(05/03/2005))" 0:9117c6561b0b real 0m0.509s user 0m0.289s sys 0m0.070s
Wed, 29 Jan 2014 09:22:31 -0800 revset: added lazyset implementation to author revset
Lucas Moscovicz <lmoscovicz@fb.com> [Wed, 29 Jan 2014 09:22:31 -0800] rev 20448
revset: added lazyset implementation to author revset Performance benchmarking: $ time hg log -qr "first(author(mpm))" 0:9117c6561b0b real 0m3.486s user 0m3.317s sys 0m0.077s $ time ./hg log -qr "first(author(mpm))" 0:9117c6561b0b real 0m0.551s user 0m0.295s sys 0m0.072s
Wed, 29 Jan 2014 09:04:03 -0800 revset: added lazyset implementation to keyword revset
Lucas Moscovicz <lmoscovicz@fb.com> [Wed, 29 Jan 2014 09:04:03 -0800] rev 20447
revset: added lazyset implementation to keyword revset Performance benchmarking: $ time hg log -qr "first(keyword(changeset))" 0:9117c6561b0b real 0m3.466s user 0m3.345s sys 0m0.072s $ time ./hg log -qr "first(keyword(changeset))" 0:9117c6561b0b real 0m0.365s user 0m0.199s sys 0m0.083s
Tue, 28 Jan 2014 16:19:30 -0800 revset: changed limit revset implementation to work with lazy revsets
Lucas Moscovicz <lmoscovicz@fb.com> [Tue, 28 Jan 2014 16:19:30 -0800] rev 20446
revset: changed limit revset implementation to work with lazy revsets Performance benchmarking: $ time hg log -qr "first(branch(default))" 0:9117c6561b0b real 0m3.130s user 0m3.025s sys 0m0.074s $ time ./hg log -qr "first(branch(default))" 0:9117c6561b0b real 0m0.300s user 0m0.198s sys 0m0.069s
Wed, 05 Feb 2014 16:12:03 -0800 revset: added lazyset implementation to branch revset
Lucas Moscovicz <lmoscovicz@fb.com> [Wed, 05 Feb 2014 16:12:03 -0800] rev 20445
revset: added lazyset implementation to branch revset Performance Benchmarking: $ time hg log -l1 -qr "branch(default)" 0:9117c6561b0b real 0m3.366s user 0m3.217s sys 0m0.095s $ time ./hg log -l1 -qr "branch(default)" 0:9117c6561b0b real 0m0.389s user 0m0.199s sys 0m0.061s
Tue, 11 Feb 2014 01:15:07 +0100 run-tests: fix typo and print out failing line
Simon Heimberg <simohe@besonet.ch> [Tue, 11 Feb 2014 01:15:07 +0100] rev 20444
run-tests: fix typo and print out failing line Instead of stripping the newline and printing the line, only the newline was printed. The output on buildbot will make more sense now.
Tue, 28 Jan 2014 15:19:14 -0800 revset: changed getset so that it can return a lazyset
Lucas Moscovicz <lmoscovicz@fb.com> [Tue, 28 Jan 2014 15:19:14 -0800] rev 20443
revset: changed getset so that it can return a lazyset Not converting it manually to a baseset anymore. At this point every revset method should return a baseset typed structure.
Tue, 11 Feb 2014 09:00:38 -0800 hgext: updated extensions to return a baseset when adding symbols
Lucas Moscovicz <lmoscovicz@fb.com> [Tue, 11 Feb 2014 09:00:38 -0800] rev 20442
hgext: updated extensions to return a baseset when adding symbols
Thu, 30 Jan 2014 20:22:43 -0800 push: move phases synchronisation function in its own function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 20:22:43 -0800] rev 20441
push: move phases synchronisation function in its own function Now that every necessary information is held in the `pushoperation` object, we can finally extract the phase synchronisation phase to it's own function. This is the first concrete block of code we extract from the huge push function. Hooray! This changeset is pure code movement only.
Thu, 30 Jan 2014 20:18:26 -0800 push: move outgoing object in the push object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 20:18:26 -0800] rev 20440
push: move outgoing object in the push object The set of outgoing and common changeset are used by phases to compute the new common set between local and remote. So we need to move it into the object to extract the phase sync from the god function. Note that this information will be used by obsolescence markers too.
Thu, 30 Jan 2014 19:43:28 -0800 push: move push return value in the push object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 19:43:28 -0800] rev 20439
push: move push return value in the push object The return code convey information about the success of changeset push. This is used by phases to compute the new common set between local and remote. So we need to move it into the object to extract the phase sync from the god function. Note that this information will be used by obsolescence markers too.
Thu, 30 Jan 2014 20:10:59 -0800 push: move local phase move in a normal function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 20:10:59 -0800] rev 20438
push: move local phase move in a normal function We now have the modularity for simpler approach `localphasemove`.
Thu, 30 Jan 2014 20:09:21 -0800 push: explicitly feed pushop to localphasemove
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 20:09:21 -0800] rev 20437
push: explicitly feed pushop to localphasemove Now that pushop is holding all the push related data, we do not really need a closure anymore. So we start feeding the object to `localphasemove` and will make it a normal function in the next commit.
Thu, 30 Jan 2014 20:00:34 -0800 push: move local lock logic in pushoperation
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 20:00:34 -0800] rev 20436
push: move local lock logic in pushoperation During push, we try to lock the local repo to move local phase according to what we saw/pushed on the remote repo. Locking the repo may fail, in that case we let the push proceed without local phase movement (printing warning). This mean we have code in phase synchronisation that will check if the local repo is locked or not. we need to move this information in the push object to be able to extract the phase synchronisation in its own function. This is done as a boolean because putting reference to the actual lock outside of the main function sounded a bad idea.
Thu, 30 Jan 2014 19:55:09 -0800 push: move obsolescence related message into _pushobsolescence function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 19:55:09 -0800] rev 20435
push: move obsolescence related message into _pushobsolescence function No good reason to have them in the main fonction.
Thu, 30 Jan 2014 19:51:21 -0800 push: drop now outdated comment
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 19:51:21 -0800] rev 20434
push: drop now outdated comment This `_pushobsolete` now exist for modularity purpose.
Thu, 30 Jan 2014 17:56:09 -0800 push: feed pushoperation object to _pushobsolete function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 17:56:09 -0800] rev 20433
push: feed pushoperation object to _pushobsolete function This will allow the obsolete marker synchronisation to have full information on the ongoing push and pass information to other operation.
Thu, 30 Jan 2014 17:54:47 -0800 push: move obsolescence marker exchange in the exchange module
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 17:54:47 -0800] rev 20432
push: move obsolescence marker exchange in the exchange module The obsolescence marker exchange code was already extracted during a previous cycle. We are moving the extracted functio in this module. This function will read and write data in the `pushoperation` object and I prefer 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:51:41 -0800 push: feed pushoperation object to _pushbookmark function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 17:51:41 -0800] rev 20431
push: feed pushoperation object to _pushbookmark function This will able the bookmark synchronisation to have full information on the ongoing push and pass information to other operation.
Mon, 10 Feb 2014 17:31:26 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 10 Feb 2014 17:31:26 -0600] rev 20430
merge with stable
Thu, 06 Feb 2014 14:29:37 -0800 revset: added operations to duck type baseset
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 06 Feb 2014 14:29:37 -0800] rev 20429
revset: added operations to duck type baseset Added more operations which are not lazy but only used so far to duck type baseset. Their implementations will be changed in future patches.
Thu, 06 Feb 2014 14:25:37 -0800 revset: added basic operations to lazyset
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 06 Feb 2014 14:25:37 -0800] rev 20428
revset: added basic operations to lazyset Added methods __add__, __sub__ and __and__ to duck type more methods in baseset
Thu, 06 Feb 2014 14:19:40 -0800 revset: added lazyset class with basic operations
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 06 Feb 2014 14:19:40 -0800] rev 20427
revset: added lazyset class with basic operations This class allows us to return values from large revsets as soon as they are computed instead of having to wait for the entire revset to be calculated.
Sun, 09 Feb 2014 00:26:01 +0100 tests: test that the pid returned by `hg serve` looks reasonable
Simon Heimberg <simohe@besonet.ch> [Sun, 09 Feb 2014 00:26:01 +0100] rev 20426
tests: test that the pid returned by `hg serve` looks reasonable This failed on windows before win32.spawndetached has been fixed. The process name was "cmd.exe" and not "hg.exe" or "python.exe".
(0) -10000 -3000 -1000 -120 +120 +1000 +3000 +10000 +30000 tip