git-remote-hg: add GitExporter/GitImporter/NonLocalGit
[git/dscho.git] / git_remote_helpers / hg / exporter.py
blob20b564dfc036da6ef708e3173386050d1ad44f68
1 import binascii
2 import os.path
3 import sys
5 from git_remote_helpers.hg import hgexport
8 class GitExporter(object):
9 def __init__(self, repo):
10 self.repo = repo
12 def export_repo(self, base, refs):
13 gitmarksfile = os.path.join(self.repo.hash, 'git.marks')
15 exporter = hgexport.HgExportGenerator(self.repo)
17 exporter.feature_relative_marks()
18 exporter.feature_export_marks(gitmarksfile)
20 dirname = self.repo.get_base_path(base)
21 path = os.path.abspath(os.path.join(dirname, 'git.marks'))
23 if os.path.exists(path):
24 exporter.feature_import_marks(gitmarksfile)
25 exporter.read_marks(base)
27 exporter.export_repo(refs)
29 exporter.write_marks(base)