equal
deleted
inserted
replaced
29 ''' |
29 ''' |
30 |
30 |
31 from mercurial.i18n import _ |
31 from mercurial.i18n import _ |
32 from mercurial.node import nullid, nullrev, bin, hex, short |
32 from mercurial.node import nullid, nullrev, bin, hex, short |
33 from mercurial import util, commands, repair, extensions, pushkey, hg, url |
33 from mercurial import util, commands, repair, extensions, pushkey, hg, url |
34 from mercurial import revset |
34 from mercurial import revset, encoding |
35 import os |
35 import os |
36 |
36 |
37 def write(repo): |
37 def write(repo): |
38 '''Write bookmarks |
38 '''Write bookmarks |
39 |
39 |
50 setcurrent(repo, None) |
50 setcurrent(repo, None) |
51 wlock = repo.wlock() |
51 wlock = repo.wlock() |
52 try: |
52 try: |
53 file = repo.opener('bookmarks', 'w', atomictemp=True) |
53 file = repo.opener('bookmarks', 'w', atomictemp=True) |
54 for refspec, node in refs.iteritems(): |
54 for refspec, node in refs.iteritems(): |
55 file.write("%s %s\n" % (hex(node), refspec)) |
55 file.write("%s %s\n" % (hex(node), encoding.fromlocal(refspec))) |
56 file.rename() |
56 file.rename() |
57 |
57 |
58 # touch 00changelog.i so hgweb reloads bookmarks (no lock needed) |
58 # touch 00changelog.i so hgweb reloads bookmarks (no lock needed) |
59 try: |
59 try: |
60 os.utime(repo.sjoin('00changelog.i'), None) |
60 os.utime(repo.sjoin('00changelog.i'), None) |
231 ''' |
231 ''' |
232 try: |
232 try: |
233 bookmarks = {} |
233 bookmarks = {} |
234 for line in self.opener('bookmarks'): |
234 for line in self.opener('bookmarks'): |
235 sha, refspec = line.strip().split(' ', 1) |
235 sha, refspec = line.strip().split(' ', 1) |
|
236 refspec = encoding.tolocal(refspec) |
236 bookmarks[refspec] = self.changelog.lookup(sha) |
237 bookmarks[refspec] = self.changelog.lookup(sha) |
237 except: |
238 except: |
238 pass |
239 pass |
239 return bookmarks |
240 return bookmarks |
240 |
241 |