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+')