Mercurial > hg > hg-git
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) |