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])
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])
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)
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])
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])
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()
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()
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])
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])
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()