Sat, 16 May 2015 14:31:03 -0400 check-code: un-ban any() now that we're on 2.6
Augie Fackler <augie@google.com> [Sat, 16 May 2015 14:31:03 -0400] rev 25148
check-code: un-ban any() now that we're on 2.6
Sun, 17 May 2015 18:11:02 -0700 walkchangerevs: replace try/except with 'next'
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 17 May 2015 18:11:02 -0700] rev 25147
walkchangerevs: replace try/except with 'next' Again, this make the code clearer.
Sun, 17 May 2015 18:06:09 -0700 generatorset: use 'next()' to simplify the code
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 17 May 2015 18:06:09 -0700] rev 25146
generatorset: use 'next()' to simplify the code The 'next()' built-in accept a default value. This remove the needs to check if self non-empty before returning a value.
Sun, 17 May 2015 18:00:38 -0700 revset: use 'next()' to detect end of iteration in 'last'
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 17 May 2015 18:00:38 -0700] rev 25145
revset: use 'next()' to detect end of iteration in 'last' The 'next()' built-in can return a default value, allow to get rid of the confusing try/except code flow.
Sun, 17 May 2015 17:58:39 -0700 revset: use 'next()' to detect end of iteration in 'limit'
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 17 May 2015 17:58:39 -0700] rev 25144
revset: use 'next()' to detect end of iteration in 'limit' The 'next()' built-in can return a default value, allow to get rid of the confusing try/except code flow.
Sun, 17 May 2015 17:54:58 -0700 _revancestors: use 'next' to remove the verbose try except clauses
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 17 May 2015 17:54:58 -0700] rev 25143
_revancestors: use 'next' to remove the verbose try except clauses The 'next()' built-in can return a default value, making the final iteration case simpler and clearer.
Sun, 17 May 2015 17:47:42 -0700 check-code: lift the ban on 'next()'
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 17 May 2015 17:47:42 -0700] rev 25142
check-code: lift the ban on 'next()' 'next' is supported by Python2.6 the new lowest version supported by Mercurial.
Sun, 17 May 2015 17:45:47 -0700 check-code: drop the 'isdisjoint' ban
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 17 May 2015 17:45:47 -0700] rev 25141
check-code: drop the 'isdisjoint' ban 'isdisjoint' is available in Python 2.6. The new lowest supported version.
Sun, 17 May 2015 17:40:26 -0700 check-code: fix the error message about 'class foo():'
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 17 May 2015 17:40:26 -0700] rev 25140
check-code: fix the error message about 'class foo():' Using 'classs foo():' result in old style object instead of new style object. We do not want old style object so this check is unrelated to 2.4.
Sun, 17 May 2015 17:36:26 -0700 check-code: remove the check for os.path.relpath
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 17 May 2015 17:36:26 -0700] rev 25139
check-code: remove the check for os.path.relpath This is available in Python2.6 the new default supported release.
Sun, 17 May 2015 17:27:10 -0700 patch: remove duplicated import of cStringIO
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 17 May 2015 17:27:10 -0700] rev 25138
patch: remove duplicated import of cStringIO It is already imported a couple of line above.
Mon, 18 May 2015 11:36:33 -0400 check-commit: print limit when user has a too-long summary
Augie Fackler <augie@google.com> [Mon, 18 May 2015 11:36:33 -0400] rev 25137
check-commit: print limit when user has a too-long summary
Fri, 15 May 2015 20:04:24 +0800 paper: show branch/tags/bookmarks when blaming (issue3559)
Anton Shestakov <engored@ya.ru> [Fri, 15 May 2015 20:04:24 +0800] rev 25136
paper: show branch/tags/bookmarks when blaming (issue3559)
Fri, 15 May 2015 20:03:42 +0800 paper: show branch/tags/bookmarks when comparing (issue3559)
Anton Shestakov <engored@ya.ru> [Fri, 15 May 2015 20:03:42 +0800] rev 25135
paper: show branch/tags/bookmarks when comparing (issue3559)
Fri, 15 May 2015 20:02:41 +0800 paper: show branch/tags/bookmarks when diffing (issue3559)
Anton Shestakov <engored@ya.ru> [Fri, 15 May 2015 20:02:41 +0800] rev 25134
paper: show branch/tags/bookmarks when diffing (issue3559)
Fri, 15 May 2015 20:00:47 +0800 paper: show branch/tags/bookmarks when viewing (issue3559)
Anton Shestakov <engored@ya.ru> [Fri, 15 May 2015 20:00:47 +0800] rev 25133
paper: show branch/tags/bookmarks when viewing (issue3559)
Fri, 15 May 2015 18:17:36 +0800 paper: show branch/tags/bookmarks when browsing (issue3559)
Anton Shestakov <engored@ya.ru> [Fri, 15 May 2015 18:17:36 +0800] rev 25132
paper: show branch/tags/bookmarks when browsing (issue3559) Browse (or manifest) action allows browsing the directory structure at some specified revision. In gitweb and monoblue styles, the revision header already has branch/tag/bookmark information for the revision, but in paper style this header was only showing tags. This patch adds branches and bookmarks. Branch name needs to be obtained in this special way to be consistent with regular changeset page, where in paper style default branch is never shown.
Sat, 16 May 2015 21:42:09 +0900 revset: extract addset._iterordered to free function
Yuya Nishihara <yuya@tcha.org> [Sat, 16 May 2015 21:42:09 +0900] rev 25131
revset: extract addset._iterordered to free function It never uses self, so let's make it less dependent on variables.
Sat, 16 May 2015 14:05:02 +0900 revset: use fastasc/fastdesc switch consistently in addset.__iter__
Yuya Nishihara <yuya@tcha.org> [Sat, 16 May 2015 14:05:02 +0900] rev 25130
revset: use fastasc/fastdesc switch consistently in addset.__iter__
Mon, 30 Mar 2015 20:56:37 +0900 revset: drop redundant filteredset from right-hand side set of "or" operation
Yuya Nishihara <yuya@tcha.org> [Mon, 30 Mar 2015 20:56:37 +0900] rev 25129
revset: drop redundant filteredset from right-hand side set of "or" operation Since 5548f558db3d, it should no longer be necessary because the addset can remove duplicates correctly.
Sun, 10 May 2015 05:11:13 -0700 getbundle: sort bundlecaps before exchanging then over the wire
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 10 May 2015 05:11:13 -0700] rev 25128
getbundle: sort bundlecaps before exchanging then over the wire The 'bundlecaps' argument is built as a set, we need to stabilise the order before exchanging them. Otherwise, in the test, http logs are unstable when the 'bundlecaps' contains something (eg: using bundle2).
Sun, 10 May 2015 04:39:11 -0700 hg-ssh: reject push earlier (on pretxnopen)
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 10 May 2015 04:39:11 -0700] rev 25127
hg-ssh: reject push earlier (on pretxnopen) We now have a lock triggered for any transaction. We use it to ensure no-read are made in read-only mode. We need more that just "no changegroup is added", since bundle2 allows for more than just changegroup to be exchanged. We still protect pushkey as it may write data without opening a transaction.
Sun, 10 May 2015 03:06:00 -0700 test: test both bundle1 and bundle2 paths in 'test-push-hook-lock.t'
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 10 May 2015 03:06:00 -0700] rev 25126
test: test both bundle1 and bundle2 paths in 'test-push-hook-lock.t' The locking scheme is a bit different in each cases. So we explicitly test each case.
Sat, 09 May 2015 23:40:40 -0700 progress: get the extremely verbose output out of default debug
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 09 May 2015 23:40:40 -0700] rev 25125
progress: get the extremely verbose output out of default debug When the progress extension is not enabled, each call to 'ui.progress' used to issue a debug message. This results is a very verbose output and often redundant in tests. Dropping it makes tests less volatile to factor they do not meant to test. We had to alter the sed trick in 'test-rename-merge2.t'. Sed is used to drop all output from a certain point and hidding the progress output remove its anchor. So we anchor on something else.
Fri, 15 May 2015 11:52:39 +0800 hgweb: show changeset branches/tags/bookmarks in file log (style=monoblue)
Anton Shestakov <engored@ya.ru> [Fri, 15 May 2015 11:52:39 +0800] rev 25124
hgweb: show changeset branches/tags/bookmarks in file log (style=monoblue) As for the gitweb style, this line for filelogentry template is copied from shortlogentry. No change to python code is needed. Tests are unaffected.
Fri, 15 May 2015 11:42:09 +0800 hgweb: show changeset branches/tags/bookmarks in file log (style=gitweb)
Anton Shestakov <engored@ya.ru> [Fri, 15 May 2015 11:42:09 +0800] rev 25123
hgweb: show changeset branches/tags/bookmarks in file log (style=gitweb) This line for filelogentry template is copied from shortlogentry. The information is already displayed in paper style, so no change to python code is needed. Tests are unaffected.
Sat, 16 May 2015 00:36:35 -0400 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com> [Sat, 16 May 2015 00:36:35 -0400] rev 25122
match: resolve filesets in subrepos for commands given the '-S' argument This will work for any command that creates its matcher via scmutil.match(), but only the files command is tested here (both workingctx and basectx based tests). The previous behavior was to completely ignore the files in the subrepo, even though -S was given. My first attempt was to teach context.walk() to optionally recurse, but once that was in place and the complete file list was built up, the predicate test would fail with 'path in nested repo' when a file in a subrepo was accessed through the parent context. There are two slightly surprising behaviors with this functionality. First, any path provided inside the fileset isn't narrowed when it is passed to the subrepo. I dont see any clean way to do that in the matcher. Fortunately, the 'subrepo()' fileset is the only one to take a path. The second surprise is that status predicates are resolved against the subrepo, not the parent like 'hg status -S' is. I don't see any way to fix that either, given the path auditor error mentioned above.
Fri, 15 May 2015 23:13:05 -0400 subrepo: introduce getfileset()
Matt Harbison <matt_harbison@yahoo.com> [Fri, 15 May 2015 23:13:05 -0400] rev 25121
subrepo: introduce getfileset() This will be used in the next patch to help matchers resolve filesets in subrepos. The default implementation returns an empty set (for git and svn).
Fri, 15 May 2015 09:46:21 +0200 phase: default to current revision if no rev is provided (issue4666)
Gilles Moris <gilles.moris@free.fr> [Fri, 15 May 2015 09:46:21 +0200] rev 25120
phase: default to current revision if no rev is provided (issue4666)
Sun, 12 Apr 2015 23:51:06 -0700 treemanifest: add --dir option to debug{revlog,data,index}
Martin von Zweigbergk <martinvonz@google.com> [Sun, 12 Apr 2015 23:51:06 -0700] rev 25119
treemanifest: add --dir option to debug{revlog,data,index} It should be possible to debug the submanifest revlogs without having to know where they are stored (in .hg/store/meta/), so let's add a --dir option for this purpose.
Sun, 10 May 2015 06:48:08 -0700 obsolete: sort obsmarkers during exchange
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 10 May 2015 06:48:08 -0700] rev 25118
obsolete: sort obsmarkers during exchange Because bundle2 allows a more precise exchange of obsmarkers during pull, it sends them in a different order (previously unstable because of sets.) As a result, they are added to the repository in a different order. To stabilize the order and ensure tests are unchanged when moving from bundle1 to bundle2 we sort markers when exchanging them. In the long run, the obsstore will probably not use a linear storage.
Tue, 21 Apr 2015 12:01:34 +0200 test-discovery-legacy: disable bundle2 for legacy test
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 21 Apr 2015 12:01:34 +0200] rev 25117
test-discovery-legacy: disable bundle2 for legacy test We need to disable the "bundle2" capability to ensure we stay on legacy capability.
Tue, 21 Apr 2015 11:18:47 +0200 test-discovery: disable bundle2 for legacy test (issue4610)
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 21 Apr 2015 11:18:47 +0200] rev 25116
test-discovery: disable bundle2 for legacy test (issue4610) We need to disable the "bundle2" capability to ensure we stay on legacy capability.
Fri, 15 May 2015 00:25:43 -0700 revset: fix iteration over ordered addset composed of non-ordered operands
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 May 2015 00:25:43 -0700] rev 25115
revset: fix iteration over ordered addset composed of non-ordered operands Before this change, doing ordered iteration over an 'addset' object composed of operands without fastasc or fastdesc method could result in duplicated entries. This was the result of applying '_iterordered' on an unordered set. We fix it by ensuring we iterate over the set in a sorted order. Using the fast iterator when it exists on any operand. We kill the '_iterator' method in the process because it did not make a lot of sense independently. Thanks goes to Yuya Nishihara for reporting the issue and analysing the cause.
Fri, 15 May 2015 15:43:26 -0700 match: add match.ispartial()
Drew Gottlieb <drgott@google.com> [Fri, 15 May 2015 15:43:26 -0700] rev 25114
match: add match.ispartial() match.ispartial() will return the opposite of match.always() in core, but this function will be extensible by extensions to produce another result even if match.always() will be untouched. This will be useful for narrowhg, where ispartial() will return False even if the match won't always match. This would happen in the case where the only time the match function is False is when the path is outside of the narrow spec.
Sat, 16 May 2015 11:28:04 -0700 util: drop alias for collections.deque
Martin von Zweigbergk <martinvonz@google.com> [Sat, 16 May 2015 11:28:04 -0700] rev 25113
util: drop alias for collections.deque Now that util.deque is just an alias for collections.deque, let's just remove it.
Sat, 16 May 2015 09:03:21 +0200 util: kill Python 2.4 deque.remove hack
Adrian Buehlmann <adrian@cadifra.com> [Sat, 16 May 2015 09:03:21 +0200] rev 25112
util: kill Python 2.4 deque.remove hack
Thu, 14 May 2015 17:38:38 +0200 summary: add a phase line (draft, secret) to the output
Gilles Moris <gilles.moris@free.fr> [Thu, 14 May 2015 17:38:38 +0200] rev 25111
summary: add a phase line (draft, secret) to the output The number of draft and secret changesets are currently not summarized. This is an important information because the number of drafts give some rough idea of the number of outgoing changesets in typical workflows, without needing to probe a remote repository. And a non-zero number of secrets means that those changeset will not be pushed. If the repository is "dirty" - some draft or secret changesets exists - then summary will display a line like: phases: X draft, Y secret (public) The phase in parenthesis corresponds to the highest phase of the parents of the working directory, i.e. the current phase. By default, the line is not printed if the repository is "clean" - all changesets are public - but if verbose is activated, it will display: phases: (public) On the other hand, nothing will be printed if quiet is in action. A few tests have been added in test-phases.t to cover the -v and -q cases.
Fri, 15 May 2015 12:19:51 +0800 hgweb: also display changeset bookmarks in file log (style=paper)
Anton Shestakov <engored@ya.ru> [Fri, 15 May 2015 12:19:51 +0800] rev 25110
hgweb: also display changeset bookmarks in file log (style=paper) There already are branches and tags in file log, now let's add what's been missing: bookmarks. Also, since coal borrows this template from paper, this change is effective for coal as well.
Fri, 15 May 2015 13:30:34 +0800 tests: test branch/tag/bookmark display in test-hgweb-filelog.t
Anton Shestakov <engored@ya.ru> [Fri, 15 May 2015 13:30:34 +0800] rev 25109
tests: test branch/tag/bookmark display in test-hgweb-filelog.t Displaying branches, tags and bookmarks is an obviously important feature of hgweb and should be tested a bit more than not at all, so let's add a branch, a tag and a bookmark to the test. With this change it's evident that the default style (paper) doesn't show bookmarks in filelog. Future patch will fix this.
Fri, 15 May 2015 02:07:43 +0800 hgweb: split some long lines in paper, gitweb and monoblue styles
Anton Shestakov <engored@ya.ru> [Fri, 15 May 2015 02:07:43 +0800] rev 25108
hgweb: split some long lines in paper, gitweb and monoblue styles This will ease future patches for the templates. As a result of this patch, paper style has one visual change in log/shortlog/file log view: the spacing between commit message and the first tag (or branch name, or bookmark) is now roughly who spaces wide instead of one space wide. This spacing is consistent with the one between branch names/tags/bookmarks themselves, so it looks better. In gitweb style, the change from non-breakable space to regular space is consistent with other elements. In monoblue the change is not noticeable.
Wed, 13 May 2015 11:22:06 -0700 run-tests: add a --profile-runner option
Augie Fackler <augie@google.com> [Wed, 13 May 2015 11:22:06 -0700] rev 25107
run-tests: add a --profile-runner option While in the throes of a recent run-tests adventure, I found it useful to have profiler output for the testrunner itself. Adding it was simple enough and seems worth keeping around.
Fri, 15 May 2015 10:24:59 +0200 test-http: drop compatibility check on Python >= 2.4.3
Gilles Moris <gilles.moris@free.fr> [Fri, 15 May 2015 10:24:59 +0200] rev 25106
test-http: drop compatibility check on Python >= 2.4.3 This is obsolete now that Python < 2.6 is no more supported. This is thus a backout of c499fff76440.
Fri, 15 May 2015 22:38:24 +0900 revset: remove unused 'only' from methods table
Yuya Nishihara <yuya@tcha.org> [Fri, 15 May 2015 22:38:24 +0900] rev 25105
revset: remove unused 'only' from methods table The infix 'only' operator is mapped to 'only()' function by optimize(), so it won't be looked up as a method. The test shows it.
Tue, 14 Apr 2015 16:23:54 -0400 shelve: allow --patch and --stat without --list for a single shelf
Tony Tung <tonytung@fb.com> [Tue, 14 Apr 2015 16:23:54 -0400] rev 25104
shelve: allow --patch and --stat without --list for a single shelf It's annoying having to specify --list and --patch/--stat when all you really want to do is to dump a patch. This creates an explicit --patch/--stat command that is executed if --list is not specified. It ensures that 1) there is only one shelf name specified and 2) that the shelf exists. Then it redirects to the original listcmd code.
Tue, 14 Apr 2015 16:23:07 -0400 shelve: refactor allowables to specify sets of valid operations
Tony Tung <tonytung@fb.com> [Tue, 14 Apr 2015 16:23:07 -0400] rev 25103
shelve: refactor allowables to specify sets of valid operations This will allow us to have --patch and --stat as standalone operations that don't require --list, as well as pairing them with --list.
Fri, 15 May 2015 11:52:09 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 15 May 2015 11:52:09 -0500] rev 25102
merge with stable
Thu, 14 May 2015 21:35:06 -0700 rebase: check that the bookmark is still valid when restoring (issue4669) stable
Tony Tung <tonytung@fb.com> [Thu, 14 May 2015 21:35:06 -0700] rev 25101
rebase: check that the bookmark is still valid when restoring (issue4669) After a rebase --abort, we attempt to restore the previously active bookmark. We need to ensure that the bookmark still exists.
Tue, 14 Apr 2015 12:53:48 -0700 bookmarks: rename current to active in variables and comments
Ryan McElroy <rmcelroy@fb.com> [Tue, 14 Apr 2015 12:53:48 -0700] rev 25100
bookmarks: rename current to active in variables and comments Today, the terms 'active' and 'current' are interchangeably used throughout the codebase in reference to the active bookmark (the bookmark that will be updated with the next commit). This leads to confusion among developers and users. This patch is part of a series to standardize the usage to 'active' throughout the mercurial codebase and user interface.
Thu, 14 May 2015 21:34:46 -0700 rebase: remove extraneous blank at the end of file
Tony Tung <tonytung@fb.com> [Thu, 14 May 2015 21:34:46 -0700] rev 25099
rebase: remove extraneous blank at the end of file
Thu, 07 May 2015 23:40:29 -0700 run-tests: include 'start' and 'end' in --time output
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 07 May 2015 23:40:29 -0700] rev 25098
run-tests: include 'start' and 'end' in --time output This is useful information to understand what is taking time in tests. Both are included because I can see myself sorting this output using shell script. Having both data makes it much easier than extracting 'start'+'real'.
Thu, 07 May 2015 23:34:58 -0700 run-tests: track start and end time of tests
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 07 May 2015 23:34:58 -0700] rev 25097
run-tests: track start and end time of tests We currently have information about how long each test took, but we have no data about their actual scheduling. So we now track when a test started and stopped (in the referential of the whole tests run) to expose this information. The data is currently in the json only because the json output is meant to be extensible. Later changeset will includes this data in the text output and we will be happy to bikeshed its formating there. Yes, "end" is actually just "start" + "time", but computing it an including it in the output is simple, cheap and convenient.
Fri, 15 May 2015 09:07:27 -0400 templater: look for mapfiles in template paths
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Fri, 15 May 2015 09:07:27 -0400] rev 25096
templater: look for mapfiles in template paths This will allow %include statements to search the default template paths in addition to the directory where the %including file is.
Fri, 15 May 2015 09:04:32 -0400 config: give it an includepaths option for looking for config files
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Fri, 15 May 2015 09:04:32 -0400] rev 25095
config: give it an includepaths option for looking for config files It is desirable to "derive" templates from the provided templates. A simple way to do this is e.g. %include map-cmdline.default in your own mapfile. Then you only have to redefine a few templates instead of copying over the whole thing. This %include mechanism already works for the built-in templates because by default it *only* looks for files that are in the same directory as the including mapfile. With this changeset, config grows an option to add more include paths for config files.
Fri, 15 May 2015 22:32:31 +0900 revset: map postfix '%' to only() to optimize operand recursively (issue4670) stable
Yuya Nishihara <yuya@tcha.org> [Fri, 15 May 2015 22:32:31 +0900] rev 25094
revset: map postfix '%' to only() to optimize operand recursively (issue4670) Instead of keeping 'onlypost' as a method, this patch rewrites it to 'only' function. This way, 'x%' always has the same weight as 'only(x)'.
Fri, 08 May 2015 14:13:12 -0700 dirs.c: pass C string, not Python string, to _finddir()
Martin von Zweigbergk <martinvonz@google.com> [Fri, 08 May 2015 14:13:12 -0700] rev 25093
dirs.c: pass C string, not Python string, to _finddir() The callers already have the C string, and although the PyString_AS_STRING() macro is probably free, this simplifies the code.
Fri, 08 May 2015 14:11:00 -0700 dirs.c: extract 'cpath' variable in _delpath() to match _addpath()
Martin von Zweigbergk <martinvonz@google.com> [Fri, 08 May 2015 14:11:00 -0700] rev 25092
dirs.c: extract 'cpath' variable in _delpath() to match _addpath() The PyString_AS_STRING() macro is probably free, but this makes _delpath() more similar to _addpath() and simplifies the next patch.
Mon, 13 Apr 2015 23:21:02 -0700 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com> [Mon, 13 Apr 2015 23:21:02 -0700] rev 25091
treemanifest: store submanifest revlog per directory With this change, when tree manifests are enabled (in .hg/requires), commits will be written with one manifest revlog per directory. The manifest revlogs are stored in .hg/store/meta/$dir/00manifest.[id]. Flat manifests can still be read and interacted with as usual (they are also read into treemanifest instances). The functionality for writing treemanifest as a flat manifest to disk is still left in the code; tests still pass with '_treeinmem=True' hardcoded. Exchange is not yet implemented.
Fri, 15 May 2015 10:29:39 -0500 hghave: use try/except/finally
Matt Mackall <mpm@selenic.com> [Fri, 15 May 2015 10:29:39 -0500] rev 25090
hghave: use try/except/finally
Fri, 15 May 2015 10:00:46 -0500 setup: use try/except/finally
Matt Mackall <mpm@selenic.com> [Fri, 15 May 2015 10:00:46 -0500] rev 25089
setup: use try/except/finally This will raise a syntax error for people who attempt to use Py2.4, but that's already going to fail and we have no way to keep other 2.6isms from creeping in since we've removed the check-code rules and the buildbot.
(0) -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 +10000 tip