Esempio n. 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])
Esempio n. 2
0
    def catchup(self, needsupdate=1):
        if self.verb:
            print " *** Processing changes."
        if needsupdate:
            self.update()
        if self.verb:
            print "Deleting %d files" % len(self.deletedfiles)
        if isdarcs():
            for file in util.sorttree(self.deletedfiles, filesfirst=True):
                self.delfile(file)
        else:
            for file in self.deletedfiles:
                self.delfile(file)

        if self.verb:
            print "Copying upstream directory to working copy..."
        util.copyfrom(self.importdir, self.wcobj.wcpath)

        if self.verb:
            print "Adding %d files" % len(self.addedfiles)
        self.addedfiles.sort()  # Make sure top-level dirs added before files
        for file in self.addedfiles:
            self.addfile(file)
        self.writelog()
        if self.docommit:
            self.wcobj.commit()
Esempio n. 3
0
    def catchup(self, needsupdate = 1):
        if self.verb:
            print " *** Processing changes."
        if needsupdate:
            self.update()
        if self.verb:
            print "Deleting %d files" % len(self.deletedfiles)
        if isdarcs():
            for file in util.sorttree(self.deletedfiles, filesfirst = True):
                self.delfile(file)
        else:
            for file in self.deletedfiles:
                self.delfile(file)

        if self.verb:
            print "Copying upstream directory to working copy..."
        util.copyfrom(self.importdir, self.wcobj.wcpath)

        if self.verb:
            print "Adding %d files" % len(self.addedfiles)
        self.addedfiles.sort() # Make sure top-level dirs added before files
        for file in self.addedfiles:
            self.addfile(file)
        self.writelog()
        if self.docommit:
            self.wcobj.commit()
Esempio n. 4
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)
Esempio n. 5
0
 def deltag(self, file):
     if (not self.fsonly) and \
            ((not isdarcs()) and (not ishg())):
         if self.verb:
             print "Deleting %s" % file
         if os.path.islink(os.path.join(self.wcpath,file)) or os.path.exists(os.path.join(self.wcpath, file)):
             util.chdircmd(self.wcpath, util.safeexec, vcscmd,
                       cmd().delete + [file])
Esempio n. 6
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)
Esempio n. 7
0
 def deltag(self, file):
     if (not self.fsonly) and \
            ((not isdarcs()) and (not ishg())):
         if self.verb:
             print "Deleting %s" % file
         if os.path.islink(os.path.join(
                 self.wcpath, file)) or os.path.exists(
                     os.path.join(self.wcpath, file)):
             util.chdircmd(self.wcpath, util.safeexec, vcscmd,
                           cmd().delete + [file])
Esempio n. 8
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])
Esempio n. 9
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()
Esempio n. 10
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()
Esempio n. 11
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])
Esempio n. 12
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() 
Esempio n. 13
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()
Esempio n. 14
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])
Esempio n. 15
0
 def addtag(self, file):
     if self.verb:
         print "Adding %s" % file
     if (file[-1] == '/') and \
        (not os.path.exists(os.path.join(self.wcpath,
                                         file[:-1]))):
         try:
             print "addtag: making dir %s" % file[:-1]
             os.makedirs(os.path.join(self.wcpath, file[:-1]))
         except:
             raise
     file = self.slashstrip(file)
     isdir = os.path.isdir(os.path.join(self.wcpath, file))
     if (not self.fsonly) and \
            (not ishg()) and ((not isdarcs()) or isdir):
         # Darcs will see adds later, but we need to add dirs
         # now so darcs mv will work.
         #
         # Mercurial will see adds later, and doesn't track directories,
         # so we don't do anything with it.
         util.chdircmd(self.wcpath, util.safeexec, vcscmd,
                       cmd().add + [file])
Esempio n. 16
0
 def addtag(self, file):
     if self.verb:
         print "Adding %s" % file
     if (file[-1] == '/') and \
        (not os.path.exists(os.path.join(self.wcpath,
                                         file[:-1]))):
         try:
             print "addtag: making dir %s" % file[:-1]
             os.makedirs(os.path.join(self.wcpath, file[:-1]))
         except:
             raise
     file = self.slashstrip(file)
     isdir = os.path.isdir(os.path.join(self.wcpath, file))
     if (not self.fsonly) and \
            (not ishg()) and ((not isdarcs()) or isdir):
         # Darcs will see adds later, but we need to add dirs
         # now so darcs mv will work.
         #
         # Mercurial will see adds later, and doesn't track directories,
         # so we don't do anything with it.
         util.chdircmd(self.wcpath, util.safeexec, vcscmd,
                       cmd().add + [file])
Esempio n. 17
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()
Esempio n. 18
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()