예제 #1
0
 def commit(self):
     if self.verb:
         print "Committing changes"
     if isdarcs():
         util.chdircmd(self.wcpath, util.safeexec, vcscmd, [
             cmd().commit, "-l", "-a", "-m", self.summary, "--logfile",
             self.logfn, "--delete-logfile"
         ])
     elif isgit():
         util.chdircmd(self.wcpath, util.safeexec, vcscmd,
                       [cmd().commit, "-a", "-F", self.logfn])
         os.unlink(self.logfn)
     elif ishg():
         util.chdircmd(self.wcpath, util.safeexec, vcscmd,
                       [cmd().commit, "-A", "-l", self.logfn])
         os.unlink(self.logfn)
     else:
         if len(
                 util.chdircmd(self.wcpath, util.getstdoutsafeexec, vcscmd,
                               ['logs'])) == 0:
             util.chdircmd(self.wcpath, util.safeexec, vcscmd,
                           [cmd().importcmd])
         else:
             util.chdircmd(self.wcpath, util.safeexec, vcscmd,
                           [cmd().commit])
예제 #2
0
 def doit():
     destdir = os.path.dirname(dest)
     if (not os.path.exists(destdir)) and destdir != '':
         self.makedirs(destdir)
     if self.fsonly or \
        (not isdarcs() and (not isgit()) and (not ishg())):
         # Darcs, hg, and git actually do this when they move the tag
         os.rename(src, dest)
예제 #3
0
 def doit():
     destdir = os.path.dirname(dest)
     if (not os.path.exists(destdir)) and destdir != '':
         self.makedirs(destdir)
     if self.fsonly or \
        (not isdarcs() and (not isgit()) and (not ishg())):
         # Darcs, hg, and git actually do this when they move the tag
         os.rename(src, dest)
예제 #4
0
 def movetag(self, src, dest):
     if self.verb:
         print "Moving %s to %s" % (src, dest)
     if src[-1] == '/' \
            and dest[-1] == '/' \
            and ((not isdarcs()) and (not isgit()) and (not ishg())):
         # Dir to dir -- darcs mv will catch it already.
         # Git doesn't do rename recording, so don't worry about it?
         return
     src, dest = self.slashstrip(src, dest)
     if not self.fsonly:
         util.chdircmd(self.wcpath, util.safeexec, vcscmd,
                       [cmd().move, src, dest])
예제 #5
0
    def makelog(self, summary, logtext):
        self.summary = summary
        self.logtext = logtext
        if ishg() or isgit() or isdarcs():
            logfn = self.wcpath + "/../,,vcslog"
	else:
            logfn =  util.chdircmd(self.wcpath, util.getstdoutsafeexec, vcscmd,
                                   ['make-log'])[0].strip()

        self.logfn = os.path.abspath(logfn)
        
        fd = open(self.logfn, "w")
        if isgit():
            fd.write("%s\n\n" % summary)
        if ishg():
            fd.write("%s\n" % summary)
        elif not (isdarcs() or ishg()):
            fd.write("Summary: %s\n" % summary)
            fd.write("Keywords: \n\n")
        fd.write(logtext)
        print "LOGTEXT", logtext
        fd.close()
예제 #6
0
 def movetag(self, src, dest):
     if self.verb:
         print "Moving %s to %s" % (src, dest)
     if src[-1] == '/' \
            and dest[-1] == '/' \
            and ((not isdarcs()) and (not isgit()) and (not ishg())):
         # Dir to dir -- darcs mv will catch it already.
         # Git doesn't do rename recording, so don't worry about it?
         return
     src, dest = self.slashstrip(src, dest)
     if not self.fsonly:
         util.chdircmd(self.wcpath, util.safeexec, vcscmd,
                       [cmd().move, src, dest])
예제 #7
0
    def makelog(self, summary, logtext):
        self.summary = summary
        self.logtext = logtext
        if ishg() or isgit() or isdarcs():
            logfn = self.wcpath + "/../,,vcslog"
        else:
            logfn = util.chdircmd(self.wcpath, util.getstdoutsafeexec, vcscmd,
                                  ['make-log'])[0].strip()

        self.logfn = os.path.abspath(logfn)

        fd = open(self.logfn, "w")
        if isgit():
            fd.write("%s\n\n" % summary)
        if ishg():
            fd.write("%s\n" % summary)
        elif not (isdarcs() or ishg()):
            fd.write("Summary: %s\n" % summary)
            fd.write("Keywords: \n\n")
        fd.write(logtext)
        print "LOGTEXT", logtext
        fd.close()
예제 #8
0
 def gettreeversion(self):
     if isdarcs():
         #util.chdircmd(self.wcpath, util.getstdoutsafeexec, "darcs",
         #              ['check'])
         return "Darcs repository"
     elif ishg():
         return "Mercurial repository"
     elif issvk():
         return "Svk repository"
     elif isgit():
         return "Git repository"
     else:
         return util.chdircmd(self.wcpath, util.getstdoutsafeexec, vcscmd,
                              ['tree-version'])[0].strip() 
예제 #9
0
 def gettreeversion(self):
     if isdarcs():
         #util.chdircmd(self.wcpath, util.getstdoutsafeexec, "darcs",
         #              ['check'])
         return "Darcs repository"
     elif ishg():
         return "Mercurial repository"
     elif issvk():
         return "Svk repository"
     elif isgit():
         return "Git repository"
     else:
         return util.chdircmd(self.wcpath, util.getstdoutsafeexec, vcscmd,
                              ['tree-version'])[0].strip()
예제 #10
0
    def commit(self):
        if self.verb:
            print "Committing changes"
        if isdarcs():
            util.chdircmd(self.wcpath, util.safeexec, vcscmd,
                          [cmd().commit, "-l", "-a", "-m", self.summary,
                           "--logfile", self.logfn,
                           "--delete-logfile"])
        elif isgit():
            util.chdircmd(self.wcpath, util.safeexec, vcscmd,
                          [cmd().commit, "-a", "-F", self.logfn])
	    os.unlink(self.logfn)
        elif ishg():
            util.chdircmd(self.wcpath, util.safeexec, vcscmd,
                          [cmd().commit, "-A", "-l", self.logfn])
            os.unlink(self.logfn)
        else:
            if len(util.chdircmd(self.wcpath, util.getstdoutsafeexec, vcscmd, ['logs']))==0:
                util.chdircmd(self.wcpath, util.safeexec, vcscmd, [cmd().importcmd])
            else:
                util.chdircmd(self.wcpath, util.safeexec, vcscmd, [cmd().commit])
예제 #11
0
 def gettaggingmethod(self):
     if isdarcs() or isgit() or ishg():
         return 'explicit'
     else:
         return util.chdircmd(self.wcpath, util.getstdoutsafeexec, vcscmd,
                              [cmd().tagging_method])[0].strip()
예제 #12
0
 def gettaggingmethod(self):
     if isdarcs() or isgit() or ishg():
         return 'explicit'
     else:
         return util.chdircmd(self.wcpath, util.getstdoutsafeexec, vcscmd,
                              [cmd().tagging_method])[0].strip()