Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/commands.py @ 2033:e3280d350792
Group changes done by the same developer on the same with --style=changelog
Changeset and tags are appended to the change message for non-quiet and
non-verbose output, so grouping works.
Fixes last bit of issue110.
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Sat, 01 Apr 2006 21:37:08 +0200 |
parents | d436b21b20dc |
children | 5e7aff1b6ae1 |
comparison
equal
deleted
inserted
replaced
2032:cd6bdbc508dd | 2033:e3280d350792 |
---|---|
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 |