Show More
@@ -88,7 +88,9 b' 3. remotefilelog only works with ssh bas' | |||
|
88 | 88 | |
|
89 | 89 | 4. Tags are not supported in completely shallow repos. If you use tags in your repo you will have to specify `excludepattern=.hgtags` in your client configuration to ensure that file is downloaded. The include/excludepattern settings are experimental at the moment and have yet to be deployed in a production environment. |
|
90 | 90 | |
|
91 | 5. A few commands will be slower. `hg log <filename>` will be much slower since it has to walk the entire commit history instead of just the filelog. Use `hg log -f <filename>` instead, which remains very fast. | |
|
91 | 5. Similarly, subrepositories should not be used with completely shallow repos. Use `excludepattern=.hgsub*` in your client configuration to ensure that the files are downloaded. | |
|
92 | ||
|
93 | 6. A few commands will be slower. `hg log <filename>` will be much slower since it has to walk the entire commit history instead of just the filelog. Use `hg log -f <filename>` instead, which remains very fast. | |
|
92 | 94 | |
|
93 | 95 | Contributing |
|
94 | 96 | ============ |
@@ -244,11 +244,11 b' class remotefilelog(object):' | |||
|
244 | 244 | __bool__ = __nonzero__ |
|
245 | 245 | |
|
246 | 246 | def __len__(self): |
|
247 |
if self.filename |
|
|
248 | # The length of .hgtags is used to fast path tag checking. | |
|
249 | # remotefilelog doesn't support .hgtags since the entire .hgtags | |
|
250 | # history is needed. Use the excludepattern setting to make | |
|
251 |
# |
|
|
247 | if self.filename in (b'.hgtags', b'.hgsub', b'.hgsubstate'): | |
|
248 | # Global tag and subrepository support require access to the | |
|
249 | # file history for various performance sensitive operations. | |
|
250 | # excludepattern should be used for repositories depending on | |
|
251 | # those features to fallback to regular filelog. | |
|
252 | 252 | return 0 |
|
253 | 253 | |
|
254 | 254 | raise RuntimeError(b"len not supported") |
@@ -521,8 +521,16 b' def _pushdiscovery(pushop):' | |||
|
521 | 521 | |
|
522 | 522 | def _checksubrepostate(pushop): |
|
523 | 523 | """Ensure all outgoing referenced subrepo revisions are present locally""" |
|
524 | ||
|
525 | repo = pushop.repo | |
|
526 | ||
|
527 | # If the repository does not use subrepos, skip the expensive | |
|
528 | # manifest checks. | |
|
529 | if not len(repo.file(b'.hgsub')) or not len(repo.file(b'.hgsubstate')): | |
|
530 | return | |
|
531 | ||
|
524 | 532 | for n in pushop.outgoing.missing: |
|
525 |
ctx = |
|
|
533 | ctx = repo[n] | |
|
526 | 534 | |
|
527 | 535 | if b'.hgsub' in ctx.manifest() and b'.hgsubstate' in ctx.files(): |
|
528 | 536 | for subpath in sorted(ctx.substate): |
General Comments 0
You need to be logged in to leave comments.
Login now