summary refs log tree commit diff stats
path: root/ranger/ext
diff options
context:
space:
mode:
authornfnty <git@nfnty.se>2015-10-09 04:47:32 +0200
committernfnty <git@nfnty.se>2016-02-08 04:43:04 +0100
commit8c1403d6533fb8ef3d651ce026f0a92310f65da5 (patch)
tree4c1d738c813bc55bc969d4f2c6024ea41e6cf169 /ranger/ext
parent9645b056c6fc5d1b8882f500ed5e231ed16c02fa (diff)
downloadranger-8c1403d6533fb8ef3d651ce026f0a92310f65da5.tar.gz
VCS: Implement vcs.track
Diffstat (limited to 'ranger/ext')
-rw-r--r--ranger/ext/vcs/vcs.py28
1 files changed, 14 insertions, 14 deletions
diff --git a/ranger/ext/vcs/vcs.py b/ranger/ext/vcs/vcs.py
index 1764122b..ffc581f1 100644
--- a/ranger/ext/vcs/vcs.py
+++ b/ranger/ext/vcs/vcs.py
@@ -74,9 +74,9 @@ class Vcs(object):
             repotype for repotype, setting in \
             (
                 ('git', directoryobject.settings.vcs_backend_git),
-                ('hg', directoryobject.settings.vcs_backend_git),
-                ('bzr', directoryobject.settings.vcs_backend_git),
-                ('svn', directoryobject.settings.vcs_backend_git),
+                ('hg', directoryobject.settings.vcs_backend_hg),
+                ('bzr', directoryobject.settings.vcs_backend_bzr),
+                ('svn', directoryobject.settings.vcs_backend_svn),
             )
             if setting in ('enabled', 'local')
         ]
@@ -90,19 +90,19 @@ class Vcs(object):
         self.is_root = True if self.path == self.root else False
 
         if self.root:
+            self.track = True
+            self.__class__ = self.repotypes[self.repotype]
+
+            if not os.access(self.repodir, os.R_OK):
+                self.track = False
+                if self.is_root:
+                    directoryobject.vcspathstatus = 'unknown'
+                    self.remotestatus = 'unknown'
             # Do not track self.repodir or its subpaths
             if self.path == self.repodir or self.path.startswith(self.repodir + '/'):
-                self.in_repodir = True
-            else:
-                self.in_repodir = False
-
-            if self.is_root:
-                self.root = self.path
-                self.__class__ = self.repotypes[self.repotype]
-            else:
-                root = directoryobject.fm.get_directory(self.root)
-                self.repotype = root.vcs.repotype
-                self.__class__ = root.vcs.__class__
+                self.track = False
+        else:
+            self.track = False
 
     # Auxiliar
     #---------------------------