Wed, 20 Jan 2016 22:39:51 -0600 Added signature for changeset 158bdc896572 stable
Matt Mackall <mpm@selenic.com> [Wed, 20 Jan 2016 22:39:51 -0600] rev 27923
Added signature for changeset 158bdc896572
Wed, 20 Jan 2016 22:39:50 -0600 Added tag 3.7-rc for changeset 158bdc896572 stable
Matt Mackall <mpm@selenic.com> [Wed, 20 Jan 2016 22:39:50 -0600] rev 27922
Added tag 3.7-rc for changeset 158bdc896572
Thu, 21 Jan 2016 00:20:19 +0000 shelve: lowercase flag description stable 3.7-rc
timeless <timeless@mozdev.org> [Thu, 21 Jan 2016 00:20:19 +0000] rev 27921
shelve: lowercase flag description The help for --unknown is the *only* command that started with a capital letter
Tue, 19 Jan 2016 17:44:25 -0800 changegroup: cg3 has two empty groups *after* manifests stable
Martin von Zweigbergk <martinvonz@google.com> [Tue, 19 Jan 2016 17:44:25 -0800] rev 27920
changegroup: cg3 has two empty groups *after* manifests changegroup.getchunks() determines the end of the stream by looking for an empty chunk group (two consecutive empty chunks). It ignores empty groups in the first two groups. Changegroup 3 introduced an empty chunk between the manifests and the files, which confuses getchunks(). Since it comes after the first two, getchunks() will stop there. Fix by rewriting getchunks so it first counts two groups (empty or not) and then keeps antostarts counting empty groups. With this counting, changegroup 1 and 2 have exactly one empty group after the first two groups, while changegroup 3 has two (one for directories and one for files). It's a little hard to test this at this point, but I have verified that this patch fixes narrowhg (which was broken before this patch). Also, future patches will fix "hg strip" with treemanifests, and once that's done, getchunks() will be tested through tests of "hg strip".
Tue, 19 Jan 2016 06:00:59 +0100 mq: check for reserved patch name with qimport -r (issue5033) stable
Mads Kiilerich <madski@unity3d.com> [Tue, 19 Jan 2016 06:00:59 +0100] rev 27919
mq: check for reserved patch name with qimport -r (issue5033) Fix regression from 143b52fce68e. Catching aborts might not be pretty but it works and is a small change.
Tue, 19 Jan 2016 06:00:30 +0100 mq: refactor makepatchname into class method stable
Mads Kiilerich <madski@unity3d.com> [Tue, 19 Jan 2016 06:00:30 +0100] rev 27918
mq: refactor makepatchname into class method
Wed, 20 Jan 2016 13:43:01 -0800 repoview: fix corrupted hiddencache crash Mercurial (issue5042) stable
Laurent Charignon <lcharignon@fb.com> [Wed, 20 Jan 2016 13:43:01 -0800] rev 27917
repoview: fix corrupted hiddencache crash Mercurial (issue5042) Before this patch if the hiddencache existed but was empty, it would crash mercurial. This patch adds exception handling when reading the hiddencache to avoid the issue. When encountering a corrupted cache file we print a devel warning. There would be no point in issuing a normal warning as the user wouldn't be able to do anything about the situation. The warning looks like: devel-warn: corrupted hidden cache, removing it at: /path/to/repoview.py
Wed, 20 Jan 2016 13:40:59 -0800 repoview: add missing newline character in debug prints stable
Laurent Charignon <lcharignon@fb.com> [Wed, 20 Jan 2016 13:40:59 -0800] rev 27916
repoview: add missing newline character in debug prints
Wed, 20 Jan 2016 00:08:00 +0900 commandserver: drop tell() and seek() from channels (issue5049) stable
Yuya Nishihara <yuya@tcha.org> [Wed, 20 Jan 2016 00:08:00 +0900] rev 27915
commandserver: drop tell() and seek() from channels (issue5049) These operations are obviously invalid for file-like channels because they will read or write protocol headers. This patch works around the issue that "hg archive" generates a corrupted zip file on Windows commandserver because of unusable tell() implementation. But the problem still occurs without using a commandserver. $ hg archive -R not-small-repo -t zip - | cat > invalid.zip So, this patch cannot fix the issue5049 completely.
Wed, 20 Jan 2016 11:21:13 -0800 crecord: edit during hg crecord should preserve cursor position (issue5041) stable
Laurent Charignon <lcharignon@fb.com> [Wed, 20 Jan 2016 11:21:13 -0800] rev 27914
crecord: edit during hg crecord should preserve cursor position (issue5041) This patch adds a variable to keep track of what hunk was selected before the edit. We use that variable to select the hunk or its replacement after the edit.
Thu, 21 Jan 2016 02:42:01 +0900 templates: use canvaswidth instead of fixed width for canvas (issue2683) stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 21 Jan 2016 02:42:01 +0900] rev 27913
templates: use canvaswidth instead of fixed width for canvas (issue2683) Before this patch, template files for "graph" web page use fixed width size "480" for canvas element. This causes pruned lanes and invisible vertexes, if there are 16 or more vertical lanes at once. In such case, part of graph in right side area over 480 is invisible, even though corresponded summary text blocks are visible correctly. This limitation isn't reasonable for workflow using many branches at once (e.g. "one branch per issue" workflow). There were changes below related to width of canvas: - 7359cb753a54 (templates: widen the graph canvas (issue2683)), released as a part of Mercurial 1.8.2 According to the description, this assumed that 15 parallel branches was enough for ordinary workflow, and bumped width of canvas up from 224 to 480. - d490edc71146 (hgweb: make graph data suitable for template usage), released as a part of Mercurial 2.3 This introduced "canvaswidth" template keyword as a part of refactoring around graph rendering. But 'width="480"' of canvas element in template files wasn't replaced by 'width="{canvaswidth}"' in it (or subsequent one). This patch uses dynamic value "{canvaswidth}" instead of fixed width size "480" for canvas element. This is posted for "stable", because: - this is re-fixing issue2683 - this is simple enough for stable - using "{canvaswidth}" doesn't require any additional cost Calculation of canvaswidth is already implied as a part of "graph" web command.
Wed, 20 Jan 2016 08:16:58 -0800 backout: fix --no-commit option (issue5054) stable
Ruslan Sayfutdinov <sayfutdinov@fb.com> [Wed, 20 Jan 2016 08:16:58 -0800] rev 27912
backout: fix --no-commit option (issue5054)
Tue, 19 Jan 2016 13:43:50 -0800 bundle: exit early when there are no commits to bundle stable
Durham Goode <durham@fb.com> [Tue, 19 Jan 2016 13:43:50 -0800] rev 27911
bundle: exit early when there are no commits to bundle Previously, if you passed a revset that resolved to no nodes, it would get interpreted by the changegroup discovery logic as 'bundle all my heads', which is not what the user asked. Let's exit early when we notice this case. It could be argued that the changeset discovery logic should be smarter and only assume 'all heads' if the incoming heads parameter is None, but that's a much riskier change.
Sun, 17 Jan 2016 20:37:29 -0800 zeroconf: access repo on hgweb_mod properly (issue5036) stable
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 17 Jan 2016 20:37:29 -0800] rev 27910
zeroconf: access repo on hgweb_mod properly (issue5036) hgweb_mod.hgweb.repo disappeared in ae33fff17c1e (hg: establish a cache for localrepository instances) and the code for accessing repo instances from hgweb was later refactored to go through a cache-aware context manager. Adapt zeroconf to access the repo instance via the new API.
Sun, 17 Jan 2016 21:40:21 -0600 merge default into stable for 3.7 code freeze stable
Matt Mackall <mpm@selenic.com> [Sun, 17 Jan 2016 21:40:21 -0600] rev 27909
merge default into stable for 3.7 code freeze
Thu, 14 Jan 2016 10:03:31 -0800 shelve: permit shelves to contain unknown files
Simon Farnsworth <simonfar@fb.com> [Thu, 14 Jan 2016 10:03:31 -0800] rev 27908
shelve: permit shelves to contain unknown files If an emergency comes in while you're in the middle of an experimental change, it can be useful to shelve not just files hg already tracks but also your unknown files while you handle the emergency. This is especially true if you have hooks intended to prevent you from forgetting to add new code before you push. Teach "hg shelve" to optionally shelve unknown files, not just tracked files. This is functionally similar to --addremove, but with two differences: 1) Deleted files are not removed. 2) Files added during shelve creation are tracked in extra so that they can be forgotten by "hg unshelve". When unshelving, we take care to only forget files if they've been created during the unshelve operation; if you add a file that's being tracked in a shelve as an unknown file, it should not become unknown again when the shelve is unshelved.
Sun, 17 Jan 2016 14:14:15 -0800 localrepo: don't reference transaction from hook closure (issue5043)
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 17 Jan 2016 14:14:15 -0800] rev 27907
localrepo: don't reference transaction from hook closure (issue5043) Before, the hook() closure (which is called as part of locking hooks) would maintain a reference to a transaction instance (which should be finalized by the time lock hooks are called). Because we accumulate hook() instances when there are multiple transactions per lock, this would result in holding references to the transaction instances which would lead to higher memory utilization. Creating a reference to the hook arguments dict minimizes the number of objects that are kept alive until the lock release hook runs, minimizing memory "leaks."
Sun, 17 Jan 2016 12:10:30 -0800 context: don't use util.cachefunc due to cycle creation (issue5043)
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 17 Jan 2016 12:10:30 -0800] rev 27906
context: don't use util.cachefunc due to cycle creation (issue5043) util.cachefunc stores all arguments as the cache key. For filectxfn functions, the arguments include the memctx instance. This creates a cycle where memctx._filectxfn references self. This causes a memory leak. We break the cycle by implementing our own memoizing function that only uses the path as the cache key. Since each memctx has its own cache instance, there is no concern about invalid cache hits.
Sun, 17 Jan 2016 19:29:27 +0100 largefiles: actions will now always have a file - drop check
Mads Kiilerich <madski@unity3d.com> [Sun, 17 Jan 2016 19:29:27 +0100] rev 27905
largefiles: actions will now always have a file - drop check
Sun, 17 Jan 2016 19:29:27 +0100 largefiles: make prompt order deterministic
Mads Kiilerich <madski@unity3d.com> [Sun, 17 Jan 2016 19:29:27 +0100] rev 27904
largefiles: make prompt order deterministic 42ae1b1f048f introduced iteration of a set. Make it stable.
Sun, 17 Jan 2016 17:23:32 +0100 largefiles: fix commit of missing largefiles
Mads Kiilerich <madski@unity3d.com> [Sun, 17 Jan 2016 17:23:32 +0100] rev 27903
largefiles: fix commit of missing largefiles 832c98d79587 improved merging of standin files referencing missing largefiles. It did however not test or fix commits of such merges; it would abort. To fix that, change copytostore to skip and warn about missing largefiles with a message similar the one for failing get from remote filestores. (It would perhaps in both cases be better to emit a more helpful warning like "warning: standin file for large1 references 58e24f733a which can't be found in the local store".) To test this, make sure commit doesn't find the "missing" largefile in the global usercache. For further testing, verify that update and status works as expected after this. This will also effectively backout 63116d47cc3f.
Thu, 14 Jan 2016 10:22:55 -0800 diff: don't crash when merged-in addition is copied
Martin von Zweigbergk <martinvonz@google.com> [Thu, 14 Jan 2016 10:22:55 -0800] rev 27902
diff: don't crash when merged-in addition is copied Similar to what was explained in the previous commit, the diff code expected copy source to be in "ctx1", which is not always the case during a merge. This has been broken since before hg 2.0. Also similar to the previous commit, we fix the problem by fixing up the copy dict.
Thu, 14 Jan 2016 10:14:24 -0800 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com> [Thu, 14 Jan 2016 10:14:24 -0800] rev 27901
diff: don't crash when merged-in addition was removed (issue4786) During a merge, if the user removes a file that came from parent 2 and did not exist in parent 1, the file's status will be "removed". This surprises the diff code, which crashes because it expects removed files exist in parent 1. This has been broken since 377124ba6b10 (trydiff: use 'not in addedset' for symmetry with 'not in removedset', 2014-12-23). Fix by fixing up the list of removed file, similar to how we currently fix up the list of modified and added files during a merge.
Thu, 14 Jan 2016 10:02:34 -0800 diff: move status fixup earlier, out of _filepairs()
Martin von Zweigbergk <martinvonz@google.com> [Thu, 14 Jan 2016 10:02:34 -0800] rev 27900
diff: move status fixup earlier, out of _filepairs() This prepares for future patches, and it also lets us remove the ugly "ctx1" argument to _filepairs() (ugly because of its assymmetry -- there's no "ctx2" argument).
Sun, 17 Jan 2016 19:33:02 +0100 graft: warn when -r is combined with revisions as positional arguments
Mads Kiilerich <madski@unity3d.com> [Sun, 17 Jan 2016 19:33:02 +0100] rev 27899
graft: warn when -r is combined with revisions as positional arguments The behaviour in this case is undefined. Instead of silently doing something "random" and surprising, at least issue a warning. (This should perhaps be considered a "deprecation" and turned into an error in a future release.)
Sun, 17 Jan 2016 19:33:02 +0100 graft: clarify in help that `-r` is not just optional
Mads Kiilerich <madski@unity3d.com> [Sun, 17 Jan 2016 19:33:02 +0100] rev 27898
graft: clarify in help that `-r` is not just optional Positional parameters are also treated as revisions, but the order of revisions matters and it will often be wrong if the user understands it as `-r` taking multiple revisions as `-r REV1 REV2`. (Alternatively, `-r` could be turned into a no-op flag as the documentation suggests. That would however be less "semantic markup" and I agree with the implementation in 55e7f352b1d3 but not the documentation.)
Thu, 14 Jan 2016 13:44:01 -0800 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 14 Jan 2016 13:44:01 -0800] rev 27897
streamclone: use backgroundfilecloser (issue4889) Closing files that have been appended to is slow on Windows/NTFS. CloseHandle() calls on this platform often take 1-10ms - and that's on my i7-6700K Skylake processor with a modern and fast SSD. Contrast with other I/O operations, such as writing data, which take <100us. This means that creating/appending thousands of files can add significant overhead. For example, cloning mozilla-central creates ~232,000 revlog files. Assuming 1ms per CloseHandle(), that yields 232s (3:52) of wall time waiting for file closes! The impact of this overhead can be measured most directly when applying stream clone bundles. Applying these files is effectively uncompressing a tar archive (read: it's very fast). Using a RAM disk (read: no I/O wait), the difference in wall time for a `hg debugapplystreamclonebundle` for a ~1731 MB mozilla-central bundle between Windows and Linux from the same machine is drastic: Linux: ~12.8s (128MB/s) Windows: ~352.0s (4.7MB/s) Windows is ~27.5x slower. Yikes! After this patch: Linux: ~12.8s (128MB/s) Windows: ~102.1s (16.1MB/s) Windows is now ~3.4x faster. Unfortunately, it is still ~8x slower than Linux. Profiling reveals a few hot code paths that could likely be improved. But those are for other patches. This patch introduces test-clone-uncompressed.t because existing tests of `clone --uncompressed` are scattered about and adding a variation for background thread closing to e.g. test-http.t doesn't feel correct.
Sat, 02 Jan 2016 16:11:36 -0800 streamclone: indent code
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 02 Jan 2016 16:11:36 -0800] rev 27896
streamclone: indent code This will make the subsequent patch easier to read.
Thu, 14 Jan 2016 13:34:59 -0800 scmutil: support background file closing
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 14 Jan 2016 13:34:59 -0800] rev 27895
scmutil: support background file closing Closing files that have been appended to is relatively slow on Windows/NTFS. This makes several Mercurial operations slower on Windows. The workaround to this issue is conceptually simple: use multiple threads for I/O. Unfortunately, Python doesn't scale well to multiple threads because of the GIL. And, refactoring our code to use threads everywhere would be a huge undertaking. So, we decide to tackle this problem by starting small: establishing a thread pool for closing files. This patch establishes a mechanism for closing file handles on separate threads. The coordinator object is basically a queue of file handles to operate on and a thread pool consuming from the queue. When files are opened through the VFS layer, the caller can specify that delay closing is allowed. A proxy class for file handles has been added. We must use a proxy because it isn't possible to modify __class__ on built-in types. This adds some overhead. But as future patches will show, this overhead is cancelled out by the benefit of closing file handles on background threads.
Tue, 12 Jan 2016 23:56:48 +0900 templatekw: add {namespaces} keyword
Yuya Nishihara <yuya@tcha.org> [Tue, 12 Jan 2016 23:56:48 +0900] rev 27894
templatekw: add {namespaces} keyword This provides a general-purpose interface to all custom namespaces. The {namespaces} keyword honors the definition order of namespaces as they are kept by sortdict.
Tue, 12 Jan 2016 23:53:56 +0900 templatekw: move shownames() helper to be sorted alphabetically
Yuya Nishihara <yuya@tcha.org> [Tue, 12 Jan 2016 23:53:56 +0900] rev 27893
templatekw: move shownames() helper to be sorted alphabetically I'll add shownamespaces(), which is similar to this function. I want to put them nearby.
Sat, 16 Jan 2016 13:53:32 +0900 templater: make get(dict, key) return a single value
Yuya Nishihara <yuya@tcha.org> [Sat, 16 Jan 2016 13:53:32 +0900] rev 27892
templater: make get(dict, key) return a single value This is necessary to obtain a _hybrid object from a dict. If get() yields a value, it would be stringified. I see no benefit to make get() lazy, so this patch just changes "yield" to "return".
Sat, 16 Jan 2016 13:42:37 +0900 templater: make _hybrid not callable to avoid conflicting semantics
Yuya Nishihara <yuya@tcha.org> [Sat, 16 Jan 2016 13:42:37 +0900] rev 27891
templater: make _hybrid not callable to avoid conflicting semantics In templater, a callable symbol exists for lazy evaluation, which should have f(**mapping) signature. On the other hand, _hybrid.__call__(), which was introduced by 0b241d7a8c62, generates mapping for each element. This patch renames _hybrid.__call__() to _hybrid.itermaps() so that a _hybrid object can be a value of a mapping dict. {namespaces % "{namespace}: {names % "{name }"}\n"} ~~~~~ a _hybrid object
Fri, 15 Jan 2016 13:46:33 -0800 backout: commit changeset by default (BC)
Ruslan Sayfutdinov <sayfutdinov@fb.com> [Fri, 15 Jan 2016 13:46:33 -0800] rev 27890
backout: commit changeset by default (BC) Add --no-commit flag to prevent it. This should make the hg user experience a little better. Some discussion can be found here: http://markmail.org/message/7jm7ro2ias6hxywy
Fri, 15 Jan 2016 13:01:37 -0800 help: move Windows 9x information to appropriate place
Danek Duvall <danek.duvall@oracle.com> [Fri, 15 Jan 2016 13:01:37 -0800] rev 27889
help: move Windows 9x information to appropriate place
Thu, 14 Jan 2016 12:52:59 -0800 shelve: move commitfunc closer to use site
Simon Farnsworth <simonfar@fb.com> [Thu, 14 Jan 2016 12:52:59 -0800] rev 27888
shelve: move commitfunc closer to use site Supporting shelving of unknown files needs this code motion. No functional changes.
Thu, 14 Jan 2016 21:21:59 -0800 commands: document clone bundles hooks and rollback behavior
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 14 Jan 2016 21:21:59 -0800] rev 27887
commands: document clone bundles hooks and rollback behavior The added content is inside a verbose container. I figure it makes sense to explicitly document behavior, including with the caveat it may change later. People can't say they weren't warned!
Thu, 14 Jan 2016 22:50:55 -0800 clonebundles: improve BUNDLESPEC documentation
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 14 Jan 2016 22:50:55 -0800] rev 27886
clonebundles: improve BUNDLESPEC documentation Before the existence of `hg debugbundle --spec`, the process for defining the BUNDLESPEC value in manifests was not very clear and not trivial to automate, especially in the case of stream clone bundles. This patch adds documentation to note the existence of `hg debugbundle --spec`. We drop the reference to stream clone requirements handling because it is now redundant with `hg debugbundle --spec`. While we are here, we further reinforce the importance of defining BUNDLESPEC.
Thu, 14 Jan 2016 22:57:55 -0800 commands: teach debugbundle to print bundle specification
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 14 Jan 2016 22:57:55 -0800] rev 27885
commands: teach debugbundle to print bundle specification This seems like the most logical place to put this functionality. Test coverage over existing known bundle specs has been added.
Thu, 14 Jan 2016 21:27:53 -0800 commands: use context manager for opened bundle file
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 14 Jan 2016 21:27:53 -0800] rev 27884
commands: use context manager for opened bundle file
Thu, 14 Jan 2016 22:49:03 -0800 exchange: implement function for inferring bundle specification
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 14 Jan 2016 22:49:03 -0800] rev 27883
exchange: implement function for inferring bundle specification We don't currently have a mechanism for inferring bundle spec strings from bundle files. This patch adds one. This will eventually be used to make the producing of clone bundles manifests easier.
Thu, 14 Jan 2016 22:48:54 -0800 streamclone: extract code for reading header fields
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 14 Jan 2016 22:48:54 -0800] rev 27882
streamclone: extract code for reading header fields So it can be called from another consumer in a future patch.
Sat, 16 Jan 2016 18:30:01 +0900 encoding: escape U+007F (DEL) character in JSON
Yuya Nishihara <yuya@tcha.org> [Sat, 16 Jan 2016 18:30:01 +0900] rev 27881
encoding: escape U+007F (DEL) character in JSON RFC 7159 does not state that U+007F must be escaped, but it is widely considered a control character. As '\x7f' is invisible on a terminal, and Python's json.dumps() escapes '\x7f', let's do the same.
Thu, 14 Jan 2016 04:14:50 +0000 run-tests: skip threading for a single test (issue5040)
timeless <timeless@mozdev.org> [Thu, 14 Jan 2016 04:14:50 +0000] rev 27880
run-tests: skip threading for a single test (issue5040) This version backs out 50e621fe0362 and implements it in a more consistent manner.
Sat, 16 Jan 2016 10:50:28 -0500 cleanup: use modern @property/@foo.setter property specification
Augie Fackler <augie@google.com> [Sat, 16 Jan 2016 10:50:28 -0500] rev 27879
cleanup: use modern @property/@foo.setter property specification We can use this now that we're 2.6+, and this is more idiomatic modern Python.
Fri, 15 Jan 2016 16:16:25 +0100 buildrpm: use bash shebang, since we use bash features in the script
Mathias De Maré <mathias.demare@gmail.com> [Fri, 15 Jan 2016 16:16:25 +0100] rev 27878
buildrpm: use bash shebang, since we use bash features in the script As suggested by Bryan O'Sullivan.
Thu, 14 Jan 2016 12:37:15 -0600 mac: ignore resource fork when checking file sizes
Matt Mackall <mpm@selenic.com> [Thu, 14 Jan 2016 12:37:15 -0600] rev 27877
mac: ignore resource fork when checking file sizes Some evil evil awful tool adds resource forks to files it's comparing. Our Mac-specific code to do bulk stats was accidentally using "total size" which includes those forks in the file size, causing them to be reported as modified. This changes it to only care about the normal data size and thus agree with what Mercurial's expecting.
Wed, 13 Jan 2016 10:10:05 -0600 copies: fix detection of divergent directory renames
Matt Mackall <mpm@selenic.com> [Wed, 13 Jan 2016 10:10:05 -0600] rev 27876
copies: fix detection of divergent directory renames If we move all the files out of one directory, but into two different directories, we should not consider it a directory rename. The detection of this case was broken.
Fri, 15 Jan 2016 13:14:49 -0800 with: use context manager for transaction in strip
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:49 -0800] rev 27875
with: use context manager for transaction in strip
Fri, 15 Jan 2016 13:14:49 -0800 with: use context manager for transaction in pushphase
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:49 -0800] rev 27874
with: use context manager for transaction in pushphase
Fri, 15 Jan 2016 13:14:49 -0800 with: use context manager for transaction in strip
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:49 -0800] rev 27873
with: use context manager for transaction in strip
Fri, 15 Jan 2016 13:14:50 -0800 with: use a context manager for transaction in strip
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:50 -0800] rev 27872
with: use a context manager for transaction in strip
Fri, 15 Jan 2016 13:14:49 -0800 with: use context manager in rebuildfncache
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:49 -0800] rev 27871
with: use context manager in rebuildfncache
Fri, 15 Jan 2016 13:14:49 -0800 with: use context manager for transaction in consumev1
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:49 -0800] rev 27870
with: use context manager for transaction in consumev1
Fri, 15 Jan 2016 13:14:49 -0800 with: use context manager in _histedit
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:49 -0800] rev 27869
with: use context manager in _histedit
Fri, 15 Jan 2016 13:14:50 -0800 with: use context manager in amend
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:50 -0800] rev 27868
with: use context manager in amend
Fri, 15 Jan 2016 13:14:50 -0800 with: use context manager for transaction in changegroup apply
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:50 -0800] rev 27867
with: use context manager for transaction in changegroup apply (This needs some line wrapping due to the additional indent level. -mpm)
Fri, 15 Jan 2016 13:14:48 -0800 with: use context manager for transaction in rebase
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:48 -0800] rev 27866
with: use context manager for transaction in rebase
Fri, 15 Jan 2016 13:14:47 -0800 with: use context manager for transaction in qimport
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:47 -0800] rev 27865
with: use context manager for transaction in qimport
Fri, 15 Jan 2016 13:14:47 -0800 with: use context manager for transaction in qfinish
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:47 -0800] rev 27864
with: use context manager for transaction in qfinish
Fri, 15 Jan 2016 13:14:47 -0800 with: use context manager for transaction in mercurial_sink
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:47 -0800] rev 27863
with: use context manager for transaction in mercurial_sink
Fri, 15 Jan 2016 13:14:47 -0800 transaction: turn a transaction into a Python context manager
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:47 -0800] rev 27862
transaction: turn a transaction into a Python context manager This lets us greatly simply acquire/release cycles. If the block completes without raising an exception, the transaction is closed. Code pattern before: try: tr = repo.transaction('x') # zillions of lines of code tr.close() finally: tr.release() And after: with tr.transaction('x'): # ...
Fri, 15 Jan 2016 13:14:49 -0800 with: use context manager for lock in pushphase
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:49 -0800] rev 27861
with: use context manager for lock in pushphase
Fri, 15 Jan 2016 13:14:49 -0800 with: use context manager in rebuildfncache again
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:49 -0800] rev 27860
with: use context manager in rebuildfncache again
Fri, 15 Jan 2016 13:14:49 -0800 with: use context manager in streamclone consumev1
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:49 -0800] rev 27859
with: use context manager in streamclone consumev1
Fri, 15 Jan 2016 13:14:49 -0800 with: use context manager in manifest
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:49 -0800] rev 27858
with: use context manager in manifest
Fri, 15 Jan 2016 13:14:49 -0800 with: use context manager in rename
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:49 -0800] rev 27857
with: use context manager in rename
Fri, 15 Jan 2016 13:14:49 -0800 with: use context manager in resolve
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:49 -0800] rev 27856
with: use context manager in resolve
Fri, 15 Jan 2016 13:14:49 -0800 with: use context manager in unbundle
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:49 -0800] rev 27855
with: use context manager in unbundle
Fri, 15 Jan 2016 13:14:49 -0800 with: use context manager in update
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:49 -0800] rev 27854
with: use context manager in update
Fri, 15 Jan 2016 13:14:49 -0800 with: use context manager in bisect save_state
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:49 -0800] rev 27853
with: use context manager in bisect save_state
Fri, 15 Jan 2016 13:14:49 -0800 with: use context manager in merge update
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:49 -0800] rev 27852
with: use context manager in merge update
Fri, 15 Jan 2016 13:14:49 -0800 with: use context manager in _markchanges
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:49 -0800] rev 27851
with: use context manager in _markchanges
Fri, 15 Jan 2016 13:14:49 -0800 with: use context manager in maybeperformlegacystreamclone
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:49 -0800] rev 27850
with: use context manager in maybeperformlegacystreamclone
Fri, 15 Jan 2016 13:14:49 -0800 with: use context manager in verify
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:49 -0800] rev 27849
with: use context manager in verify
Fri, 15 Jan 2016 13:14:50 -0800 with: use context manager in qrename
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:50 -0800] rev 27848
with: use context manager in qrename
Fri, 15 Jan 2016 13:14:50 -0800 with: use context manager in qfinish
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:50 -0800] rev 27847
with: use context manager in qfinish
Fri, 15 Jan 2016 13:14:50 -0800 with: use context manager in localrepo recover
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:50 -0800] rev 27846
with: use context manager in localrepo recover
Fri, 15 Jan 2016 13:14:50 -0800 with: use context manager in streamclone generatev1
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:50 -0800] rev 27845
with: use context manager in streamclone generatev1
Fri, 15 Jan 2016 13:14:50 -0800 with: use context manager in subrepo storeclean
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:50 -0800] rev 27844
with: use context manager in subrepo storeclean
Fri, 15 Jan 2016 13:14:50 -0800 with: use context manager in subrepo _cachestorehash
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:50 -0800] rev 27843
with: use context manager in subrepo _cachestorehash
Fri, 15 Jan 2016 13:14:50 -0800 with: use context manager in largefiles commit
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:50 -0800] rev 27842
with: use context manager in largefiles commit
Fri, 15 Jan 2016 13:14:50 -0800 with: use context manager in unshelveabort
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:50 -0800] rev 27841
with: use context manager in unshelveabort
Fri, 15 Jan 2016 13:14:47 -0800 with: use context manager for wlock in transplant
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:47 -0800] rev 27840
with: use context manager for wlock in transplant
Fri, 15 Jan 2016 13:14:47 -0800 with: use context manager for wlock in shelve stripcmd
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:47 -0800] rev 27839
with: use context manager for wlock in shelve stripcmd
Fri, 15 Jan 2016 13:14:47 -0800 with: use context manager for lock in continue
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:47 -0800] rev 27838
with: use context manager for lock in continue
Fri, 15 Jan 2016 13:14:47 -0800 with: use context manager for wlock in unshelve
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:47 -0800] rev 27837
with: use context manager for wlock in unshelve
Fri, 15 Jan 2016 13:14:47 -0800 with: use context manager for wlock in shelve deletecmd
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:47 -0800] rev 27836
with: use context manager for wlock in shelve deletecmd
Fri, 15 Jan 2016 13:14:47 -0800 with: use context manager for wlock in shelve cleanupcmd
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:47 -0800] rev 27835
with: use context manager for wlock in shelve cleanupcmd
Fri, 15 Jan 2016 13:14:47 -0800 with: use context manager for wlock in shelve createcmd
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:47 -0800] rev 27834
with: use context manager for wlock in shelve createcmd
Fri, 15 Jan 2016 13:14:47 -0800 with: use context manager for lock in histedit cleanupnode
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:47 -0800] rev 27833
with: use context manager for lock in histedit cleanupnode
Fri, 15 Jan 2016 13:14:47 -0800 with: use context manager for lock in qimport
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:47 -0800] rev 27832
with: use context manager for lock in qimport
Fri, 15 Jan 2016 13:14:47 -0800 with: use context manager for wlock in qfold
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:47 -0800] rev 27831
with: use context manager for wlock in qfold
Fri, 15 Jan 2016 13:14:47 -0800 with: use context manager for wlock in qrefresh
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:47 -0800] rev 27830
with: use context manager for wlock in qrefresh
Fri, 15 Jan 2016 13:14:47 -0800 with: use context manager for wlock in qpop
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:47 -0800] rev 27829
with: use context manager for wlock in qpop
Fri, 15 Jan 2016 13:14:47 -0800 with: use context manager for wlock in qpush
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:47 -0800] rev 27828
with: use context manager for wlock in qpush
Fri, 15 Jan 2016 13:14:47 -0800 with: use context manager for wlock in qnew
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:47 -0800] rev 27827
with: use context manager for wlock in qnew
Fri, 15 Jan 2016 13:14:47 -0800 with: use context manager for wlock in mergeupdate
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:47 -0800] rev 27826
with: use context manager for wlock in mergeupdate
Fri, 15 Jan 2016 13:14:46 -0800 with: use context manager for wlock in overridepurge
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:46 -0800] rev 27825
with: use context manager for wlock in overridepurge
Fri, 15 Jan 2016 13:14:46 -0800 with: use context manager for wlock in cmdutilforget
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:46 -0800] rev 27824
with: use context manager for wlock in cmdutilforget
Fri, 15 Jan 2016 13:14:46 -0800 with: use context manager for wlock in overriderevert
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:46 -0800] rev 27823
with: use context manager for wlock in overriderevert
Fri, 15 Jan 2016 13:14:46 -0800 with: use context manager for wlock in removelargefiles
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:46 -0800] rev 27822
with: use context manager for wlock in removelargefiles
Fri, 15 Jan 2016 13:14:46 -0800 with: use context manager for wlock in addlargefiles
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:46 -0800] rev 27821
with: use context manager for wlock in addlargefiles
Fri, 15 Jan 2016 13:14:46 -0800 with: use context manager for wlock in updatelfiles
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:46 -0800] rev 27820
with: use context manager for wlock in updatelfiles
Fri, 15 Jan 2016 13:14:46 -0800 with: use context manager for wlock in kw_dorecord
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:46 -0800] rev 27819
with: use context manager for wlock in kw_dorecord
Fri, 15 Jan 2016 13:14:46 -0800 with: use context manager for wlock in kw_copy
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:46 -0800] rev 27818
with: use context manager for wlock in kw_copy
Fri, 15 Jan 2016 13:14:46 -0800 with: use context manager for wlock in kw_amend
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:46 -0800] rev 27817
with: use context manager for wlock in kw_amend
Fri, 15 Jan 2016 13:14:46 -0800 with: use context manager for wlock in keyword demo
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:46 -0800] rev 27816
with: use context manager for wlock in keyword demo
Fri, 15 Jan 2016 13:14:46 -0800 with: use context manager for wlock in _kwfwrite
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:46 -0800] rev 27815
with: use context manager for wlock in _kwfwrite
Fri, 15 Jan 2016 13:14:46 -0800 with: use context manager for wlock in sign
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:46 -0800] rev 27814
with: use context manager for wlock in sign
Fri, 15 Jan 2016 13:14:46 -0800 with: use context manager for wlock in checklookup
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:46 -0800] rev 27813
with: use context manager for wlock in checklookup
Fri, 15 Jan 2016 13:14:46 -0800 with: use context manager for wlock in copy
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:46 -0800] rev 27812
with: use context manager for wlock in copy
Fri, 15 Jan 2016 13:14:46 -0800 with: use context manager for wlock in workingctx.undelete
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:46 -0800] rev 27811
with: use context manager for wlock in workingctx.undelete
Fri, 15 Jan 2016 13:14:46 -0800 with: use context manager for wlock in workingctx.forget
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:46 -0800] rev 27810
with: use context manager for wlock in workingctx.forget
Fri, 15 Jan 2016 13:14:46 -0800 with: use context manager for wlock in workingctx.add
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:46 -0800] rev 27809
with: use context manager for wlock in workingctx.add
Fri, 15 Jan 2016 13:14:46 -0800 with: use context manager for wlock in graft
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:46 -0800] rev 27808
with: use context manager for wlock in graft
Fri, 15 Jan 2016 13:14:46 -0800 with: use context manager for wlock in debugsetparents
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:46 -0800] rev 27807
with: use context manager for wlock in debugsetparents
Fri, 15 Jan 2016 13:14:46 -0800 with: use context manager for wlock in debugrebuilddirstate
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:46 -0800] rev 27806
with: use context manager for wlock in debugrebuilddirstate
Fri, 15 Jan 2016 13:14:46 -0800 with: use context manager for wlock in copy
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:46 -0800] rev 27805
with: use context manager for wlock in copy
Fri, 15 Jan 2016 13:14:46 -0800 with: use context manager for wlock in branch
Bryan O'Sullivan <bryano@fb.com> [Fri, 15 Jan 2016 13:14:46 -0800] rev 27804
with: use context manager for wlock in branch
(0) -10000 -3000 -1000 -120 +120 +1000 +3000 +10000 tip