mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 08:47:12 +03:00
setting up for upload-pack functionality
This commit is contained in:
parent
92c8b368cd
commit
8992ea23c4
14
__init__.py
14
__init__.py
@ -44,9 +44,9 @@ def gclone(ui, git_url, hg_repo_path=None):
|
||||
node = git.remote_head('origin')
|
||||
hg.update(dest_repo, node)
|
||||
|
||||
def gpush(ui, repo, remote_name):
|
||||
# determine new repo name
|
||||
dest_repo.ui.status(_("pushing to git url\n"))
|
||||
def gpush(ui, repo, remote_name='origin'):
|
||||
git = GitHandler(repo, ui)
|
||||
git.push(remote_name)
|
||||
|
||||
def gpull(ui, repo):
|
||||
dest_repo.ui.status(_("pulling from git url\n"))
|
||||
@ -60,9 +60,9 @@ cmdtable = {
|
||||
'Clone a git repository into an hg repository.',
|
||||
),
|
||||
"gpush":
|
||||
(gpush,
|
||||
[('m', 'merge', None, _('merge automatically'))],
|
||||
_('hg gpush remote')),
|
||||
(gpush, [], _('hg gpush remote')),
|
||||
"gpull":
|
||||
(gpull, [], _('hg gpull [--merge] remote')),
|
||||
(gpull,
|
||||
[('m', 'merge', None, _('merge automatically'))],
|
||||
_('hg gpull [--merge] remote')),
|
||||
}
|
||||
|
@ -18,11 +18,12 @@ class GitHandler(object):
|
||||
self.load_map()
|
||||
self.load_config()
|
||||
|
||||
# make the git data directory
|
||||
def init_if_missing(self):
|
||||
# make the git data directory
|
||||
git_hg_path = os.path.join(self.repo.path, 'git')
|
||||
os.mkdir(git_hg_path)
|
||||
dulwich.repo.Repo.init_bare(git_hg_path)
|
||||
if not os.path.exists(git_hg_path):
|
||||
os.mkdir(git_hg_path)
|
||||
dulwich.repo.Repo.init_bare(git_hg_path)
|
||||
|
||||
def load_git(self):
|
||||
git_dir = os.path.join(self.repo.path, 'git')
|
||||
@ -66,6 +67,12 @@ class GitHandler(object):
|
||||
self.import_git_objects(remote_name)
|
||||
self.save_map()
|
||||
|
||||
def push(self, remote_name):
|
||||
self.ui.status(_("pushing to : " + remote_name + "\n"))
|
||||
self.export_git_objects()
|
||||
self.upload_pack(remote_name)
|
||||
self.save_map()
|
||||
|
||||
# TODO: make these actually save and recall
|
||||
def remote_add(self, remote_name, git_url):
|
||||
self._config['remote.' + remote_name + '.url'] = git_url
|
||||
@ -79,6 +86,9 @@ class GitHandler(object):
|
||||
if head == 'HEAD':
|
||||
return self._map[sha]
|
||||
return None
|
||||
|
||||
def upload_pack(self, remote_name):
|
||||
self.ui.status(_("upload pack\n"))
|
||||
|
||||
def fetch_pack(self, remote_name):
|
||||
git_url = self.remote_name_to_url(remote_name)
|
||||
|
Loading…
Reference in New Issue
Block a user