891 else: |
891 else: |
892 return commiteditor |
892 return commiteditor |
893 |
893 |
894 def makefilename(repo, pat, node, desc=None, |
894 def makefilename(repo, pat, node, desc=None, |
895 total=None, seqno=None, revwidth=None, pathname=None): |
895 total=None, seqno=None, revwidth=None, pathname=None): |
896 node_expander = { |
896 expander = { |
897 'H': lambda: hex(node), |
897 'H': lambda: hex(node), |
898 'R': lambda: '%d' % repo.changelog.rev(node), |
898 'R': lambda: '%d' % repo.changelog.rev(node), |
899 'h': lambda: short(node), |
899 'h': lambda: short(node), |
900 'm': lambda: re.sub('[^\w]', '_', desc or '') |
900 'm': lambda: re.sub('[^\w]', '_', desc or ''), |
901 } |
901 'r': lambda: ('%d' % repo.changelog.rev(node)).zfill(revwidth or 0), |
902 expander = { |
|
903 '%': lambda: '%', |
902 '%': lambda: '%', |
904 'b': lambda: os.path.basename(repo.root), |
903 'b': lambda: os.path.basename(repo.root), |
905 } |
904 } |
906 |
905 |
907 try: |
906 try: |
908 if node: |
|
909 expander.update(node_expander) |
|
910 if node: |
|
911 expander['r'] = (lambda: |
|
912 ('%d' % repo.changelog.rev(node)).zfill(revwidth or 0)) |
|
913 if total is not None: |
907 if total is not None: |
914 expander['N'] = lambda: '%d' % total |
908 expander['N'] = lambda: '%d' % total |
915 if seqno is not None: |
909 if seqno is not None: |
916 expander['n'] = lambda: '%d' % seqno |
910 expander['n'] = lambda: '%d' % seqno |
917 if total is not None and seqno is not None: |
911 if total is not None and seqno is not None: |
958 return self |
952 return self |
959 |
953 |
960 def __exit__(self, exc_type, exc_value, exc_tb): |
954 def __exit__(self, exc_type, exc_value, exc_tb): |
961 pass |
955 pass |
962 |
956 |
963 def makefileobj(repo, pat, node=None, desc=None, total=None, |
957 def makefileobj(repo, pat, node, desc=None, total=None, |
964 seqno=None, revwidth=None, mode='wb', modemap=None, |
958 seqno=None, revwidth=None, mode='wb', modemap=None, |
965 pathname=None): |
959 pathname=None): |
966 |
960 |
967 writable = mode not in ('r', 'rb') |
961 writable = mode not in ('r', 'rb') |
968 |
962 |