comparison git_handler.py @ 106:3aa2f6caed16

make the gitdir a constant
author Sverre Rabbelier <sverre@rabbelier.nl>
date Sun, 10 May 2009 10:42:44 -0700 (2009-05-10)
parents 41e76444105c
children 8c83d2021b03
comparison
equal deleted inserted replaced
105:41e76444105c 106:3aa2f6caed16
48 def __init__(self, dest_repo, ui): 48 def __init__(self, dest_repo, ui):
49 self.repo = dest_repo 49 self.repo = dest_repo
50 self.ui = ui 50 self.ui = ui
51 self.mapfile = 'git-mapfile' 51 self.mapfile = 'git-mapfile'
52 self.configfile = 'git-config' 52 self.configfile = 'git-config'
53 self.gitdir = self.repo.join('git')
53 self.init_if_missing() 54 self.init_if_missing()
54 self.load_git() 55 self.load_git()
55 self.load_map() 56 self.load_map()
56 self.load_config() 57 self.load_config()
57 58
58 # make the git data directory 59 # make the git data directory
59 def init_if_missing(self): 60 def init_if_missing(self):
60 git_hg_path = os.path.join(self.repo.path, 'git') 61 if not os.path.exists(self.gitdir):
61 if not os.path.exists(git_hg_path): 62 os.mkdir(self.gitdir)
62 os.mkdir(git_hg_path) 63 Repo.init_bare(self.gitdir)
63 Repo.init_bare(git_hg_path)
64 64
65 def load_git(self): 65 def load_git(self):
66 git_dir = os.path.join(self.repo.path, 'git') 66 self.git = Repo(self.gitdir)
67 self.git = Repo(git_dir)
68 67
69 ## FILE LOAD AND SAVE METHODS 68 ## FILE LOAD AND SAVE METHODS
70 69
71 def map_set(self, gitsha, hgsha): 70 def map_set(self, gitsha, hgsha):
72 self._map_git[gitsha] = hgsha 71 self._map_git[gitsha] = hgsha
595 return transport(host), '/' + path 594 return transport(host), '/' + path
596 # if its not git or git+ssh, try a local url.. 595 # if its not git or git+ssh, try a local url..
597 return SubprocessGitClient(), uri 596 return SubprocessGitClient(), uri
598 597
599 def clear(self): 598 def clear(self):
600 git_dir = self.repo.join('git')
601 mapfile = self.repo.join(self.mapfile) 599 mapfile = self.repo.join(self.mapfile)
602 if os.path.exists(git_dir): 600 if os.path.exists(self.gitdir):
603 for root, dirs, files in os.walk(git_dir, topdown=False): 601 for root, dirs, files in os.walk(self.gitdir, topdown=False):
604 for name in files: 602 for name in files:
605 os.remove(os.path.join(root, name)) 603 os.remove(os.path.join(root, name))
606 for name in dirs: 604 for name in dirs:
607 os.rmdir(os.path.join(root, name)) 605 os.rmdir(os.path.join(root, name))
608 os.rmdir(git_dir) 606 os.rmdir(self.gitdir)
609 if os.path.exists(mapfile): 607 if os.path.exists(mapfile):
610 os.remove(mapfile) 608 os.remove(mapfile)