Mon, 04 Feb 2013 14:06:20 -0800 addremove: don't call lexists, isdir, and islink
Durham Goode <durham@fb.com> [Mon, 04 Feb 2013 14:06:20 -0800] rev 18559
addremove: don't call lexists, isdir, and islink The dirstate walk results contain the stat information for each path, so we don't need to query it again. On a large repo this makes addremove go from 8.35 seconds to 7.1 (15%).
Mon, 04 Feb 2013 14:01:40 -0800 addremove: only query dirstate once per path
Durham Goode <durham@fb.com> [Mon, 04 Feb 2013 14:01:40 -0800] rev 18558
addremove: only query dirstate once per path Previously the addremove code queried the dirstate 4 times per path. Now it only does so once. On a large repo this brings addremove from 9.5 seconds to 8.35 seconds (12%).
Mon, 04 Feb 2013 23:48:34 +0100 tests: fix windows test failure with largefiles
Mads Kiilerich <madski@unity3d.com> [Mon, 04 Feb 2013 23:48:34 +0100] rev 18557
tests: fix windows test failure with largefiles
Mon, 04 Feb 2013 23:53:37 +0100 merge with stable
Mads Kiilerich <madski@unity3d.com> [Mon, 04 Feb 2013 23:53:37 +0100] rev 18556
merge with stable
Mon, 04 Feb 2013 23:41:11 +0100 tests: fix windows test failure in test-subrepo.t stable
Mads Kiilerich <madski@unity3d.com> [Mon, 04 Feb 2013 23:41:11 +0100] rev 18555
tests: fix windows test failure in test-subrepo.t
Mon, 04 Feb 2013 16:39:02 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 04 Feb 2013 16:39:02 -0600] rev 18554
merge with stable
Mon, 04 Feb 2013 23:26:44 +0100 largefiles: don't crash when trying to find default dest for url without path stable
Mads Kiilerich <madski@unity3d.com> [Mon, 04 Feb 2013 23:26:44 +0100] rev 18553
largefiles: don't crash when trying to find default dest for url without path b32e55e6c3c7 introduced a crash when cloning a url without path - where util.url().path would be None. This None will now be handled as ''. clone will thus abort with 'repository / not found' as before.
Mon, 04 Feb 2013 23:25:25 +0100 hgweb.cgi: fix internal WSGI emulation (issue3804) stable
Mads Kiilerich <madski@unity3d.com> [Mon, 04 Feb 2013 23:25:25 +0100] rev 18552
hgweb.cgi: fix internal WSGI emulation (issue3804) The internal WSGI emulation in wsgicgi.py was not fully WSGI compliant and assumed that all responses sent a body. With 3fbdbeab38cc that caused a real bug when using hgweb.cgi. wsgicgi.py will now make sure headers always are sent, using the pattern from PEP 333 and similar to how it is done in c007e5c54b16.
Sat, 02 Feb 2013 16:15:22 -0600 bdiff: simplify overflow checks
Matt Mackall <mpm@selenic.com> [Sat, 02 Feb 2013 16:15:22 -0600] rev 18551
bdiff: simplify overflow checks Rather than check that each delta start, end, and length is within 32 bits, we simply check that the input strings are under 4GB.
Mon, 04 Feb 2013 11:42:10 -0800 Merge crew-stable into crew
Bryan O'Sullivan <bryano@fb.com> [Mon, 04 Feb 2013 11:42:10 -0800] rev 18550
Merge crew-stable into crew
Sun, 03 Feb 2013 14:26:39 -0800 rebase: derive node from target rev (issue3802) stable
Siddharth Agarwal <sid0@fb.com> [Sun, 03 Feb 2013 14:26:39 -0800] rev 18549
rebase: derive node from target rev (issue3802) dest.rev() is the same as target when a new rebase is run, but dest isn't set when rebase --continue is run. Bug introduced in 2a1fac3650a5, which fixed issue3685.
Mon, 04 Feb 2013 02:46:53 +0100 profiling: introduce limit configuration option
Mads Kiilerich <madski@unity3d.com> [Mon, 04 Feb 2013 02:46:53 +0100] rev 18548
profiling: introduce limit configuration option The number of output lines was hardcoded to 30. There was a 'nested' configuration options that controlled something else related to counting the number of output lines. This introduces the profiling.limit configuration option for controlling the number of profiling output to show.
Thu, 24 Jan 2013 23:57:44 +0100 largefiles: make verify --lfa and --lfc work without --large
Mads Kiilerich <madski@unity3d.com> [Thu, 24 Jan 2013 23:57:44 +0100] rev 18547
largefiles: make verify --lfa and --lfc work without --large The slightly obscure --lfa and --lfc only worked as modifiers to --large and could be combined. The documentation was however not clear what they did. Instead they now imply --large and the description is updated.
Mon, 04 Feb 2013 02:46:53 +0100 largefiles: verify status should be written as status, not as write
Mads Kiilerich <madski@unity3d.com> [Mon, 04 Feb 2013 02:46:53 +0100] rev 18546
largefiles: verify status should be written as status, not as write Make 'hg verify --large -q' quiet when no errors.
Mon, 04 Feb 2013 02:46:53 +0100 largefiles: report localstore errors with single line warnings messages
Mads Kiilerich <madski@unity3d.com> [Mon, 04 Feb 2013 02:46:53 +0100] rev 18545
largefiles: report localstore errors with single line warnings messages The actual hash is also not relevant to report. This makes verify output with multiple failures easier to process.
Mon, 04 Feb 2013 02:46:53 +0100 merge: inline act()
Mads Kiilerich <madski@unity3d.com> [Mon, 04 Feb 2013 02:46:53 +0100] rev 18544
merge: inline act() The act function had become very trivial and mainly shuffled arguments around and made it harder to see what really was going on.
Mon, 04 Feb 2013 02:46:53 +0100 merge: don't indent "local changed %s which remote deleted" prompt
Mads Kiilerich <madski@unity3d.com> [Mon, 04 Feb 2013 02:46:53 +0100] rev 18543
merge: don't indent "local changed %s which remote deleted" prompt It was usually not shown in a context where indentation helped readability and it was inconsistent with other prompts.
Mon, 04 Feb 2013 02:46:38 +0100 merge: backout manifest sorting and workarounds for cost of it
Mads Kiilerich <madski@unity3d.com> [Mon, 04 Feb 2013 02:46:38 +0100] rev 18542
merge: backout manifest sorting and workarounds for cost of it Backout 8a811fa9a9c0 and 760c0d67ce5e which no longer are needed.
Thu, 24 Jan 2013 23:57:44 +0100 merge: delay debug messages for merge actions
Mads Kiilerich <madski@unity3d.com> [Thu, 24 Jan 2013 23:57:44 +0100] rev 18541
merge: delay debug messages for merge actions Show messages at a point where the actions have been sorted, thus preparing for backout of 760c0d67ce5e. This makes manifestmerge more of a silent operation, just like 'copies' is. Indent 'preserving' messages to make them subordinate to the action logging so they fit in the new context. (The 'preserving' messages are quite redundant and could also be removed completely.)
Thu, 24 Jan 2013 23:57:44 +0100 merge: make all action tuples have the same length - keep args as tuple
Mads Kiilerich <madski@unity3d.com> [Thu, 24 Jan 2013 23:57:44 +0100] rev 18540
merge: make all action tuples have the same length - keep args as tuple
Thu, 24 Jan 2013 23:57:44 +0100 merge: delay prompts a bit and show them in (extra) sorted order
Mads Kiilerich <madski@unity3d.com> [Thu, 24 Jan 2013 23:57:44 +0100] rev 18539
merge: delay prompts a bit and show them in (extra) sorted order Preparing for backout of 760c0d67ce5e. The number of prompts will for all relevant cases be significantly smaller than the total number of files in the manifests. We can thus afford to sort the prompts more than we can afford to sort the manifests.
Sat, 02 Feb 2013 15:37:17 -0200 commit: show active bookmark in commit editor helper text
Antonio Zanardo <zanardo@gmail.com> [Sat, 02 Feb 2013 15:37:17 -0200] rev 18538
commit: show active bookmark in commit editor helper text If there is an active bookmark while committing, the bookmark name will be visible inside the commit message helper, below the branch name. This should make easier for the user to detect a mistaken commit parent, while working for example with a bookmark centric workflow like topic branches. The active bookmark is checked to be in the working directory, as pointed by Kevin Bullock, because otherwise committing would not advance it. In other words, this would not show the active bookmark name if the user changed the working tree parents with 'hg debugsetparents', for example.
Wed, 23 Jan 2013 09:51:45 -0800 dates: support 'today' and 'yesterday' in parsedate (issue3764)
Paul Cavallaro <ptc@fb.com> [Wed, 23 Jan 2013 09:51:45 -0800] rev 18537
dates: support 'today' and 'yesterday' in parsedate (issue3764) Adding support to parsedate in util module to understand the more idiomatic dates 'today' and 'yesterday'. Added unified tests and docstring tests for added functionality.
Mon, 28 Jan 2013 12:19:21 -0800 revset: change ancestor to accept 0 or more arguments (issue3750)
Paul Cavallaro <ptc@fb.com> [Mon, 28 Jan 2013 12:19:21 -0800] rev 18536
revset: change ancestor to accept 0 or more arguments (issue3750) Change ancestor to accept 0 or more arguments. The greatest common ancestor of a single changeset is that changeset. If passed no arguments, the empty list is returned.
Fri, 01 Feb 2013 15:48:33 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 01 Feb 2013 15:48:33 -0600] rev 18535
merge with stable
Fri, 01 Feb 2013 15:32:05 -0600 Added signature for changeset a6088c05e43a stable
Matt Mackall <mpm@selenic.com> [Fri, 01 Feb 2013 15:32:05 -0600] rev 18534
Added signature for changeset a6088c05e43a
Fri, 01 Feb 2013 15:31:57 -0600 Added tag 2.5 for changeset a6088c05e43a stable
Matt Mackall <mpm@selenic.com> [Fri, 01 Feb 2013 15:31:57 -0600] rev 18533
Added tag 2.5 for changeset a6088c05e43a
Fri, 01 Feb 2013 15:21:47 -0600 test-obsolete: now gets 404 for hidden change stable 2.5
Matt Mackall <mpm@selenic.com> [Fri, 01 Feb 2013 15:21:47 -0600] rev 18532
test-obsolete: now gets 404 for hidden change
Fri, 01 Feb 2013 15:23:37 -0600 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Fri, 01 Feb 2013 15:23:37 -0600] rev 18531
merge with i18n
Fri, 01 Feb 2013 17:59:56 -0200 i18n-pt_BR: added message from crew 0324a1d88a53 stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 01 Feb 2013 17:59:56 -0200] rev 18530
i18n-pt_BR: added message from crew 0324a1d88a53
Fri, 01 Feb 2013 11:01:39 -0200 i18n-pt_BR: added message from crew 9fbeb61b8ad2 stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 01 Feb 2013 11:01:39 -0200] rev 18529
i18n-pt_BR: added message from crew 9fbeb61b8ad2
Thu, 31 Jan 2013 23:01:31 +0900 i18n-ja: synchronized with 2a1fac3650a5 stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 31 Jan 2013 23:01:31 +0900] rev 18528
i18n-ja: synchronized with 2a1fac3650a5
Thu, 31 Jan 2013 09:58:36 -0200 i18n-pt_BR: synchronized with 68eecbaf1bd3 stable
Wagner Bruna <wbruna@yahoo.com> [Thu, 31 Jan 2013 09:58:36 -0200] rev 18527
i18n-pt_BR: synchronized with 68eecbaf1bd3
Fri, 01 Feb 2013 20:43:35 +0100 hgweb: urlescape all urls, HTML escape repo/tag/branch/... names stable
Thomas Arendsen Hein <thomas@intevation.de> [Fri, 01 Feb 2013 20:43:35 +0100] rev 18526
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names Without this, repository paths or names containing e.g. & characters or html tags yielded strange results, possibly allowing cross-site scripting attacks.
Fri, 01 Feb 2013 15:14:05 -0600 merge with crew stable
Matt Mackall <mpm@selenic.com> [Fri, 01 Feb 2013 15:14:05 -0600] rev 18525
merge with crew
Fri, 01 Feb 2013 10:12:41 -0600 hgweb: rename 'currentbaseline' template keyword to 'basenode' stable
Kevin Bullock <kbullock@ringworld.org> [Fri, 01 Feb 2013 10:12:41 -0600] rev 18524
hgweb: rename 'currentbaseline' template keyword to 'basenode' Shorter and clearer. This keyword represents the node we're currently diffing against.
Fri, 01 Feb 2013 09:58:25 -0600 hgweb: rename 'changesetbaseline' template to 'difffrom' stable
Kevin Bullock <kbullock@ringworld.org> [Fri, 01 Feb 2013 09:58:25 -0600] rev 18523
hgweb: rename 'changesetbaseline' template to 'difffrom' More accurately reflects what it will be used for, and is also shorter. This template is used to change which rev the current rev is diff'd against. For example, if you're at '/rev/P1:REV', this would link to a path like '/rev/P2:REV'. Example usage in a template: {parent%difffrom}
Thu, 31 Jan 2013 19:56:55 +0100 hgweb: add a `web.view` to control filtering stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 31 Jan 2013 19:56:55 +0100] rev 18522
hgweb: add a `web.view` to control filtering This options add a new `web.view` to control filter level of hgweb. This option have two purposes: 1) Allow fall back to unfiltered version in case a yet undetected by critical bug is found in filtering after 2.5 release 2) People use hgweb as a local repoviewer. When they have secret changesets, they wants to use "visible" filter not "served" (modified by mpm, documentation deferred)
Thu, 31 Jan 2013 22:30:52 +0100 hgweb: returns 404 for unknow revision instead of 500 stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 31 Jan 2013 22:30:52 +0100] rev 18521
hgweb: returns 404 for unknow revision instead of 500 I noticed that access to filtered revision returned HTTP 500 code (internal server error). Investigation shown that it was the case for unknown revision too. That wrong and we now properly return a 404 for revision not found.
Thu, 31 Jan 2013 01:44:29 +0100 subrepo: allows to drop courtesy phase sync (issue3781) stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 31 Jan 2013 01:44:29 +0100] rev 18520
subrepo: allows to drop courtesy phase sync (issue3781) Publishing server may contains draft changeset when they are created locally. As publishing is the default, it is actually fairly common. Because of this "inconsistency" phases synchronization may be done even to publishing server. This may cause severe issues for subrepo. It is possible to reference read-only repository as subrepo. Push in a super repo recursively push subrepo. Those pushes to potential read only repo are not optional, they are "suffered" not "choosed". This does not break because as the repo is untouched the push is supposed to be empty. If the reference repo locally contains draft changesets, a courtesy push is triggered to turn them public. As the repo is read only, the push fails (after possible prompt asking for credential). Failure of the sub-push aborts the whole subrepo push. This force the user to define a custom default-push for such subrepo. This changeset introduce a prevention of this error client side by skipping the courtesy phase synchronisation in problematic situation. The phases synchronisation is skipped when four conditions are gathered: - this is a subrepo push, (normal push to read-only repo) - and remote support phase - and remote is publishing - and no changesets was pushed (if we pushed changesets, repo is not read only) The internal config option used in this version is not definitive. It is here to demonstrate a working fix to the issue. In the future we probably wants to track subrepo changes and avoid pushing to untouched one. That will prevent any attempt to push to read-only or unreachable subrepo. Another fix to prevent courtesy push from older clients to push to newer server is also still needed.
Thu, 31 Jan 2013 19:13:13 +0100 tests: fix toctou race in tinyproxy.py (issue3795) stable
Mads Kiilerich <madski@unity3d.com> [Thu, 31 Jan 2013 19:13:13 +0100] rev 18519
tests: fix toctou race in tinyproxy.py (issue3795) test-http-proxy.t sometimes failed with: File ".../tests/tinyproxy.py", line 110, in _read_write data = i.recv(8192) error: (104, 'Connection reset by peer') This might have started showing up with a9fd11ffa13f ... but it has apparently also been seen before. I don't see anything in a9fd11ffa13f that can explain it. It seems to be a race in test, in the tinyproxy helper: Tinyproxy found an incoming socket using select(). It would break the loop if an error had been detected on the socket, but there was no error and it tried to recv() from the socket. That failed - apparently because it had been reset after select(). Errors in the recv() will now be caught and will break the loop like errors detected by select() would. (send() could also fail in a similar way ... but using the same solution there and losing data we have read doesn't feel right.)
Fri, 01 Feb 2013 02:01:11 +0100 rebase: mention --rev in the help stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 01 Feb 2013 02:01:11 +0100] rev 18518
rebase: mention --rev in the help This changeset adds a small mention of it in the help to prevent confusion. This small addition references online help that is easier to update and improve at release time. Following Wagner Bruna's advice, this is added in a plain new paragraph to not invalidate current translation this close to the release.
Fri, 01 Feb 2013 05:40:06 +0100 hgweb: remove baseline info from paper template stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 01 Feb 2013 05:40:06 +0100] rev 18517
hgweb: remove baseline info from paper template The user interface introduced in d605a82cf189 is not considered ready for prime time yet. The internal code stays in place for custom template usage. The feature is ultimately wanted and will be re-enabled soon. The current issue is only related to the visual of the current interface.
Thu, 31 Jan 2013 20:01:26 -0600 rebase: mention phases in the help stable
Kevin Bullock <kbullock@ringworld.org> [Thu, 31 Jan 2013 20:01:26 -0600] rev 18516
rebase: mention phases in the help Mention that Mercurial helps you not do what you've just been warned not to do, with a reference to the 'phases' help topic (not the 'phase' command help). Thanks to Pierre-Yves David <pierre-yves.david@ens-lyon.org> for motivating this change and Wagner Bruna <wagner.bruna+mercurial@gmail.com> for advising on how to do it in an i18n-friendly way.
Thu, 31 Jan 2013 22:36:22 +0100 hgwebdir: use web.prefix when creating url breadcrumbs (issue3790) stable
Angel Ezquerra <angel.ezquerra@gmail.com> [Thu, 31 Jan 2013 22:36:22 +0100] rev 18515
hgwebdir: use web.prefix when creating url breadcrumbs (issue3790) The web.prefix setting was being ignored when creating the index URL breadcrumbs. We only need to fix hgwebdir and not hgweb because hgweb gets the complete URL request, including the prefix, while hgwebdir gets a "subdir" which does not include the prefix. This fix is slightly different of what was suggested on the bug tracker. In there it was suggested to hide the prefix itself from the breadcrumb. I think that would be a better solution, but it would require changing all the index templates and passing the prefix to the template engine, which may be too big a change for stable during the freeze. For now this fixes the problem, and the fix could be improved during the next cycle.
Wed, 30 Jan 2013 16:08:32 -0800 rebase: delete divergent bookmarks on destination (issue3685) stable
Siddharth Agarwal <sid0@fb.com> [Wed, 30 Jan 2013 16:08:32 -0800] rev 18514
rebase: delete divergent bookmarks on destination (issue3685) Similar to merge, divergent bookmarks are only deleted when the bookmark is on the destination parent.
Wed, 30 Jan 2013 15:35:00 -0800 bookmarks: factor out delete divergent code stable
Siddharth Agarwal <sid0@fb.com> [Wed, 30 Jan 2013 15:35:00 -0800] rev 18513
bookmarks: factor out delete divergent code Deleting divergent bookmarks is more generally useful than just in bookmarks.update.
Wed, 30 Jan 2013 17:49:54 -0800 rebase: remove bogus nullmerge check in updatebookmarks stable
Siddharth Agarwal <sid0@fb.com> [Wed, 30 Jan 2013 17:49:54 -0800] rev 18512
rebase: remove bogus nullmerge check in updatebookmarks nstate[v] is a node, not an int, and the nullmerge check was done while building nstate anyway.
(0) -10000 -3000 -1000 -300 -100 -48 +48 +100 +300 +1000 +3000 +10000 +30000 tip