Sat, 09 Feb 2013 15:51:32 -0800 worker: allow a function to be run in multiple worker processes
Bryan O'Sullivan <bryano@fb.com> [Sat, 09 Feb 2013 15:51:32 -0800] rev 18638
worker: allow a function to be run in multiple worker processes If we estimate that it will be worth the cost, we run the function in multiple processes. Otherwise, we run it in-process. Children report progress to the parent through a pipe. Not yet implemented on Windows.
Sat, 09 Feb 2013 15:51:32 -0800 worker: partition a list (of tasks) into equal-sized chunks
Bryan O'Sullivan <bryano@fb.com> [Sat, 09 Feb 2013 15:51:32 -0800] rev 18637
worker: partition a list (of tasks) into equal-sized chunks
Sat, 09 Feb 2013 15:51:26 -0800 worker: estimate whether it's worth running a task in parallel
Bryan O'Sullivan <bryano@fb.com> [Sat, 09 Feb 2013 15:51:26 -0800] rev 18636
worker: estimate whether it's worth running a task in parallel Not implemented for Windows yet.
Sat, 09 Feb 2013 15:22:12 -0800 worker: count the number of CPUs
Bryan O'Sullivan <bryano@fb.com> [Sat, 09 Feb 2013 15:22:12 -0800] rev 18635
worker: count the number of CPUs This works on the major platforms, and falls back to a safe guess of 1 elsewhere.
Sat, 09 Feb 2013 15:22:10 -0800 tests: getremove test output changes (fold into previous patch)
Bryan O'Sullivan <bryano@fb.com> [Sat, 09 Feb 2013 15:22:10 -0800] rev 18634
tests: getremove test output changes (fold into previous patch)
Sat, 09 Feb 2013 15:22:09 -0800 merge: report non-interactive progress in chunks
Bryan O'Sullivan <bryano@fb.com> [Sat, 09 Feb 2013 15:22:09 -0800] rev 18633
merge: report non-interactive progress in chunks Instead of a monotonic count, getupdates yields the number of files it has updated since it last reported, and its caller sums the numbers when updating progress. Once we run these updates in parallel, this will allow worker processes to report progress less often, reducing overhead.
Sat, 09 Feb 2013 15:22:08 -0800 merge: handle subrepo merges and .hgsubstate specially
Bryan O'Sullivan <bryano@fb.com> [Sat, 09 Feb 2013 15:22:08 -0800] rev 18632
merge: handle subrepo merges and .hgsubstate specially In an upcoming patch, we will update .hgsubstate in a non-interactive worker process. Merges of subrepo contents will still need to occur in the master process (since they may be interactive), so we move that code into a place where it will always run in what will become the master process.
Sat, 09 Feb 2013 15:22:04 -0800 tests: update test output (will be folded into parent)
Bryan O'Sullivan <bryano@fb.com> [Sat, 09 Feb 2013 15:22:04 -0800] rev 18631
tests: update test output (will be folded into parent)
Sat, 09 Feb 2013 15:21:58 -0800 merge: split out mostly-non-interactive working dir updates
Bryan O'Sullivan <bryano@fb.com> [Sat, 09 Feb 2013 15:21:58 -0800] rev 18630
merge: split out mostly-non-interactive working dir updates In a later patch, we'll run these updates in parallel.
Sat, 09 Feb 2013 11:00:42 +0100 extensions: obsolete and remove interhg extension
Angel Ezquerra <angel.ezquerra@gmail.com> [Sat, 09 Feb 2013 11:00:42 +0100] rev 18629
extensions: obsolete and remove interhg extension With the addition of the websub filter extension this extension is no longer needed. We maintain a sort of backwards compatibility by reading the [interhg] section and using it as we would use the [websub] section.
Sat, 09 Feb 2013 16:48:21 +0100 hgweb: apply the websub filter to revision descriptions
Angel Ezquerra <angel.ezquerra@gmail.com> [Sat, 09 Feb 2013 16:48:21 +0100] rev 18628
hgweb: apply the websub filter to revision descriptions In order to use this, add a [websub] section to your configuration and add websub expressions such as: italic = s/\b_(\S+)_\b/<i>\1<\/i>/ bold = s/\*\b(\S+)\b\*/<b>\1<\/b>/ issues = s|issue(\d+)|<a href="http://bts.example.org/issue\1">issue\1</a>|i bugzilla = s!((?:bug|b=|(?=#?\d{4,}))(?:\s*#?)(\d+))!<a href="http://bz.selenic.com/\2">\1</a>!i This also adds documentation (proofed by Kevin!) to the config help section.
Fri, 08 Feb 2013 18:05:32 +0100 hgweb: add websub template filter
Angel Ezquerra <angel.ezquerra@gmail.com> [Fri, 08 Feb 2013 18:05:32 +0100] rev 18627
hgweb: add websub template filter The purpose of this new filter is to make it possible to partially replace the functionality of the interhg extension. The idea is to be able to define regular expression based substitutions on a new "websub" config section. hgweb will then be able to apply these substitutions wherever the "websub" filter is used on a template. This first revision just adds the code necessary to load the websub expressions and adds the websub filter, but it does not add any calls to the websub filter itself on any of the templates. That will be done on the following revisions.
Tue, 05 Feb 2013 14:36:19 -0800 addremove: don't audit the path for paths already in the dirstate
Durham Goode <durham@fb.com> [Tue, 05 Feb 2013 14:36:19 -0800] rev 18626
addremove: don't audit the path for paths already in the dirstate Now that dirstate.walk returns None for paths under symlink directories, addremove doesn't need to validate each path it sees to look for files under symlinks. On a large repository this brings addremove from 6.3 seconds down to 3.65 (42%) since addremove no longer has to stat every directory of every file to determine if the file is inside a symlink directory. I put it through our benchmark and see no perf hit to any other commands.
Mon, 04 Feb 2013 14:27:15 -0800 dirstate: walk returns None for files that have a symlink in their path
Durham Goode <durham@fb.com> [Mon, 04 Feb 2013 14:27:15 -0800] rev 18625
dirstate: walk returns None for files that have a symlink in their path Previously dirstate.walk would return a stat object for files in the dmap that have a symlink to a directory in their path. Now it will return None to indicate that they are no longer considered part of the repository. This currently only affects walks that traverse the entire directory tree (ex: hg status) and not walks that only list the contents of the dmap (ex: hg diff). In a situation like this: mkdir foo && touch foo/a && hg commit -Am "a" mv foo bar ln -s bar foo 'hg status' will now show '! foo/a', whereas before it incorrectly considered 'foo/a' to be unchanged. In addition to making 'hg status' report the correct information, this will allow callers to dirstate.walk to not have to detect symlinks themselves, which can be very expensive.
Tue, 05 Feb 2013 14:24:14 -0800 pathauditor: add check() method
Durham Goode <durham@fb.com> [Tue, 05 Feb 2013 14:24:14 -0800] rev 18624
pathauditor: add check() method The pathauditor currently throws exceptions when it encounters an invalid path. This change adds a method to allow people to treat it as a boolean. This is currently used by scmutil.addremove and in a subsequent patch it will be used by dirstate.walk
Sat, 09 Feb 2013 22:54:34 +0000 summary: add missing space for updated active bookmark display
Matt Mackall <mpm@selenic.com> [Sat, 09 Feb 2013 22:54:34 +0000] rev 18623
summary: add missing space for updated active bookmark display
Fri, 08 Feb 2013 21:47:22 +0000 summary: show active bookmark even if not at current changeset
Kevin Bullock <kbullock@ringworld.org> [Fri, 08 Feb 2013 21:47:22 +0000] rev 18622
summary: show active bookmark even if not at current changeset Before this change, 'hg summary' would not show the active bookmark unless it pointed to the working directory parent. After this change, it will show it in parentheses, like so: parent: 18581:f0ff45fe6700 tip summary: simplify handling of active bookmark branch: default bookmarks: [crew] commit: (clean) update: (current)
Sun, 27 Jan 2013 11:53:46 -0600 summary: simplify handling of active bookmark
Kevin Bullock <kbullock@ringworld.org> [Sun, 27 Jan 2013 11:53:46 -0600] rev 18621
summary: simplify handling of active bookmark
Fri, 08 Feb 2013 21:32:43 +0000 summary: test that current bookmark isn't shown
Kevin Bullock <kbullock@ringworld.org> [Fri, 08 Feb 2013 21:32:43 +0000] rev 18620
summary: test that current bookmark isn't shown This exposes the current behavior in a test. A later change will make summary show when the active bookmark has moved out from under us.
Sat, 09 Feb 2013 22:27:13 +0000 merge crew heads
Kevin Bullock <kbullock@ringworld.org> [Sat, 09 Feb 2013 22:27:13 +0000] rev 18619
merge crew heads
Sat, 09 Feb 2013 22:25:58 +0000 merge with stable
Kevin Bullock <kbullock@ringworld.org> [Sat, 09 Feb 2013 22:25:58 +0000] rev 18618
merge with stable
Sat, 09 Feb 2013 17:54:01 +0000 outgoing: fix possible filtering crash in outgoing (issue3814) stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 09 Feb 2013 17:54:01 +0000] rev 18617
outgoing: fix possible filtering crash in outgoing (issue3814) If there is no outgoiing changesets but we have filtered revision in outgoing.excluded We run into a filtering related crash. The excluded revision should not be there in the first place but discovery need cleanup in default, not stable.
Wed, 30 Jan 2013 01:24:04 +0100 test: display used python hash seed
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 30 Jan 2013 01:24:04 +0100] rev 18616
test: display used python hash seed We keep using a random seed for each run, but we "compute" it ourself to be able to reproduce a failed test run.
Sat, 09 Feb 2013 17:54:01 +0000 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 09 Feb 2013 17:54:01 +0000] rev 18615
outgoing: fix possible filtering crash in outgoing (issue3814) If there is no outgoiing changesets but we have filtered revision in outgoing.excluded We run into a filtering related crash. The excluded revision should not be there in the first place but discovery need cleanup in default, not stable.
Sat, 09 Feb 2013 15:39:22 -0600 parsedate: understand "now" as a shortcut for the current time
Augie Fackler <raf@durin42.com> [Sat, 09 Feb 2013 15:39:22 -0600] rev 18614
parsedate: understand "now" as a shortcut for the current time
Sat, 09 Feb 2013 15:38:57 -0600 export: clobber files with -o (bc) (issue3652)
Augie Fackler <raf@durin42.com> [Sat, 09 Feb 2013 15:38:57 -0600] rev 18613
export: clobber files with -o (bc) (issue3652) This violated user expectation. Updated the code to clobber files, but preserve the behavior of appending multiple patches requested in a single export. Includes tests.
Sat, 09 Feb 2013 21:24:36 +0000 merge: don't call copies.mergecopies unless we need to
Bryan O'Sullivan <bryano@fb.com> [Sat, 09 Feb 2013 21:24:36 +0000] rev 18612
merge: don't call copies.mergecopies unless we need to This reduces the amount of time we spend calculating when doing a clean non-merge update. In a large repo, the time dropped from 10.1 seconds to 3.4.
Sat, 09 Feb 2013 21:24:24 +0000 merge: rename p1 to wctx in manifestmerge
Bryan O'Sullivan <bryano@fb.com> [Sat, 09 Feb 2013 21:24:24 +0000] rev 18611
merge: rename p1 to wctx in manifestmerge This is always a workingctx, and this name is more in line with other functions in this module.
Sat, 09 Feb 2013 16:02:01 +0000 largefiles: fix test and check code
Na'Tosha Bard <natosha@unity3d.com> [Sat, 09 Feb 2013 16:02:01 +0000] rev 18610
largefiles: fix test and check code
Sat, 03 Aug 2013 16:40:13 +0200 histedit: always abort with same message when working dir is wrong.
Simon Heimberg <simohe@besonet.ch> [Sat, 03 Aug 2013 16:40:13 +0200] rev 18609
histedit: always abort with same message when working dir is wrong. Using only one message makes live easier for translators. The clearer error message was supposed by Augie Fackler.
(0) -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 +30000 tip