405 |
405 |
406 def use_template(self, t): |
406 def use_template(self, t): |
407 '''set template string to use''' |
407 '''set template string to use''' |
408 self.t.cache['changeset'] = t |
408 self.t.cache['changeset'] = t |
409 |
409 |
410 def write(self, thing): |
410 def write(self, thing, header=False): |
411 '''write expanded template. |
411 '''write expanded template. |
412 uses in-order recursive traverse of iterators.''' |
412 uses in-order recursive traverse of iterators.''' |
413 for t in thing: |
413 for t in thing: |
414 if hasattr(t, '__iter__'): |
414 if hasattr(t, '__iter__'): |
415 self.write(t) |
415 self.write(t, header=header) |
|
416 elif header: |
|
417 self.ui.write_header(t) |
416 else: |
418 else: |
417 self.ui.write(t) |
419 self.ui.write(t) |
|
420 |
|
421 def write_header(self, thing): |
|
422 self.write(thing, header=True) |
418 |
423 |
419 def show(self, rev=0, changenode=None, brinfo=None): |
424 def show(self, rev=0, changenode=None, brinfo=None): |
420 '''show a single changeset or file revision''' |
425 '''show a single changeset or file revision''' |
421 log = self.repo.changelog |
426 log = self.repo.changelog |
422 if changenode is None: |
427 if changenode is None: |
547 'rev': rev, |
552 'rev': rev, |
548 'tags': showtags, |
553 'tags': showtags, |
549 } |
554 } |
550 |
555 |
551 try: |
556 try: |
|
557 if self.ui.debugflag and 'header_debug' in self.t: |
|
558 key = 'header_debug' |
|
559 elif self.ui.quiet and 'header_quiet' in self.t: |
|
560 key = 'header_quiet' |
|
561 elif self.ui.verbose and 'header_verbose' in self.t: |
|
562 key = 'header_verbose' |
|
563 elif 'header' in self.t: |
|
564 key = 'header' |
|
565 else: |
|
566 key = '' |
|
567 if key: |
|
568 self.write_header(self.t(key, **props)) |
552 if self.ui.debugflag and 'changeset_debug' in self.t: |
569 if self.ui.debugflag and 'changeset_debug' in self.t: |
553 key = 'changeset_debug' |
570 key = 'changeset_debug' |
554 elif self.ui.quiet and 'changeset_quiet' in self.t: |
571 elif self.ui.quiet and 'changeset_quiet' in self.t: |
555 key = 'changeset_quiet' |
572 key = 'changeset_quiet' |
556 elif self.ui.verbose and 'changeset_verbose' in self.t: |
573 elif self.ui.verbose and 'changeset_verbose' in self.t: |
1895 # Implement and delegate some ui protocol. Save hunks of |
1912 # Implement and delegate some ui protocol. Save hunks of |
1896 # output for later display in the desired order. |
1913 # output for later display in the desired order. |
1897 def __init__(self, ui): |
1914 def __init__(self, ui): |
1898 self.ui = ui |
1915 self.ui = ui |
1899 self.hunk = {} |
1916 self.hunk = {} |
|
1917 self.header = {} |
1900 def bump(self, rev): |
1918 def bump(self, rev): |
1901 self.rev = rev |
1919 self.rev = rev |
1902 self.hunk[rev] = [] |
1920 self.hunk[rev] = [] |
|
1921 self.header[rev] = [] |
1903 def note(self, *args): |
1922 def note(self, *args): |
1904 if self.verbose: |
1923 if self.verbose: |
1905 self.write(*args) |
1924 self.write(*args) |
1906 def status(self, *args): |
1925 def status(self, *args): |
1907 if not self.quiet: |
1926 if not self.quiet: |
1908 self.write(*args) |
1927 self.write(*args) |
1909 def write(self, *args): |
1928 def write(self, *args): |
1910 self.hunk[self.rev].append(args) |
1929 self.hunk[self.rev].append(args) |
|
1930 def write_header(self, *args): |
|
1931 self.header[self.rev].append(args) |
1911 def debug(self, *args): |
1932 def debug(self, *args): |
1912 if self.debugflag: |
1933 if self.debugflag: |
1913 self.write(*args) |
1934 self.write(*args) |
1914 def __getattr__(self, key): |
1935 def __getattr__(self, key): |
1915 return getattr(self.ui, key) |
1936 return getattr(self.ui, key) |
1962 prev = (parents and parents[0]) or nullid |
1983 prev = (parents and parents[0]) or nullid |
1963 dodiff(du, du, repo, prev, changenode, match=matchfn) |
1984 dodiff(du, du, repo, prev, changenode, match=matchfn) |
1964 du.write("\n\n") |
1985 du.write("\n\n") |
1965 elif st == 'iter': |
1986 elif st == 'iter': |
1966 if count == limit: break |
1987 if count == limit: break |
|
1988 if du.header[rev]: |
|
1989 for args in du.header[rev]: |
|
1990 ui.write_header(*args) |
1967 if du.hunk[rev]: |
1991 if du.hunk[rev]: |
1968 count += 1 |
1992 count += 1 |
1969 for args in du.hunk[rev]: |
1993 for args in du.hunk[rev]: |
1970 ui.write(*args) |
1994 ui.write(*args) |
1971 |
1995 |