Mercurial > hg
comparison mercurial/localrepo.py @ 5801:1b230f506346
hg tag: run tag hook just once
author | John Coomes <john.coomes@sun.com> |
---|---|
date | Tue, 18 Dec 2007 12:45:30 -0800 |
parents | 61462e7d62ed |
children | 41ca0e20117e f791a2acf11b |
comparison
equal
deleted
inserted
replaced
5800:2f597243e1d7 | 5801:1b230f506346 |
---|---|
120 def writetag(fp, name, munge, prevtags): | 120 def writetag(fp, name, munge, prevtags): |
121 if prevtags and prevtags[-1] != '\n': | 121 if prevtags and prevtags[-1] != '\n': |
122 fp.write('\n') | 122 fp.write('\n') |
123 fp.write('%s %s\n' % (hex(node), munge and munge(name) or name)) | 123 fp.write('%s %s\n' % (hex(node), munge and munge(name) or name)) |
124 fp.close() | 124 fp.close() |
125 self.hook('tag', node=hex(node), tag=name, local=local) | |
126 | 125 |
127 prevtags = '' | 126 prevtags = '' |
128 if local: | 127 if local: |
129 try: | 128 try: |
130 fp = self.opener('localtags', 'r+') | 129 fp = self.opener('localtags', 'r+') |
133 else: | 132 else: |
134 prevtags = fp.read() | 133 prevtags = fp.read() |
135 | 134 |
136 # local tags are stored in the current charset | 135 # local tags are stored in the current charset |
137 writetag(fp, name, None, prevtags) | 136 writetag(fp, name, None, prevtags) |
137 self.hook('tag', node=hex(node), tag=name, local=local) | |
138 return | 138 return |
139 | 139 |
140 if use_dirstate: | 140 if use_dirstate: |
141 try: | 141 try: |
142 fp = self.wfile('.hgtags', 'rb+') | 142 fp = self.wfile('.hgtags', 'rb+') |