def get_files(self, name, **kwargs): """Get files.""" f1 = None f2 = None if self.is_versioned(name): f2 = name root, ext = splitext(basename(name)) rev = None if kwargs.get("last", False): revs = git.getrevision(f2, 2) if revs is not None and len(revs) == 2: rev = revs[1] if rev is not None: f1 = join(self.temp_folder, "%s-r%s-LEFT%s" % (root, rev, ext)) else: rev = "HEAD" f1 = join(self.temp_folder, "%s-r%s-LEFT%s" % (root, rev, ext)) if f1 is not None: with open(f1, "wb") as f: bfr = git.show(f2, rev) if bfr is not None: f.write(bfr) else: f1 = None else: log("View not versioned under Git!", status=True) return f1, f2
def get_files(self, name, **kwargs): f1 = None f2 = None if self.is_versioned(name): f2 = name root, ext = splitext(basename(name)) rev = None if kwargs.get("last", False): revs = hg.getrevision(f2, 2) if revs is not None and len(revs) == 2: rev = revs[1] if rev is not None: f1 = join(self.temp_folder, "%s-r%s-LEFT%s" % (root, rev, ext)) else: # Leave rev as None f1 = join(self.temp_folder, "%s-r%s-LEFT%s" % (root, "BASE", ext)) if f1 is not None: with open(f1, "wb") as f: bfr = hg.cat(f2, rev) if bfr != None: f.write(bfr) else: f1 = None else: log("View not versioned under Mercurial!", status=True) return f1, f2
def get_files(self, name, **kwargs): """Get the files.""" f1 = None f2 = None if self.is_versioned(name): f2 = name root, ext = splitext(basename(name)) rev = None if kwargs.get("last", False): revs = hg.getrevision(f2, 2) if revs is not None and len(revs) == 2: rev = revs[1] if not kwargs.get("last", False) or rev is not None: for x in range(1000): if rev is not None: file_path = join(self.temp_folder, "%s-r%s-LEFT-%03d%s" % (root, rev, x, ext)) else: file_path = join(self.temp_folder, "%s-rBASE-LEFT-%03d%s" % (root, x, ext)) if not os.path.exists(file_path): f1 = file_path break if f1 is not None: with open(f1, "wb") as f: bfr = hg.cat(f2, rev) if bfr is not None: f.write(bfr) else: f1 = None else: log("View not versioned under Mercurial!", status=True) return f1, f2
def get_files(self, name, **kwargs): """Get the files.""" f1 = None f2 = None if self.is_versioned(name): f2 = name root, ext = splitext(basename(name)) rev = None if kwargs.get("last", False): revs = hg.getrevision(f2, 2) if revs is not None and len(revs) == 2: rev = revs[1] if rev is not None: f1 = join(self.temp_folder, "%s-r%s-LEFT%s" % (root, rev, ext)) else: # Leave rev as None f1 = join(self.temp_folder, "%s-r%s-LEFT%s" % (root, "BASE", ext)) if f1 is not None: with open(f1, "wb") as f: bfr = hg.cat(f2, rev) if bfr is not None: f.write(bfr) else: f1 = None else: log("View not versioned under Mercurial!", status=True) return f1, f2
def get_diff(self, name, **kwargs): result = None if self.is_versioned(name): result = self.decode(hg.diff(name, last=kwargs.get("last", False))).replace('\r', '') else: log("View not versioned under Mercurial!", status=True) return result
def get_files(self, name, **kwargs): f1 = None f2 = None if self.is_versioned(name): f2 = name root, ext = splitext(basename(name)) rev = None if kwargs.get("last", False): revs = git.getrevision(f2, 2) if revs is not None and len(revs) == 2: rev = revs[1] if rev is not None: f1 = join(self.temp_folder, "%s-r%s-LEFT%s" % (root, rev, ext)) else: rev = "HEAD" f1 = join(self.temp_folder, "%s-r%s-LEFT%s" % (root, rev, ext)) if f1 is not None: with open(f1, "wb") as f: bfr = git.show(f2, rev) if bfr != None: f.write(bfr) else: f1 = None else: log("View not versioned under Git!", status=True) return f1, f2
def get_diff(self, name, **kwargs): """Get the diff.""" result = None if self.is_versioned(name): result = self.decode(svn.diff(name, last=kwargs.get("last", False))).replace('\r', '') else: log("View not versioned under SVN!", status=True) return result
def check_vc(self): """Check if version control is available.""" global HG_ENABLED location = hg.which() log("hg %s" % location) if location is not None: HG_ENABLED = True else: HG_ENABLED = False log("hg not found!")
def check_vc(self): """Check if version control is available.""" global GIT_ENABLED location = git.which() log("git %s" % location) if location is not None: GIT_ENABLED = True else: GIT_ENABLED = False log("git not found!")
def check_vc(self): """Check if version control is available.""" global SVN_ENABLED location = svn.which() log("svn %s" % location) if location is not None: SVN_ENABLED = True else: SVN_ENABLED = False log("svn not found!")
def get_files(self, name, **kwargs): f1 = None f2 = None if self.is_versioned(name): f2 = name root, ext = splitext(basename(name)) rev = None if kwargs.get("last", False): rev = "PREV" f1 = join(self.temp_folder, "%s-r%s-LEFT%s" % (root, rev, ext)) else: rev = "BASE" f1 = join(self.temp_folder, "%s-r%s-LEFT%s" % (root, rev, ext)) svn.export(f2, f1, rev=rev) else: log("View not versioned under SVN!", status=True) return f1, f2
def diff(left, right, external=False): """ Initiate diff by getting left side and right side compare. Call the appropriate diff method and call internal or external diff. """ lw = None rw = None lv = None rv = None for w in sublime.windows(): if w.id() == left["win_id"]: lw = w if w.id() == right["win_id"]: rw = w if lw is not None and rw is not None: break if lw is not None: for v in lw.views(): if v.id() == left["view_id"]: lv = v break else: if left["clip"]: lv = left["clip"] if rw is not None: for v in rw.views(): if v.id() == right["view_id"]: rv = v break else: if right["clip"]: rv = right["clip"] if lv is not None and rv is not None: ext_diff = get_external_diff() if external: EasyDiff.extcompare(EasyDiffInput(lv, rv, external=True), ext_diff) else: EasyDiff.compare(EasyDiffInput(lv, rv)) else: log("Can't compare")
def run(self, edit, external=False): self.set_right() lw = None rw = None lv = None rv = None for w in sublime.windows(): if w.id() == LEFT["win_id"]: lw = w if w.id() == self.right["win_id"]: rw = w if lw is not None and rw is not None: break if lw is not None: for v in lw.views(): if v.id() == LEFT["view_id"]: lv = v break else: if LEFT["clip"]: lv = LEFT["clip"] if rw is not None: for v in rw.views(): if v.id() == self.right["view_id"]: rv = v break else: if self.right["clip"]: rv = self.right["clip"] if lv is not None and rv is not None: ext_diff = get_external_diff() if external: EasyDiff.extcompare(EasyDiffInput(lv, rv, external=True), ext_diff) else: EasyDiff.compare(EasyDiffInput(lv, rv)) else: log("Can't compare")
def get_files(self, name, **kwargs): """Get files.""" f1 = None f2 = None if self.is_versioned(name): f2 = name root, ext = splitext(basename(name)) rev = None if kwargs.get("last", False): rev = "PREV" else: rev = "BASE" for x in range(1000): file_path = join(self.temp_folder, "%s-r%s-LEFT-%03d%s" % (root, rev, x, ext)) if not os.path.exists(file_path): f1 = file_path break if f1 is not None: svn.export(f2, f1, rev=rev) else: log("View not versioned under SVN!", status=True) return f1, f2
def setup_vc_binaries(): """Setup version control binaries.""" global SVN_ENABLED global GIT_ENABLED global HG_ENABLED settings = load_settings() svn_path = multiget(settings, "svn", None) git_path = multiget(settings, "git", None) hg_path = multiget(settings, "hg", None) if svn_path is not None and svn_path != "": svn.set_svn_path(svn_path) if git_path is not None and git_path != "": git.set_git_path(git_path) if hg_path is not None and hg_path != "": hg.set_hg_path(hg_path) try: log("svn %s" % svn.version()) SVN_ENABLED = True except Exception: log("svn not found or is not working!") try: log("git %s" % git.version()) GIT_ENABLED = True except Exception: log("git not found or is not working!") try: log("hg %s" % hg.version()) HG_ENABLED = True except Exception: log("hg not found or is not working!") settings.clear_on_change('reload_vc') settings.add_on_change('reload_vc', setup_vc_binaries)
def setup_vc_binaries(): global SVN_ENABLED global GIT_ENABLED global HG_ENABLED settings = load_settings() svn_path = multiget(settings, "svn", None) git_path = multiget(settings, "git", None) hg_path = multiget(settings, "hg", None) if svn_path is not None and svn_path != "": svn.set_svn_path(svn_path) if git_path is not None and git_path != "": git.set_git_path(git_path) if hg_path is not None and hg_path != "": hg.set_hg_path(hg_path) try: log("svn %s" % svn.version()) SVN_ENABLED = True except: log("svn not found or is not working!") pass try: log("git %s" % git.version()) GIT_ENABLED = True except: log("git not found or is not working!") pass try: log("hg %s" % hg.version()) HG_ENABLED = True except: log("hg not found or is not working!") pass settings.clear_on_change('reload_vc') settings.add_on_change('reload_vc', setup_vc_binaries)