Show More
@@ -1054,7 +1054,7 b" def makefileobj(ctx, pat, mode='wb', **p" | |||||
1054 | fn = makefilename(ctx, pat, **props) |
|
1054 | fn = makefilename(ctx, pat, **props) | |
1055 | return open(fn, mode) |
|
1055 | return open(fn, mode) | |
1056 |
|
1056 | |||
1057 |
def openre |
|
1057 | def openstorage(repo, cmd, file_, opts, returnrevlog=False): | |
1058 | """opens the changelog, manifest, a filelog or a given revlog""" |
|
1058 | """opens the changelog, manifest, a filelog or a given revlog""" | |
1059 | cl = opts['changelog'] |
|
1059 | cl = opts['changelog'] | |
1060 | mf = opts['manifest'] |
|
1060 | mf = opts['manifest'] | |
@@ -1092,7 +1092,21 b' def openrevlog(repo, cmd, file_, opts):' | |||||
1092 | filelog = repo.file(file_) |
|
1092 | filelog = repo.file(file_) | |
1093 | if len(filelog): |
|
1093 | if len(filelog): | |
1094 | r = filelog |
|
1094 | r = filelog | |
|
1095 | ||||
|
1096 | # Not all storage may be revlogs. If requested, try to return an actual | |||
|
1097 | # revlog instance. | |||
|
1098 | if returnrevlog: | |||
|
1099 | if isinstance(r, revlog.revlog): | |||
|
1100 | pass | |||
|
1101 | elif util.safehasattr(r, '_revlog'): | |||
|
1102 | r = r._revlog | |||
|
1103 | elif r is not None: | |||
|
1104 | raise error.Abort(_('%r does not appear to be a revlog') % r) | |||
|
1105 | ||||
1095 | if not r: |
|
1106 | if not r: | |
|
1107 | if not returnrevlog: | |||
|
1108 | raise error.Abort(_('cannot give path to non-revlog')) | |||
|
1109 | ||||
1096 | if not file_: |
|
1110 | if not file_: | |
1097 | raise error.CommandError(cmd, _('invalid arguments')) |
|
1111 | raise error.CommandError(cmd, _('invalid arguments')) | |
1098 | if not os.path.isfile(file_): |
|
1112 | if not os.path.isfile(file_): | |
@@ -1101,6 +1115,18 b' def openrevlog(repo, cmd, file_, opts):' | |||||
1101 | file_[:-2] + ".i") |
|
1115 | file_[:-2] + ".i") | |
1102 | return r |
|
1116 | return r | |
1103 |
|
1117 | |||
|
1118 | def openrevlog(repo, cmd, file_, opts): | |||
|
1119 | """Obtain a revlog backing storage of an item. | |||
|
1120 | ||||
|
1121 | This is similar to ``openstorage()`` except it always returns a revlog. | |||
|
1122 | ||||
|
1123 | In most cases, a caller cares about the main storage object - not the | |||
|
1124 | revlog backing it. Therefore, this function should only be used by code | |||
|
1125 | that needs to examine low-level revlog implementation details. e.g. debug | |||
|
1126 | commands. | |||
|
1127 | """ | |||
|
1128 | return openstorage(repo, cmd, file_, opts, returnrevlog=True) | |||
|
1129 | ||||
1104 | def copy(ui, repo, pats, opts, rename=False): |
|
1130 | def copy(ui, repo, pats, opts, rename=False): | |
1105 | # called with the repo lock held |
|
1131 | # called with the repo lock held | |
1106 | # |
|
1132 | # |
General Comments 0
You need to be logged in to leave comments.
Login now