changeset 182:9bdd8e76bbab

Remove remotes support (use the paths section in hgrc instead)
author Abderrahim Kitouni <a.kitouni@gmail.com>
date Mon, 08 Jun 2009 19:15:58 +0100
parents 8690377c3ce9
children 469e80d3142a
files __init__.py git_handler.py hgrepo.py
diffstat 3 files changed, 3 insertions(+), 126 deletions(-) [+]
line wrap: on
line diff
--- a/__init__.py	Fri Jun 05 11:56:22 2009 +0100
+++ b/__init__.py	Mon Jun 08 19:15:58 2009 +0100
@@ -34,29 +34,6 @@
 
 hg.schemes['file'] = _local
 
-def gclone(ui, git_url, hg_repo_path=None):
-    # determine new repo name
-    if not hg_repo_path:
-        hg_repo_path = hg.defaultdest(git_url)
-        if hg_repo_path.endswith('.git'):
-            hg_repo_path = hg_repo_path[:-4]
-        hg_repo_path += '-hg'
-    dest_repo = hg.repository(ui, hg_repo_path, create=True)
-
-    # fetch the initial git data
-    git = GitHandler(dest_repo, ui)
-    git.remote_add('origin', git_url)
-    
-    git.fetch('origin')
-    
-    # checkout the tip
-    node = git.remote_head('origin')
-    hg.update(dest_repo, node)
-
-def gpush(ui, repo, remote_name='origin', branch=None):
-    git = GitHandler(repo, ui)
-    git.push(remote_name)
-
 def gimport(ui, repo, remote_name=None):
     git = GitHandler(repo, ui)
     git.import_commits(remote_name)
@@ -65,57 +42,17 @@
     git = GitHandler(repo, ui)
     git.export_commits()
 
-def gremote(ui, repo, *args):
-    git = GitHandler(repo, ui)
-
-    if len(args) == 0:
-        git.remote_list()
-    elif len(args) < 2:
-        repo.ui.warn(_("must supply an action and a remote\n"))
-    else:
-        verb = args[0]
-        nick = args[1]
-
-        if verb == 'add':
-            if len(args) == 3:
-                git.remote_add(nick, args[2])
-            else:
-                repo.ui.warn(_("must supply a url to add as a remote\n"))
-        elif verb == 'rm':
-            git.remote_remove(nick)
-        elif verb == 'show':
-            git.remote_show(nick)
-        else:
-            repo.ui.warn(_("unrecognized command to gremote\n"))
-
 def gclear(ui, repo):
     repo.ui.status(_("clearing out the git cache data\n"))
     git = GitHandler(repo, ui)
     git.clear()
 
-def gfetch(ui, repo, remote_name='origin'):
-    repo.ui.status(_("pulling from git url\n"))
-    git = GitHandler(repo, ui)
-    git.fetch(remote_name)
-    
 commands.norepo += " gclone"
 cmdtable = {
-  "gclone":
-      (gclone, [],
-       _('Clone a git repository into an hg repository.'),
-       ),
-  "gpush":
-        (gpush, [], _('hg gpush remote')),
   "gimport":
         (gimport, [], _('hg gimport')),
   "gexport":
         (gexport, [], _('hg gexport')),
-  "gfetch":
-        (gfetch, [],
-        #[('m', 'merge', None, _('merge automatically'))],
-        _('hg gfetch remote')),
-  "gremote":
-      (gremote, [], _('hg gremote add remote (url)')),
   "gclear":
       (gclear, [], _('Clears out the Git cached data')),
-}    
+}
--- a/git_handler.py	Fri Jun 05 11:56:22 2009 +0100
+++ b/git_handler.py	Mon Jun 08 19:15:58 2009 +0100
@@ -23,7 +23,6 @@
         self.repo = dest_repo
         self.ui = ui
         self.mapfile = 'git-mapfile'
-        self.configfile = 'git-config'
 
         if ui.config('git', 'intree'):
             self.gitdir = self.repo.wjoin('.git')
@@ -37,7 +36,6 @@
         self.init_if_missing()
         self.load_git()
         self.load_map()
-        self.load_config()
 
     # make the git data directory
     def init_if_missing(self):
