hgext/narrow/TODO.rst
author Gregory Szorc <gregory.szorc@gmail.com>
Tue, 07 Aug 2018 15:31:03 -0700
changeset 39006 5959ef78d834
parent 36104 9b5df6e19a4f
child 39544 10a8472f6662
permissions -rw-r--r--
changegroup: inline _packmanifests() into generatemanifests() It is relatively small. Every other generate*() calls group() directly. So the new code is consistent. Differential Revision: https://phab.mercurial-scm.org/D4198
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
36104
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
     1
Integration with the share extension needs improvement. Right now
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
     2
we've seen some odd bugs, and the way we modify the contents of the
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
     3
.hg/shared file is unfortunate. See wrappostshare() and unsharenarrowspec().
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
     4
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
     5
Resolve commentary on narrowrepo.wraprepo.narrowrepository.status
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
     6
about the filtering of status being done at an awkward layer. This
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
     7
came up the import to hgext, but nobody's got concrete improvement
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
     8
ideas as of then.
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
     9
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    10
Fold most (or preferably all) of narrowrevlog.py into core.
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    11
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    12
Address commentary in narrowrevlog.excludedmanifestrevlog.add -
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    13
specifically we should improve the collaboration with core so that
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    14
add() never gets called on an excluded directory and we can improve
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    15
the stand-in to raise a ProgrammingError.
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    16
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    17
Figure out how to correctly produce narrowmanifestrevlog and
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    18
narrowfilelog instances instead of monkeypatching regular revlogs at
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    19
runtime to our subclass. Even better, merge the narrowing logic
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    20
directly into core.
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    21
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    22
Reason more completely about rename-filtering logic in
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    23
narrowfilelog. There could be some surprises lurking there.
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    24
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    25
Formally document the narrowspec format. Unify with sparse, if at all
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    26
possible. For bonus points, unify with the server-specified narrowspec
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    27
format.
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    28
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    29
narrowrepo.setnarrowpats() or narrowspec.save() need to make sure
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    30
they're holding the wlock.
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    31
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    32
Implement a simple version of the expandnarrow wireproto command for
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    33
core. Having configurable shorthands for narrowspecs has been useful
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    34
at Google (and sparse has a similar feature from Facebook), so it
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    35
probably makes sense to implement the feature in core. (Google's
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    36
handler is entirely custom to Google, with a custom format related to
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    37
bazel's build language, so it's not in the narrowhg distribution.)