Gregory Szorc <gregory.szorc@gmail.com> [Thu, 16 Apr 2015 11:32:46 -0400] rev 24761
tags: return empty list of heads for no .hgtags case
The caller only uses the heads to resolve tags from content of .hgtags.
Returning a non-empty array is pointless if there is no .hgtags file.
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 16 Apr 2015 12:01:00 -0400] rev 24760
tags: change format of tags cache files
.hgtags fnodes are now written to a shared cache file. They don't need
to exist in the per-filter tags cache files. Stop writing them.
The format of the tags cache file has changed in a backwards
incompatible way. This should be acceptable, as we just established
per-filter tags cache files and no client should have per-filter tags
cache files that will need to be read. So no backwards compatbility
concern is present.
The new format has a single header line followed by resolved tags
entries.
The header line is similar to the old first line with a major
difference: we now compute and store a hash of the filtered revisions.
Before, if the set of filtered revs changed, we may return incorrect
results. We now detect that.
A test for verifying filtered rev change is handled properly has been
added.
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 16 Apr 2015 10:12:44 -0400] rev 24759
tags: don't read .hgtags fnodes from tags cache files
Now that we have a standalone and shared cache for .hgtags fnodes, the
.hgtags fnodes stored in the tags cache files are redundant.
Upcoming patches will change the format of the tags cache files to
remove this data and to improve the validation. To prepare for this, we
change the tags reading code to ignore all but the tip .hgtags fnodes
entries in existing tags cache files.
All fnodes lookups now go through our new shared cache, which is why
test output changed. Format of tags cache files has not yet changed.
Tony Tung <tonytung@fb.com> [Mon, 13 Apr 2015 14:54:02 -0400] rev 24758
rebase: restore bookmark state on abort
The bookmark state was already being preserved, but it wasn't being
properly restored.
Durham Goode <durham@fb.com> [Sat, 04 Apr 2015 02:37:43 -0700] rev 24757
histedit: store backup file before histedit
It's possible for the user to delete some of the commits they started with
during a histedit, and aborting the histedit doesn't bring them back. Let's
store a backup bundle so we can always recover the stack of commits from before
they began.
Durham Goode <durham@fb.com> [Mon, 13 Apr 2015 08:23:57 -0700] rev 24756
histedit: replace pickle with custom serialization
Pickle is undesirable, so let's serialize it ourselves. We keep the ability to
parse existing pickle blobs for now.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 15 Apr 2015 01:18:09 -0400] rev 24755
devel-warn: add a prefix to all messages ("devel-warn: ")
We want to make the origin and importance of the message clear to developers.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 15 Apr 2015 10:36:21 -0400] rev 24754
push: acquire local 'wlock' if "pushback" is expected (BC) (issue4596)
If the client allows "pushback", the bundle2 served back by the server may
contains parts that will write to the repository. Such parts may require the
'wlock' (eg: bookmark) so we acquire it in advance to make sure it got acquired
before the 'lock'.
Yuya Nishihara <yuya@tcha.org> [Thu, 16 Apr 2015 22:33:53 +0900] rev 24753
annotate: always prepare ancestry context of base fctx (issue4600)
This patch extends the workaround introduced by dd01834a696f. Even if the
base fctx is the same as intorrev, _ancestrycontext must be built for faster
_changeid lookup.
repo: https://hg.mozilla.org/releases/mozilla-beta
command: hg annotate -r 4954faa47dd0 gfx/thebes/gfxWindowsPlatform.cpp
before: 52.450 sec
after: 1.820 sec
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 15 Apr 2015 01:16:40 -0400] rev 24752
unbundle: acquire 'wlock' when processing bundle2 (BC) (issue4596)
A bundle2 may contain bookmark updates (or other extension content) that
requires the 'wlock' to be written. As 'wlock' must be acquired before 'lock',
we must stay on the side of caution and use both in all case to ensure their
ordering.