hgext/narrow/TODO.rst
author Martin von Zweigbergk <martinvonz@google.com>
Mon, 01 Oct 2018 14:31:15 -0700
changeset 40087 1d09ba0d2ed3
parent 40080 56d4f88530fc
child 41043 ce0bc2952e2a
permissions -rw-r--r--
narrow: move remaining narrow-limited dirstate walks to core In most places we now filter at a higher level (the context object), but there are few places that relied on the dirstate walk to be filtered by the narrowspec. The important cases are those used by `hg add` and `hg addremove`. This patch updates them to pass in a matcher instead of relying on the dirstate to do the filtering. The dirstate filtering is also dropped in narrowdirstate.py. Not always filtering in the dirstate should be useful for a future `hg status --include-outside-narrow` option. These places now end up doing an unrestricted dirstate walk after this patch: * debugfileset * perfwalk * sparse (but restricted to sparse config) * largefiles I'll let anyone who cares about these cases adapt them to work with narrow if necessary. Differential Revision: https://phab.mercurial-scm.org/D4901
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
40078
937ce75ea18c narrow: update TODO.rst now that the narrowspec is in .hg/store
Martin von Zweigbergk <martinvonz@google.com>
parents: 39771
diff changeset
     2
we've seen some odd bugs.
36104
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
     3
39771
a063786c89fb narrow: remove narrowrevlog
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39544
diff changeset
     4
Address commentary in manifest.excludedmanifestrevlog.add -
36104
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
     5
specifically we should improve the collaboration with core so that
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
     6
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
     7
the stand-in to raise a ProgrammingError.
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
     8
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
     9
Reason more completely about rename-filtering logic in
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    10
narrowfilelog. There could be some surprises lurking there.
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    11
40080
56d4f88530fc narrow: update TODO.rst now that we share format with sparse
Martin von Zweigbergk <martinvonz@google.com>
parents: 40079
diff changeset
    12
Formally document the narrowspec format. For bonus points, unify with the
56d4f88530fc narrow: update TODO.rst now that we share format with sparse
Martin von Zweigbergk <martinvonz@google.com>
parents: 40079
diff changeset
    13
server-specified narrowspec format.
36104
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    14
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    15
narrowrepo.setnarrowpats() or narrowspec.save() need to make sure
9b5df6e19a4f narrow: add a TODO document
Augie Fackler <augie@google.com>
parents:
diff changeset
    16
they're holding the wlock.
40087
1d09ba0d2ed3 narrow: move remaining narrow-limited dirstate walks to core
Martin von Zweigbergk <martinvonz@google.com>
parents: 40080
diff changeset
    17
1d09ba0d2ed3 narrow: move remaining narrow-limited dirstate walks to core
Martin von Zweigbergk <martinvonz@google.com>
parents: 40080
diff changeset
    18
The follinwg places do an unrestricted dirstate walk (including files outside the
1d09ba0d2ed3 narrow: move remaining narrow-limited dirstate walks to core
Martin von Zweigbergk <martinvonz@google.com>
parents: 40080
diff changeset
    19
narrowspec). Some of them should perhaps not do that.
1d09ba0d2ed3 narrow: move remaining narrow-limited dirstate walks to core
Martin von Zweigbergk <martinvonz@google.com>
parents: 40080
diff changeset
    20
1d09ba0d2ed3 narrow: move remaining narrow-limited dirstate walks to core
Martin von Zweigbergk <martinvonz@google.com>
parents: 40080
diff changeset
    21
 * debugfileset
1d09ba0d2ed3 narrow: move remaining narrow-limited dirstate walks to core
Martin von Zweigbergk <martinvonz@google.com>
parents: 40080
diff changeset
    22
 * perfwalk
1d09ba0d2ed3 narrow: move remaining narrow-limited dirstate walks to core
Martin von Zweigbergk <martinvonz@google.com>
parents: 40080
diff changeset
    23
 * sparse (but restricted to sparse config)
1d09ba0d2ed3 narrow: move remaining narrow-limited dirstate walks to core
Martin von Zweigbergk <martinvonz@google.com>
parents: 40080
diff changeset
    24
 * largefiles