本文整理汇总了Python中RepSys.svn.SVN.diff方法的典型用法代码示例。如果您正苦于以下问题:Python SVN.diff方法的具体用法?Python SVN.diff怎么用?Python SVN.diff使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RepSys.svn.SVN
的用法示例。
在下文中一共展示了SVN.diff方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: check_changed
# 需要导入模块: from RepSys.svn import SVN [as 别名]
# 或者: from RepSys.svn.SVN import diff [as 别名]
def check_changed(pkgdirurl, all=0, show=0, verbose=0):
svn = SVN()
if all:
baseurl = pkgdirurl
packages = []
if verbose:
print "Getting list of packages...",
sys.stdout.flush()
packages = [x[:-1] for x in svn.ls(baseurl)]
if verbose:
print "done"
if not packages:
raise Error, "couldn't get list of packages"
else:
baseurl, basename = os.path.split(pkgdirurl)
packages = [basename]
clean = []
changed = []
nopristine = []
nocurrent = []
for package in packages:
pkgdirurl = os.path.join(baseurl, package)
current = layout.checkout_url(pkgdirurl)
pristine = layout.checkout_url(pkgdirurl, pristine=True)
if verbose:
print "Checking package %s..." % package,
sys.stdout.flush()
if not svn.ls(current, noerror=1):
if verbose:
print "NO CURRENT"
nocurrent.append(package)
elif not svn.ls(pristine, noerror=1):
if verbose:
print "NO PRISTINE"
nopristine.append(package)
else:
diff = svn.diff(pristine, current)
if diff:
changed.append(package)
if verbose:
print "CHANGED"
if show:
print diff
else:
if verbose:
print "clean"
clean.append(package)
if verbose:
if not packages:
print "No packages found!"
elif all:
print "Total clean packages: %s" % len(clean)
print "Total CHANGED packages: %d" % len(changed)
print "Total NO CURRENT packages: %s" % len(nocurrent)
print "Total NO PRISTINE packages: %s" % len(nopristine)
return {"clean": clean,
"changed": changed,
"nocurrent": nocurrent,
"nopristine": nopristine}