⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datecheck.py

📁 subversion-1.4.3-1.tar.gz 配置svn的源码
💻 PY
字号:
#!/usr/bin/env python### This is a debugging script to test date-ordering in an SVN repository.'''Tell which revisions are out of order w.r.t. date in a repository.Takes "svn log -q -r1:HEAD" output, prints results like this:      $ svn log -q -r1:HEAD | ./datecheck.py      [...]      r42           OK  2003-06-02 22:20:31 -0500      r43           OK  2003-06-02 22:20:31 -0500      r44           OK  2003-06-02 23:29:14 -0500      r45           OK  2003-06-02 23:29:14 -0500      r46           OK  2003-06-02 23:33:13 -0500      r47           OK  2003-06-10 15:19:47 -0500      r48       NOT OK  2003-06-02 23:33:13 -0500      r49           OK  2003-06-10 15:19:48 -0500      r50       NOT OK  2003-06-02 23:33:13 -0500      [...]'''import sysimport timelog_msg_separator = "-" * 72 + "\n"line = sys.stdin.readline()last_date = 0while line:  if not line:    break  if line == log_msg_separator:    line = sys.stdin.readline()    continue  # We're looking at a revision line like this:  #  # "r1 | svn | 2001-08-30 23:24:14 -0500 (Thu, 30 Aug 2001)"  #  # Parse out   rev, ignored, date_full = line.split("|")  rev = rev.strip()  date_full = date_full.strip()  # We only need the machine-readable portion of the date, so ignore  # the parenthesized part on the end, which is meant for humans.  # Get the "2004-06-02 00:15:08" part of "2004-06-02 00:15:08 -0500".  date = date_full[0:19]  # Get the "-0500" part of "2004-06-02 00:15:08 -0500".  offset = date_full[20:25]  # Parse the offset by hand and adjust the date accordingly, because  # http://docs.python.org/lib/module-time.html doesn't seem to offer  # a standard way to parse "-0500", "-0600", etc, suffixes.  Arggh.  offset_sign    = offset[0:1]  offset_hours   = int(offset[1:3])  offset_minutes = int(offset[3:5])  # Get a first draft of the date...  date_as_int = time.mktime(time.strptime(date, "%Y-%m-%d %H:%M:%S"))  # ... but it's still not correct, we must adjust for the offset.  if offset_sign == "-":    date_as_int -= (offset_hours * 3600)    date_as_int -= (offset_minutes * 60)  elif offset_sign == "+":    date_as_int += (offset_hours * 3600)    date_as_int += (offset_minutes * 60)  else:    sys.stderr.write("Error: unknown offset sign '%s'.\n" % offset_sign)    sys.exit(1)  ok_not_ok = "    OK"  if last_date > date_as_int:    ok_not_ok = "NOT OK"    print "%-8s  %s  %s %s" % (rev, ok_not_ok, date, offset)  last_date = date_as_int  line = sys.stdin.readline()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -