Show More
@@ -270,6 +270,18 b' class abstractsubrepo(object):' | |||
|
270 | 270 | def incoming(self, ui, source, opts): |
|
271 | 271 | return 1 |
|
272 | 272 | |
|
273 | def files(self): | |
|
274 | """return filename iterator""" | |
|
275 | raise NotImplementedError | |
|
276 | ||
|
277 | def filedata(self, name): | |
|
278 | """return file data""" | |
|
279 | raise NotImplementedError | |
|
280 | ||
|
281 | def fileflags(self, name): | |
|
282 | """return file flags""" | |
|
283 | return '' | |
|
284 | ||
|
273 | 285 | class hgsubrepo(abstractsubrepo): |
|
274 | 286 | def __init__(self, ctx, path, state): |
|
275 | 287 | self._path = path |
@@ -406,6 +418,21 b' class hgsubrepo(abstractsubrepo):' | |||
|
406 | 418 | def incoming(self, ui, source, opts): |
|
407 | 419 | return hg.incoming(ui, self._repo, _abssource(self._repo, False), opts) |
|
408 | 420 | |
|
421 | def files(self): | |
|
422 | rev = self._state[1] | |
|
423 | ctx = self._repo[rev] | |
|
424 | return ctx.manifest() | |
|
425 | ||
|
426 | def filedata(self, name): | |
|
427 | rev = self._state[1] | |
|
428 | return self._repo[rev][name].data() | |
|
429 | ||
|
430 | def fileflags(self, name): | |
|
431 | rev = self._state[1] | |
|
432 | ctx = self._repo[rev] | |
|
433 | return ctx.flags(name) | |
|
434 | ||
|
435 | ||
|
409 | 436 | class svnsubrepo(abstractsubrepo): |
|
410 | 437 | def __init__(self, ctx, path, state): |
|
411 | 438 | self._path = path |
@@ -508,6 +535,15 b' class svnsubrepo(abstractsubrepo):' | |||
|
508 | 535 | # push is a no-op for SVN |
|
509 | 536 | return True |
|
510 | 537 | |
|
538 | def files(self): | |
|
539 | output = self._svncommand(['list']) | |
|
540 | # This works because svn forbids \n in filenames. | |
|
541 | return output.splitlines() | |
|
542 | ||
|
543 | def filedata(self, name): | |
|
544 | return self._svncommand(['cat'], name) | |
|
545 | ||
|
546 | ||
|
511 | 547 | types = { |
|
512 | 548 | 'hg': hgsubrepo, |
|
513 | 549 | 'svn': svnsubrepo, |
General Comments 0
You need to be logged in to leave comments.
Login now