@@ -75,20 +73,6 @@
             file.write("%s %s\n" % (gitsha, hgsha))
         file.rename()
 
-    def load_config(self):
-        self._config = {}
-        if os.path.exists(self.repo.join(self.configfile)):
-            for line in self.repo.opener(self.configfile):
-                key, value = line.strip().split(' ', 1)
-                self._config[key] = value
-
-    def save_config(self):
-        file = self.repo.opener(self.configfile, 'w+', atomictemp=True)
-        for key, value in self._config.iteritems():
-            file.write("%s %s\n" % (key, value))
-        file.rename()
-
-
     ## END FILE LOAD AND SAVE METHODS
 
     def import_commits(self, remote_name):
@@ -96,7 +80,6 @@
         self.save_map()
 
     def fetch(self, remote_name):
-        remote_name = self.remote_name_from_url(remote_name)
         self.ui.status(_("fetching from : %s\n") % remote_name)
         self.export_git_objects()
         refs = self.fetch_pack(remote_name)
@@ -113,46 +96,12 @@
         self.save_map()
 
     def push(self, remote_name):
-        remote_name = self.remote_name_from_url(remote_name)
         self.fetch(remote_name) # get and convert objects if they already exist
         self.ui.status(_("pushing to : %s\n") % remote_name)
         self.export_commits(False)
         self.update_remote_references(remote_name)
         self.upload_pack(remote_name)
 
-    def remote_add(self, remote_name, git_url):
-        self._config['remote.' + remote_name + '.url'] = git_url
-        self.save_config()
-
-    def remote_remove(self, remote_name):
-        key = 'remote.' + remote_name + '.url'
-        if key in self._config:
-            del self._config[key]
-        self.save_config()
-
-    def remote_show(self, remote_name):
-        key = 'remote.' + remote_name + '.url'
-        if key in self._config:
-            name = self._config[key]
-            self.ui.status(_("URL for %s : %s\n") % (remote_name, name))
-        else:
-            self.ui.status(_("No remote named : %s\n") % remote_name)
-
-    def remote_list(self):
-        for key, value in self._config.iteritems():
-            if key[0:6] == 'remote':
-                self.ui.status('%s\t%s\n' % (key, value, ))
-
-    def remote_name_to_url(self, remote_name):
-        return self._config['remote.' + remote_name + '.url']
-
-    def remote_name_from_url(self, remote):
-        if 'remote.' + remote + '.url' in self._config:
-            return remote
-        if remote in self._config.values():
-            return [key[7:-4] for key in self._config
-                    if self._config[key] == remote][0]
-
     def update_references(self):
         try:
             # We only care about bookmarks of the form 'name',
@@ -450,8 +399,7 @@
         return None
 
     def upload_pack(self, remote_name):
-        git_url = self.remote_name_to_url(remote_name)
-        client, path = self.get_transport_and_path(git_url)
+        client, path = self.get_transport_and_path(remote_name)
         changed = self.get_changed_refs
         genpack = self.generate_pack_contents
         try:
@@ -552,8 +500,7 @@
         return objects
 
     def fetch_pack(self, remote_name):
-        git_url = self.remote_name_to_url(remote_name)
-        client, path = self.get_transport_and_path(git_url)
+        client, path = self.get_transport_and_path(remote_name)
         graphwalker = SimpleFetchGraphWalker(self.git.heads().values(), self.git.get_parents)
         f, commit = self.git.object_store.add_pack()
         try:
--- a/hgrepo.py	Fri Jun 05 11:56:22 2009 +0100
+++ b/hgrepo.py	Mon Jun 08 19:15:58 2009 +0100
@@ -137,13 +137,6 @@
                 self.dirstate.invalidate()
             del tr
 
-    def clone(self, remote, heads=[], stream=False):
-        if isinstance(remote, gitrepo):
-            git = GitHandler(self, self.ui)
-            git.remote_add('origin', remote.path)
-
-        super(hgrepo, self).clone(remote, heads)
-
     def pull(self, remote, heads=None, force=False):
         if isinstance(remote, gitrepo):
             git = GitHandler(self, self.ui)