comparison git_handler.py @ 101:7c57f15d397c

use atomictemp to prevent corruption on ctrl-c
author Sverre Rabbelier <sverre@rabbelier.nl>
date Sun, 10 May 2009 08:54:47 -0700
parents e17d9eea44ab
children 302df8a2a8d0
comparison
equal deleted inserted replaced
100:e17d9eea44ab 101:7c57f15d397c
84 gitsha, hgsha = line.strip().split(' ', 1) 84 gitsha, hgsha = line.strip().split(' ', 1)
85 self._map_git[gitsha] = hgsha 85 self._map_git[gitsha] = hgsha
86 self._map_hg[hgsha] = gitsha 86 self._map_hg[hgsha] = gitsha
87 87
88 def save_map(self): 88 def save_map(self):
89 file = self.repo.opener('git-mapfile', 'w+') 89 file = self.repo.opener('git-mapfile', 'w+', atomictemp=True)
90 for gitsha, hgsha in sorted(self._map_git.iteritems()): 90 for gitsha, hgsha in sorted(self._map_git.iteritems()):
91 file.write("%s %s\n" % (gitsha, hgsha)) 91 file.write("%s %s\n" % (gitsha, hgsha))
92 file.close() 92 file.rename()
93 93
94 def load_config(self): 94 def load_config(self):
95 self._config = {} 95 self._config = {}
96 if os.path.exists(self.repo.join('git-config')): 96 if os.path.exists(self.repo.join('git-config')):
97 for line in self.repo.opener('git-config'): 97 for line in self.repo.opener('git-config'):