Wed, 29 Apr 2015 10:34:28 -0700 changegroup: extract condition for linkrev fastpath
Martin von Zweigbergk <martinvonz@google.com> [Wed, 29 Apr 2015 10:34:28 -0700] rev 24976
changegroup: extract condition for linkrev fastpath The condition for taking the fastpath (or not) is used in two places. By extracting it, we also provide a place to document what it's about.
Sun, 12 Apr 2015 07:14:53 -0700 lazymanifest: drop SP before some labels
Martin von Zweigbergk <martinvonz@google.com> [Sun, 12 Apr 2015 07:14:53 -0700] rev 24975
lazymanifest: drop SP before some labels These seem to be the only occurrences in our code base, so let's make it consistent.
Sun, 12 Apr 2015 07:12:39 -0700 lazymanifest: avoid 'bail' label when used on success path
Martin von Zweigbergk <martinvonz@google.com> [Sun, 12 Apr 2015 07:12:39 -0700] rev 24974
lazymanifest: avoid 'bail' label when used on success path 3d485727e45e (lazymanifest: extract function for iterating to next line, 2015-03-11) introduced a large memory leak because I stopped running the 'bail' block in the successful case. Let's rename 'bail' to 'done', since it has to run not only in the error case.
Wed, 06 May 2015 13:15:39 -0400 dockerdeb: rules to build a debian package using docker
Augie Fackler <augie@google.com> [Wed, 06 May 2015 13:15:39 -0400] rev 24973
dockerdeb: rules to build a debian package using docker Currently only supports jessie (current stable), but other version should be trivial.
Thu, 07 May 2015 10:28:58 -0400 packaging: extract packagelib for common code from builddeb and buildrpm
Augie Fackler <augie@google.com> [Thu, 07 May 2015 10:28:58 -0400] rev 24972
packaging: extract packagelib for common code from builddeb and buildrpm
Wed, 06 May 2015 13:13:54 -0400 builddeb: new script for building a deb package
Augie Fackler <augie@google.com> [Wed, 06 May 2015 13:13:54 -0400] rev 24971
builddeb: new script for building a deb package Future work will allow us to use docker to build debs. Right now this doesn't install any config files. I plan to do that as a followup, but getting something basic and working checked in seems like more of a priority than getting everything done in one big step. This also does not create a source deb yet. I haven't looked into that process. Note that this declares incompatibility with the `mercurial-common` package. It's typical for debian packages to be split between architecture-independent bits and native bits, meaning the python bits downstream live in mercurial-common and the c extension bits live in mercurial. We don't do that because we want to (ideally) give users a single deb file to install.
Wed, 06 May 2015 14:36:17 -0400 dockerlib: fix initcontainer for boot2docker users
Augie Fackler <augie@google.com> [Wed, 06 May 2015 14:36:17 -0400] rev 24970
dockerlib: fix initcontainer for boot2docker users This allows me to build rpm packages using boot2docker on my Mac. It's probably a very fragile hack, but it seems to work well enough for now that I felt it was worth sharing.
Wed, 06 May 2015 10:45:51 -0400 dockerlib: extract initcontainer() method
Augie Fackler <augie@google.com> [Wed, 06 May 2015 10:45:51 -0400] rev 24969
dockerlib: extract initcontainer() method This helps contain all the logic around creating containers.
Wed, 06 May 2015 10:45:07 -0400 dockerlib: start extracting common functions for setting up docker
Augie Fackler <augie@google.com> [Wed, 06 May 2015 10:45:07 -0400] rev 24968
dockerlib: start extracting common functions for setting up docker I'm about to start interacting with docker for Debian packaging too, so it's time to centralize this so that any bugfixes I figure out apply to both codepaths.
Thu, 07 May 2015 17:14:00 -0700 run-test: ensure the test ports are available before launching test
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 07 May 2015 17:14:00 -0700] rev 24967
run-test: ensure the test ports are available before launching test I'm running into a systematic issue because there is always some port taken in the 1500-wide range of ports used by the test (3 for each test file).
Fri, 08 May 2015 18:11:26 +0900 templater: strip single backslash before quotation mark in quoted template
Yuya Nishihara <yuya@tcha.org> [Fri, 08 May 2015 18:11:26 +0900] rev 24966
templater: strip single backslash before quotation mark in quoted template db7463aa080f fixed the issue of double escapes, but it made the following template fail with syntax error because of <\">. Strictly speaking, <\"> appears to be invalid in non-string part, but we are likely to escape <"> if surrounded by quotes, and we are used to write such templates by trial and error. [templates] sl = "{tags % \"{ifeq(tag,'tip','',label('log.tag', ' {tag}'))}\"}" So, for backward compatibility between 2.8.1 and 3.4, a single backslash before quotation mark is stripped only in quoted template. We don't care for <\"> in string literal in quoted template, which never worked as expected before. template result --------- ------------------------ {\"\"} parse error "{""}" {""} -> <> "{\"\"}" {""} -> <> {"\""} {"\""} -> <"> '{"\""}' {"\""} -> <"> "{"\""}" parse error (don't care)
Thu, 07 May 2015 23:18:48 -0700 run-tests: implement Test._testMethodName
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 07 May 2015 23:18:48 -0700] rev 24965
run-tests: implement Test._testMethodName This methods is needed internally by utilities like __repr__. I do not see any harm in having it declared. Any actual attempt to use it to call a test would crash, but at least random debug print in the test runner will no longer crash. Another approach would have been to redefine the __repr__ function, but I think it a good thing to have some respect for the base class API.
Thu, 07 May 2015 16:43:58 -0700 test-subrepo-git: ignore pax_global_header when listing archive
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 07 May 2015 16:43:58 -0700] rev 24964
test-subrepo-git: ignore pax_global_header when listing archive 5115d03440f4 is adding a new tar call but forgot to filter out the pax_global_header file that some tar versions write. This is similar to what happened in 5dda6c708138.
Thu, 07 May 2015 14:57:02 -0700 test-subrepo-recursion: glob out all the date listed by unzip -l
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 07 May 2015 14:57:02 -0700] rev 24963
test-subrepo-recursion: glob out all the date listed by unzip -l This date output is unstable (01-01-1980 vs 1980-01-01). As the test is not about the modification date, we glob the data out. Caught by buildbot.
Tue, 14 Apr 2015 13:31:50 -0700 bookmarks: remove unused updatecurrentbookmark function (API)
Ryan McElroy <rmcelroy@fb.com> [Tue, 14 Apr 2015 13:31:50 -0700] rev 24962
bookmarks: remove unused updatecurrentbookmark function (API) This function was not used anywhere in core and there is no indication that it is used elsewhere either.
Sun, 10 May 2015 11:39:01 -0500 changelog: drop unnecessary override of "hasnode"
Yuya Nishihara <yuya@tcha.org> [Sun, 10 May 2015 11:39:01 -0500] rev 24961
changelog: drop unnecessary override of "hasnode" revlog.hasnode() calls self.rev(node) that takes filtering into account.
Fri, 08 May 2015 11:32:24 -0700 test-run-test: unset run-test specific environment variables stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 May 2015 11:32:24 -0700] rev 24960
test-run-test: unset run-test specific environment variables Otherwise variable set for the real test run interfere with the test runner tests.
Fri, 01 May 2015 15:45:07 -0700 histedit: fix --continue when rules are finished stable
Durham Goode <durham@fb.com> [Fri, 01 May 2015 15:45:07 -0700] rev 24959
histedit: fix --continue when rules are finished If histedit failed after all the rules were complete (for instance, if there was an exception in the cleanup phase), you couldn't --continue because it was unable to pop a rule. Let's just skip the rule execution phase of --continue if there are no more rules.
Fri, 01 May 2015 15:28:47 -0700 histedit: fix serializing of None backupfile stable
Durham Goode <durham@fb.com> [Fri, 01 May 2015 15:28:47 -0700] rev 24958
histedit: fix serializing of None backupfile If the histedit backupfile was None (like if evolve is enabled) it would get serialized as 'None' into the state file. Later if the histedit was aborted and the top most commit was unreachable (ex: if it was obsolete or stripped), histedit would try to unbundle the backupfile and try to read .hg/None. This fixes it to not serialize None. Since it only happens with evolve, I'm not sure how to add test coverage here.
Thu, 07 May 2015 14:19:20 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 07 May 2015 14:19:20 -0500] rev 24957
merge with stable
Tue, 05 May 2015 08:40:59 -0700 treemanifest: set requires at repo creation time, ignore config after
Martin von Zweigbergk <martinvonz@google.com> [Tue, 05 May 2015 08:40:59 -0700] rev 24956
treemanifest: set requires at repo creation time, ignore config after The very next changeset will start writing one revlog per directory when tree manifests are enabled. That is backwards incompatible, so it requires .hg/requires to be updated. Just like with generaldelta, we want to update .hg/requires only when the repo is created. Updating ..hg/requires is bad for repos on shared disk. Instead, those who do want to upgrade a repo to using treemanifest (or manifestv2, etc) can run hg clone --config experimental.treemanifest repo clone which will create a new repo with the requirement set. Unlike the case of e.g. generaldelta, it will not rewrite the changesets, since tree manifests hash differently.
Tue, 21 Apr 2015 09:29:59 -0700 remove: use ctx.hasdir(f) instead of 'f in ctx.dirs()'
Martin von Zweigbergk <martinvonz@google.com> [Tue, 21 Apr 2015 09:29:59 -0700] rev 24955
remove: use ctx.hasdir(f) instead of 'f in ctx.dirs()' This speeds up 'hg remove python/README' on the Firefox repo from 2.479s to 0.664s with lazily loaded treemanifests (which is not yet in core) and has no measurable effect on flat manifests.
Mon, 04 May 2015 23:04:12 -0400 largefiles: drop os.path.join() in subrepo archive override
Matt Harbison <matt_harbison@yahoo.com> [Mon, 04 May 2015 23:04:12 -0400] rev 24954
largefiles: drop os.path.join() in subrepo archive override This is related to 41cd8171e58f, but not required for that to function correctly because 'prefix' always ends with '/', so os.path.join(prefix, _path) simply concatenates the strings. Take the opportunity to drop the os.path usage, and avoid confusion by using the same pattern as the overridden subrepo method.
Tue, 05 May 2015 20:52:38 -0400 archive: drop the leading '.' path component from the prefix (issue4634)
Matt Harbison <matt_harbison@yahoo.com> [Tue, 05 May 2015 20:52:38 -0400] rev 24953
archive: drop the leading '.' path component from the prefix (issue4634) Unix utilities like tar will happily prefix the files it packs with './', but annoyingly, Windows Explorer will not show these packed files when it opens the archive. Since there doesn't seem to be a point in including './' in the path names, just drop it. The default 'hg archive' prefix is the basename of the archive, so specifying '.' allows for that default to be disabled completely.
(0) -10000 -3000 -1000 -300 -100 -50 -24 +24 +50 +100 +300 +1000 +3000 +10000 tip