comparison mercurial/localrepo.py @ 5747:f75ca1b0c81e

hg tag: run tag hook just once
author John Coomes <john.coomes@sun.com>
date Tue, 18 Dec 2007 12:45:30 -0800
parents 14789f30ac11
children 6183df642f95
comparison
equal deleted inserted replaced
5746:d3ef7e86bc3b 5747:f75ca1b0c81e
121 def writetag(fp, name, munge, prevtags): 121 def writetag(fp, name, munge, prevtags):
122 if prevtags and prevtags[-1] != '\n': 122 if prevtags and prevtags[-1] != '\n':
123 fp.write('\n') 123 fp.write('\n')
124 fp.write('%s %s\n' % (hex(node), munge and munge(name) or name)) 124 fp.write('%s %s\n' % (hex(node), munge and munge(name) or name))
125 fp.close() 125 fp.close()
126 self.hook('tag', node=hex(node), tag=name, local=local)
127 126
128 prevtags = '' 127 prevtags = ''
129 if local: 128 if local:
130 try: 129 try:
131 fp = self.opener('localtags', 'r+') 130 fp = self.opener('localtags', 'r+')
134 else: 133 else:
135 prevtags = fp.read() 134 prevtags = fp.read()
136 135
137 # local tags are stored in the current charset 136 # local tags are stored in the current charset
138 writetag(fp, name, None, prevtags) 137 writetag(fp, name, None, prevtags)
138 self.hook('tag', node=hex(node), tag=name, local=local)
139 return 139 return
140 140
141 if use_dirstate: 141 if use_dirstate:
142 try: 142 try:
143 fp = self.wfile('.hgtags', 'rb+') 143 fp = self.wfile('.hgtags', 'rb+')