Changeset 30
- Timestamp:
- 2008年07月30日 17时11分05秒 (4 years ago)
- Location:
- trunk/pysvnmanager
- Files:
-
- 2 modified
-
model/rcsbackup.py (modified) (5 diffs)
-
tests/test_rcs_backup.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/pysvnmanager/model/rcsbackup.py
r29 r30 62 62 if not is_rcs_exist(wcfile): 63 63 # -l : lock mode, make wcfile writable 64 cmd.append('%(cmd)s -i -q -l -t-"%(msg)s" -w"%(user)s" %(file)s2>&1' % \64 cmd.append('%(cmd)s -i -q -l -t-"%(msg)s" -w"%(user)s" "%(file)s" 2>&1' % \ 65 65 {'cmd':CMD_CI, "file":wcfile, "msg":comment, "user":user}) 66 66 # -U : set locking to no-strict. 67 cmd.append('%(cmd)s -U -q %(file)s' % {'cmd':CMD_RCS, "file":wcfile})67 cmd.append('%(cmd)s -U -q "%(file)s"' % {'cmd':CMD_RCS, "file":wcfile}) 68 68 else: 69 69 # Warning: w/o -l or -u option, wcfile will be removed after checkin. 70 70 # -l makes wcfile writable; 71 71 # -u : wcfile is not writable unless rcsfile is set to no-strict locking. 72 cmd.append('%(cmd)s -q -l -m"%(msg)s" -w"%(user)s" %(file)s2>&1' % \72 cmd.append('%(cmd)s -q -l -m"%(msg)s" -w"%(user)s" "%(file)s" 2>&1' % \ 73 73 {'cmd':CMD_CI, "file":wcfile, "msg":comment, "user":user}) 74 74 … … 92 92 opts = "-u%s" % revision 93 93 94 cmd = "%(cmd)s %(opts)s -q -f %(file)s 2>&1"% {'cmd':CMD_CO, "opts":opts, "file":wcfile }94 cmd = '%(cmd)s %(opts)s -q -f "%(file)s" 2>&1' % {'cmd':CMD_CO, "opts":opts, "file":wcfile } 95 95 buff = os.popen(cmd).read().strip() 96 96 if buff: 97 97 raise Exception, "Command: %s\nError Message: %s\n" % (cmd, buff) 98 98 99 100 def cat(wcfile, revision=""): 101 if not wcfile or not is_rcs_exist(wcfile): 102 return "" 103 opts = "-p" 104 if revision: 105 # -pRev : cat rather then checkout 106 opts = "-p%s" % revision 107 108 cmd = '%(cmd)s %(opts)s -q "%(file)s"' % {'cmd':CMD_CO, "opts":opts, "file":wcfile } 109 buff = os.popen(cmd).read().strip() 110 return buff 111 112 def differ(filename, rev1="", rev2=""): 113 filename=get_utf8(filename) 114 opts="" 115 if rev1 and rev2: 116 opts="-r%s -r%s" % (rev1, rev2) 117 elif rev1 or rev2: 118 opts="-r%s%s" % (rev1, rev2) 119 120 cmd = '%(cmd)s %(opts)s -u -q "%(file)s"' % {'cmd':CMD_RCSDIFF, 'opts':opts, 'file':filename} 121 log.debug('Command: '+cmd) 122 buff = os.popen(cmd).read() 123 return buff 99 124 100 125 class RcsLog(object): … … 145 170 146 171 def reload(self): 147 cmd = '%(cmd)s -L -h -N %(file)s' % {'cmd':CMD_RLOG, 'file':self.__file}172 cmd = '%(cmd)s -L -h -N "%(file)s"' % {'cmd':CMD_RLOG, 'file':self.__file} 148 173 buff = os.popen(cmd).read().strip() 149 174 … … 213 238 opts="%s,%s" % (opts, rev3) 214 239 215 cmd = '%(cmd)s %(opts)s -L -N %(file)s' % {'cmd':CMD_RLOG, 'opts':opts, 'file':self.__file}240 cmd = '%(cmd)s %(opts)s -L -N "%(file)s"' % {'cmd':CMD_RLOG, 'opts':opts, 'file':self.__file} 216 241 log.debug('Command: '+cmd) 217 242 buff = os.popen(cmd).read().strip().rstrip('=').rstrip() … … 265 290 266 291 return self.revs 292 293 def cat(self, revision=""): 294 return cat(self.__file, revision) 295 296 def differ(self, rev1="", rev2=""): 297 return differ(self.__file, rev1, rev2) 298 -
trunk/pysvnmanager/tests/test_rcs_backup.py
r29 r30 45 45 f.write('='*20 + '\n') 46 46 f.write('Revision: %d\n' % rev) 47 f.write('Date: %s\n' % time.strftime('%F %T'))47 f.write('Date: %s\n' % time.strftime('%F')) 48 48 f.close() 49 49 … … 199 199 [x['revision'] for x in logs] 200 200 201 buff = rcslog.differ('1.2','1.5') 202 assert "-Revision: 2\n+Revision: 5" in buff, buff 203 buff = rcslog.differ('1.13') 204 assert "-Revision: 13\n+Revision: 14" in buff, buff 205 206 buff = rcslog.cat() 207 assert "Revision: 14\n" in buff, buff 208 209 buff = rcslog.cat('1.8') 210 assert "Revision: 8\n" in buff, buff 201 211 202 212 def testLogsNone(self): … … 205 215 assert rcslog.total == 0, rcslog.total 206 216 assert rcslog.get_page_logs(1) == [], rcslog.get_page_logs(1) 217 assert rcslog.cat()=="" 207 218 208 219 if __name__ == '__main__':
![(please configure the [header_logo] section in trac.ini)](/trac/pysvnmanager/chrome/common/trac_banner.png)