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
Exemple #5
0
 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
Exemple #6
0
 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!")
Exemple #11
0
 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
Exemple #12
0
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 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 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)