Mercurial > public > mercurial-scm > hg
comparison mercurial/localrepo.py @ 8402:0ad521500424
tag: drop unused use_dirstate and parent from _tag()
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Thu, 14 May 2009 13:20:40 -0500 |
parents | ca7dc47eecc6 |
children | 553909cd1baa |
comparison
equal
deleted
inserted
replaced
8401:ca7dc47eecc6 | 8402:0ad521500424 |
---|---|
127 def hook(self, name, throw=False, **args): | 127 def hook(self, name, throw=False, **args): |
128 return hook.hook(self.ui, self, name, throw, **args) | 128 return hook.hook(self.ui, self, name, throw, **args) |
129 | 129 |
130 tag_disallowed = ':\r\n' | 130 tag_disallowed = ':\r\n' |
131 | 131 |
132 def _tag(self, names, node, message, local, user, date, parent=None, | 132 def _tag(self, names, node, message, local, user, date, extra={}): |
133 extra={}): | |
134 use_dirstate = parent is None | |
135 | |
136 if isinstance(names, str): | 133 if isinstance(names, str): |
137 allchars = names | 134 allchars = names |
138 names = (names,) | 135 names = (names,) |
139 else: | 136 else: |
140 allchars = ''.join(names) | 137 allchars = ''.join(names) |
171 writetags(fp, names, None, prevtags) | 168 writetags(fp, names, None, prevtags) |
172 for name in names: | 169 for name in names: |
173 self.hook('tag', node=hex(node), tag=name, local=local) | 170 self.hook('tag', node=hex(node), tag=name, local=local) |
174 return | 171 return |
175 | 172 |
176 if use_dirstate: | 173 try: |
177 try: | 174 fp = self.wfile('.hgtags', 'rb+') |
178 fp = self.wfile('.hgtags', 'rb+') | 175 except IOError: |
179 except IOError: | 176 fp = self.wfile('.hgtags', 'ab') |
180 fp = self.wfile('.hgtags', 'ab') | |
181 else: | |
182 prevtags = fp.read() | |
183 else: | 177 else: |
184 try: | 178 prevtags = fp.read() |
185 prevtags = self.filectx('.hgtags', parent).data() | |
186 except error.LookupError: | |
187 pass | |
188 fp = self.wfile('.hgtags', 'wb') | |
189 if prevtags: | |
190 fp.write(prevtags) | |
191 | 179 |
192 # committed tags are stored in UTF-8 | 180 # committed tags are stored in UTF-8 |
193 writetags(fp, names, encoding.fromlocal, prevtags) | 181 writetags(fp, names, encoding.fromlocal, prevtags) |
194 | 182 |
195 if use_dirstate and '.hgtags' not in self.dirstate: | 183 if '.hgtags' not in self.dirstate: |
196 self.add(['.hgtags']) | 184 self.add(['.hgtags']) |
197 | 185 |
198 tagnode = self.commit(['.hgtags'], message, user, date, p1=parent, | 186 tagnode = self.commit(['.hgtags'], message, user, date, extra=extra) |
199 extra=extra) | |
200 | 187 |
201 for name in names: | 188 for name in names: |
202 self.hook('tag', node=hex(node), tag=name, local=local) | 189 self.hook('tag', node=hex(node), tag=name, local=local) |
203 | 190 |
204 return tagnode | 191 return tagnode |