Matt Mackall <mpm@selenic.com> [Tue, 26 Aug 2014 13:11:53 +0200] rev 22282
repoview: fix 0L with pack/unpack for 2.4
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> [Mon, 25 Aug 2014 15:10:09 +0200] rev 22281
help: add pad function to template help
Commit
aa51392da507 introduced a pad function for use in templates, but did
not add the corresponding documentation to 'hg help templating'.
Mike Edgar <adgar@google.com> [Fri, 22 Aug 2014 16:40:34 -0400] rev 22280
histedit: use str.startswith to check for comments in action list
Mike Edgar <adgar@google.com> [Fri, 22 Aug 2014 16:37:55 -0400] rev 22279
histedit: drop duplicate line extracting keep option
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 23 Aug 2014 23:03:50 +0900] rev 22278
import: avoid editor invocation when importing with "--exact" for exact-ness
Before this patch, external editor is invoked when imported patch has
no commit message, even if "--exact" is specified. Then, exact-ness is
broken, because empty commit message causes failure of committing.
This patch avoids editor invocation at importing with "--exact" for
exact-ness, because commit message in the patch should be kept as it
is in such case, even if it is empty.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 23 Aug 2014 23:03:50 +0900] rev 22277
import: disallow meaningless combination of "--exact" and "--edit"
Before this patch, "hg import" allows combination of "--exact" and
"--edit", even though editing commit message breaks exact-ness.
This patch disallows meaningless combination of "--exact" and "--edit".
Razvan Cojocaru <razvan.cojocaru93@gmail.com> [Sun, 16 Mar 2014 17:31:31 +0200] rev 22276
config: highlight parse error caused by leading spaces (
issue3214)
Added "unexpected leading whitespace" message to parse error
when .hgrc has a line that starts with whitespace.
Helps new users unfamiliar with syntax of rc file.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 20 Aug 2014 22:52:56 -0700] rev 22275
test-config: add tests for invalid syntax
This was not tested and there is more to come in the next patch.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 19 Aug 2014 23:22:44 -0700] rev 22274
debugobsolete: add a --rev argument
This argument can be used to list markers relevant to a set of revisions. We
add a test for this option and the relevant computation in the same move.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 20 Aug 2014 18:11:23 -0700] rev 22273
obsolete: rename `allmarkers` to `getmarkers`
This function is going to gain a "nodes" argument to filter the markers to the
ones relevant to <nodes> only.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 20 Aug 2014 00:43:08 -0700] rev 22272
debugobsolete: add a way to record parent information
We add a ``--record-parents`` flag to debugobsolete. This can be used to record
parent information in the marker when the precursors are known locally. This
will be useful to test the "relevant markers" computation.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 19 Aug 2014 17:03:10 -0700] rev 22271
obsstore: add relevantmarkers method
We add a ``relevantmarkers`` method to fetch all markers that seem relevant to a
set of nodes. See function documentation about how this set is computed. This
will let us exchange only the markers that seem "relevant" to the set of
changesets related to a push or a pull.
The approach used to define "relevant" has been successfully tested in evolve
for 6 months.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 19 Aug 2014 16:53:53 -0700] rev 22270
obsstore: keep track of children information
We use the new `parents` field to build a dictionary of markers that touch
children of a node. This will be used to link prune markers to a set of
exchanged nodes.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 20 Aug 2014 17:36:54 -0700] rev 22269
push: check if local and remote support evolution during discovery
We can now directly prevent any evolution-related operation from happening by using
an empty set for outgoing markers. So we detect if no transfers should occur and
use an empty set in this case.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 19 Aug 2014 16:46:17 -0700] rev 22268
obsstore: drop outdated comment
This comment was associated with a now-defunct line.
Augie Fackler <raf@durin42.com> [Thu, 21 Aug 2014 10:07:30 -0400] rev 22267
cvsps: add two more tiebreakers in cscmp
test-convert-cvs.t has been a little flaky for a while now. Add an
extra tiebreaker in cscmp so that all the cases in the test will sort
reliably.
Without this patch, test-convert-cvs.t failed after 346 runs. With
this patch, I stopped trying to get it to fail after 615 runs. While
not conclusive, that makes me pretty optimistic that this is a working
fix.
Yuya Nishihara <yuya@tcha.org> [Sat, 16 Aug 2014 17:59:26 +0900] rev 22266
annotate: abort early if no file is specified
This change is intended to move the getdate function near the opmap table.
Siddharth Agarwal <sid0@fb.com> [Wed, 20 Aug 2014 15:07:25 -0700] rev 22265
purge: avoid full walks when directories aren't purged
If match.traversedir is not None, we're forced to do full walks. However when
we aren't purging directories we don't need to set match.traversedir to
anything.
This speeds up non-full walks such as the one hgwatchman makes possible. For
mozilla-central with hgwatchman enabled, 'hg purge --files' goes from 0.88
seconds to 0.22.
Siddharth Agarwal <sid0@fb.com> [Thu, 21 Aug 2014 16:05:29 -0700] rev 22264
clone: for local clones, copy over filtered branchcaches as well (
issue4286)
Local clones copy/hardlink over files directly, so the branchcaches should all
be valid. There's a slight chance that a read operation would update one of the
branchcaches, but we hold a lock over the source repo so they shouldn't cause
an invalid branchcache to be copied over, just a different, valid one.
Siddharth Agarwal <sid0@fb.com> [Thu, 21 Aug 2014 15:58:32 -0700] rev 22263
clone: for local clones, copy branchcache from the right location (
issue4286)
The unfiltered branchcache is in .hg/cache/branch2, not
.hg/store/cache/branch2.
Augie Fackler <raf@durin42.com> [Wed, 20 Aug 2014 14:33:59 -0400] rev 22262
obsolete: avoid 2-argument form of enumerate, which was new in Python 2.6
Augie Fackler <raf@durin42.com> [Wed, 20 Aug 2014 13:21:41 -0400] rev 22261
repoview: use util.sha1() instead of hashlib.sha1()
45b5cd948a4d accidentally broke Python 2.4 compatibility, this fixes it.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 18 Aug 2014 17:17:23 -0700] rev 22260
debugobsolete: display parents information from markers
Now that we have a new field, we need a way to visualize it.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 18 Aug 2014 17:14:27 -0700] rev 22259
obsmarkers: add a `parentnodes` method to retrieve parent information
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 18 Aug 2014 16:28:44 -0700] rev 22258
obsstore: also store the 'parents' field on disk
We now store the `parents` field on disk. We use the same strategy as for
`date`: We stick it into the metadata. This is slow and dirty, but this is also
the only way we currently have.
At some point we'll have a new obsstore format to store this properly.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 18 Aug 2014 17:06:08 -0700] rev 22257
obsstore: drop 'date' from the metadata dictionary
We are extracting the `date` information from the metadata at read time.
However, we failed to remove it from the metadata returned in the markers. This
is now fixed.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 18 Aug 2014 16:17:16 -0700] rev 22256
createmarkers: automatically record the parent of pruned changesets
We need this information to build the set of relevant markers during
exchanges. This can only be done at the `createmarkers` level since
the `obsstore.create` function does not have a repo and therefore has
no access to the parent information.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 18 Aug 2014 16:12:29 -0700] rev 22255
obsstore: add a `parents` argument to obsstore.create
We need a way to pass the information to the function. Some guru told me that
what's arguments are made for.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 18 Aug 2014 16:08:44 -0700] rev 22254
obsstore: add a `parents` field
This field is intended to store the parent of the precursor. This is useful to
attach pruned changesets to a set of exchanged changesets. We currently just
add the fields with a None value. None stands for "no data recorded".
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 19 Aug 2014 14:42:08 -0700] rev 22253
obsstore: add some documentation about the marker fields
As the number of fields grow, it makes sense to start documenting their contents.