##// END OF EJS Templates
repo: create changectx in a single place in localrepo.__getitem__...
Martin von Zweigbergk -
r40100:5c3585a5 default
parent child Browse files
Show More
@@ -1222,26 +1222,21 b' class localrepository(object):'
1222 if isinstance(changeid, int):
1222 if isinstance(changeid, int):
1223 node = self.changelog.node(changeid)
1223 node = self.changelog.node(changeid)
1224 rev = changeid
1224 rev = changeid
1225 return context.changectx(self, rev, node)
1226 elif changeid == 'null':
1225 elif changeid == 'null':
1227 node = nullid
1226 node = nullid
1228 rev = nullrev
1227 rev = nullrev
1229 return context.changectx(self, rev, node)
1230 elif changeid == 'tip':
1228 elif changeid == 'tip':
1231 node = self.changelog.tip()
1229 node = self.changelog.tip()
1232 rev = self.changelog.rev(node)
1230 rev = self.changelog.rev(node)
1233 return context.changectx(self, rev, node)
1234 elif changeid == '.':
1231 elif changeid == '.':
1235 # this is a hack to delay/avoid loading obsmarkers
1232 # this is a hack to delay/avoid loading obsmarkers
1236 # when we know that '.' won't be hidden
1233 # when we know that '.' won't be hidden
1237 node = self.dirstate.p1()
1234 node = self.dirstate.p1()
1238 rev = self.unfiltered().changelog.rev(node)
1235 rev = self.unfiltered().changelog.rev(node)
1239 return context.changectx(self, rev, node)
1240 elif len(changeid) == 20:
1236 elif len(changeid) == 20:
1241 try:
1237 try:
1242 node = changeid
1238 node = changeid
1243 rev = self.changelog.rev(changeid)
1239 rev = self.changelog.rev(changeid)
1244 return context.changectx(self, rev, node)
1245 except error.FilteredLookupError:
1240 except error.FilteredLookupError:
1246 changeid = hex(changeid) # for the error message
1241 changeid = hex(changeid) # for the error message
1247 raise
1242 raise
@@ -1260,12 +1255,13 b' class localrepository(object):'
1260 elif len(changeid) == 40:
1255 elif len(changeid) == 40:
1261 node = bin(changeid)
1256 node = bin(changeid)
1262 rev = self.changelog.rev(node)
1257 rev = self.changelog.rev(node)
1263 return context.changectx(self, rev, node)
1264 else:
1258 else:
1265 raise error.ProgrammingError(
1259 raise error.ProgrammingError(
1266 "unsupported changeid '%s' of type %s" %
1260 "unsupported changeid '%s' of type %s" %
1267 (changeid, type(changeid)))
1261 (changeid, type(changeid)))
1268
1262
1263 return context.changectx(self, rev, node)
1264
1269 except (error.FilteredIndexError, error.FilteredLookupError):
1265 except (error.FilteredIndexError, error.FilteredLookupError):
1270 raise error.FilteredRepoLookupError(_("filtered revision '%s'")
1266 raise error.FilteredRepoLookupError(_("filtered revision '%s'")
1271 % pycompat.bytestr(changeid))
1267 % pycompat.bytestr(changeid))
General Comments 0
You need to be logged in to leave comments. Login now