亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? svn-bdb-view.py

?? subversion-1.4.3-1.tar.gz 配置svn的源碼
?? PY
字號:
#!/usr/bin/python## This is a pretty-printer for subversion BDB repository databases.#import sys, os, re, codecs, textwrapimport skel, svnfs# Parse argumentsif len(sys.argv) == 2:  dbhome = os.path.join(sys.argv[1], 'db')  if not os.path.exists(dbhome):    sys.stderr.write("%s: '%s' is not a valid svn repository\n" %        (sys.argv[0], dbhome))    sys.exit(1)else:  sys.stderr.write("Usage: %s <svn-repository>\n" % sys.argv[0])  sys.exit(1)# Helper Classesclass RepositoryProblem(Exception):  pass# Helper Functionsdef ok(bool, comment):  if not bool:    raise RepositoryProblem(text)# Helper Dataopmap = {  'add': 'A',  'modify': 'M',  'delete': 'D',  'replace': 'R',  'reset': 'X',}# Analysis Modulesdef am_uuid(ctx):  "uuids"  db = ctx.uuids_db  ok(db.keys() == [1], 'uuid Table Structure')  ok(re.match(r'^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$',    db[1]), 'UUID format')  print "Repos UUID: %s" % db[1]def am_revisions(ctx):  "revisions"  cur = ctx.revs_db.cursor()  try:    rec = cur.first()    ctx.txn2rev = txn2rev = {}    prevrevnum = -1    while rec:      rev = skel.Rev(rec[1])      revnum = rec[0] - 1      print "r%d: txn %s%s" % (revnum, rev.txn,          (not ctx.txns_db.has_key(rev.txn)) and "*** MISSING TXN ***" or "")      ok(not txn2rev.has_key(rev.txn), 'Multiple revs bound to same txn')      txn2rev[rev.txn] = revnum      rec = cur.next()  finally:    cur.close()def am_changes(ctx):  "changes"  cur = ctx.changes_db.cursor()  try:    current_txnid_len = 0    maximum_txnid_len = 0    while current_txnid_len <= maximum_txnid_len:      current_txnid_len += 1      rec = cur.first()      prevtxn = None      while rec:        if len(rec[0]) != current_txnid_len:          rec = cur.next()          continue        ch = skel.Change(rec[1])        lead = "txn %s:" % rec[0]        if prevtxn == rec[0]:          lead = " " * len(lead)        print "%s %s %s %s %s %s%s" % (lead, opmap[ch.kind], ch.path, ch.node,            ch.textmod and "T" or "-", ch.propmod and "P" or "-",            (not ctx.nodes_db.has_key(ch.node)) \                and "*** MISSING NODE ***" or "")        prevtxn = rec[0]        if len(rec[0]) > maximum_txnid_len:          maximum_txnid_len = len(rec[0])        rec = cur.next()  finally:    cur.close()def am_copies(ctx):  "copies"  cur = ctx.copies_db.cursor()  try:    print "next-key: %s" % ctx.copies_db['next-key']    rec = cur.first()    while rec:      if rec[0] != 'next-key':        cp = skel.Copy(rec[1])        destnode = ctx.nodes_db.get(cp.destnode)        if not destnode:          destpath = "*** MISSING NODE ***"        else:          destpath = skel.Node(destnode).createpath        print "cpy %s: %s %s @txn %s to %s (%s)" % (rec[0],            {'copy':'C','soft-copy':'S'}[cp.kind], cp.srcpath or "-",            cp.srctxn or "-", cp.destnode, destpath)      rec = cur.next()  finally:    cur.close()def am_txns(ctx):  "transactions"  cur = ctx.txns_db.cursor()  try:    print "next-key: %s" % ctx.txns_db['next-key']    length = 1    found_some = True    while found_some:      found_some = False      rec = cur.first()      while rec:        if rec[0] != 'next-key' and len(rec[0]) == length:          found_some = True          txn = skel.Txn(rec[1])          if txn.kind == "committed":            label = "r%s" % txn.rev            ok(ctx.txn2rev[rec[0]] == int(txn.rev), 'Txn->rev not <-txn')          else:            label = "%s based-on %s" % (txn.kind, txn.basenode)          print "txn %s: %s root-node %s props %d copies %s" % (rec[0],              label, txn.rootnode, len(txn.proplist) / 2, ",".join(txn.copies))        rec = cur.next()      length += 1  finally:    cur.close()def am_nodes(ctx):  "nodes"  cur = ctx.nodes_db.cursor()  try:    print "next-key: %s" % ctx.txns_db['next-key']    rec = cur.first()    data = {}    while rec:      if rec[0] == 'next-key':        rec = cur.next()        continue      nd = skel.Node(rec[1])      nid,cid,tid = rec[0].split(".")      data[tid.rjust(20)+nd.createpath] = (rec[0], nd)      rec = cur.next()    k = data.keys()    k.sort()    reptype = {"fulltext":"F", "delta":"D"}    for i in k:      nd = data[i][1]      prkind = drkind = " "      if nd.proprep:        try:          rep = skel.Rep(ctx.reps_db[nd.proprep])          prkind = reptype[rep.kind]          if ctx.bad_reps.has_key(nd.proprep):            prkind += " *** BAD ***"        except KeyError:          prkind = "*** MISSING ***"      if nd.datarep:        try:          rep = skel.Rep(ctx.reps_db[nd.datarep])          drkind = reptype[rep.kind]          if ctx.bad_reps.has_key(nd.datarep):            drkind += " *** BAD ***"        except KeyError:          drkind = "*** MISSING ***"      stringdata = "%s: %s %s pred %s count %s prop %s %s data %s %s edit %s" \          % ( data[i][0], {"file":"F", "dir":"D"}[nd.kind], nd.createpath,          nd.prednode or "-", nd.predcount, prkind, nd.proprep or "-",          drkind, nd.datarep or "-", nd.editrep or "-")      if nd.createpath == "/":        print      print stringdata  finally:    cur.close()def get_string(ctx, id):  try:    return ctx.get_whole_string(id)  except DbNotFoundError:    return "*** MISSING STRING ***"def am_reps(ctx):  "representations"  ctx.bad_reps = {}  cur = ctx.reps_db.cursor()  try:    print "next-key: %s" % ctx.txns_db['next-key']    rec = cur.first()    while rec:      if rec[0] != 'next-key':        rep = skel.Rep(rec[1])        lead = "rep %s: txn %s: %s %s " % (rec[0], rep.txn, rep.cksumtype,            codecs.getencoder('hex_codec')(rep.cksum)[0])        if rep.kind == "fulltext":          note = ""          if not ctx.strings_db.has_key(rep.str):            note = " *MISS*"            ctx.bad_reps[rec[0]] = None          print lead+("fulltext str %s%s" % (rep.str, note))          if ctx.verbose:            print textwrap.fill(get_string(ctx, rep.str), initial_indent="  ",                subsequent_indent="  ", width=78)        elif rep.kind == "delta":          print lead+("delta of %s window%s" % (len(rep.windows),            len(rep.windows) != 1 and "s" or ""))          for window in rep.windows:            noterep = notestr = ""            if not ctx.reps_db.has_key(window.vs_rep):              noterep = " *MISS*"              ctx.bad_reps[rec[0]] = None            if not ctx.strings_db.has_key(window.str):              notestr = " *MISS*"              ctx.bad_reps[rec[0]] = None            print "\toff %s len %s vs-rep %s%s str %s%s" % (window.offset,                window.size, window.vs_rep, noterep, window.str, notestr)        else:          print lead+"*** UNKNOWN REPRESENTATION TYPE ***"      rec = cur.next()  finally:    cur.close()def am_stringsize(ctx):  "string size"  if not ctx.verbose:    return  cur = ctx.strings_db.cursor()  try:    rec = cur.first()    size = 0    while rec:      size = size + len(rec[1] or "")      rec = cur.next()    print size, size/1024.0, size/1024.0/1024.0  finally:    cur.close()modules = (    am_uuid,    am_revisions,    am_changes,    am_copies,    am_txns,    am_reps,    am_nodes,    # Takes too long: am_stringsize,    )def main():  print "Repository View for '%s'" % dbhome  print  ctx = svnfs.Ctx(dbhome, readonly=1)  # Stash process state in a library data structure. Yuck!  ctx.verbose = 0  try:    for am in modules:      print "MODULE: %s" % am.__doc__      am(ctx)      print  finally:    ctx.close()if __name__ == '__main__':  main()

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品欧美黑人一区二区三区| 亚洲国产美国国产综合一区二区| 日韩欧美专区在线| 欧美亚洲综合网| 91福利精品第一导航| 91免费在线看| 91在线一区二区| 在线亚洲免费视频| 欧美日韩国产精品自在自线| 884aa四虎影成人精品一区| 日韩一区二区在线免费观看| 欧美电影免费观看高清完整版在| 日韩欧美一级精品久久| www激情久久| 中文欧美字幕免费| 亚洲精品综合在线| 午夜欧美视频在线观看| 蜜臀久久久99精品久久久久久| 麻豆专区一区二区三区四区五区| 国产精品自拍av| www.亚洲在线| 欧美三级日韩在线| 日韩美一区二区三区| 久久精品无码一区二区三区| 中文字幕一区二| 亚洲一二三区视频在线观看| 日日夜夜精品免费视频| 国产一区二区三区免费观看| 床上的激情91.| 91黄视频在线观看| 日韩一区二区电影| 国产嫩草影院久久久久| 一区二区不卡在线播放| 免费不卡在线观看| 成人免费观看男女羞羞视频| 精品视频999| 久久女同互慰一区二区三区| 亚洲欧美激情在线| 婷婷中文字幕综合| 成人免费视频播放| 91麻豆精品国产| 国产区在线观看成人精品| 亚洲欧美日韩一区二区| 日本不卡视频在线观看| 成+人+亚洲+综合天堂| 欧美午夜片在线观看| 国产亚洲短视频| 亚洲一区二区三区四区的| 久久99日本精品| 色综合中文字幕国产| 在线电影国产精品| 国产精品久久久久久亚洲伦| 五月综合激情婷婷六月色窝| 成人免费毛片嘿嘿连载视频| 91麻豆精品国产91久久久久久久久| 中文字幕精品一区二区精品绿巨人 | 亚洲乱码国产乱码精品精98午夜| 偷拍一区二区三区四区| www.亚洲免费av| 精品久久久久久久久久久久久久久久久 | 国产日韩影视精品| 五月激情六月综合| 99免费精品视频| 欧美xxxx老人做受| 亚洲已满18点击进入久久| 国产a级毛片一区| 欧美一区二区三区四区高清| 中文字幕日韩欧美一区二区三区| 久久精品99国产精品| 欧美日韩一卡二卡三卡 | 亚洲三级免费电影| 狠狠色丁香九九婷婷综合五月| 欧美午夜视频网站| 国产精品人成在线观看免费| 美腿丝袜亚洲三区| 欧美乱妇一区二区三区不卡视频| 亚洲欧美综合网| 国产精品99久久久久久似苏梦涵| 日韩亚洲欧美中文三级| 亚洲一二三区不卡| 在线看国产一区| 亚洲天天做日日做天天谢日日欢| 国产成人在线视频网址| 欧美电影免费观看高清完整版在线 | 亚洲精品一区二区在线观看| 午夜成人免费电影| 在线亚洲免费视频| 一区二区三区不卡视频| 99久久99久久综合| 国产精品灌醉下药二区| 福利一区在线观看| 日本一区二区久久| 国产98色在线|日韩| 久久久久久免费| 裸体健美xxxx欧美裸体表演| 欧美美女激情18p| 亚洲成在线观看| 欧美在线看片a免费观看| 亚洲免费观看高清完整版在线观看熊| 国产成人精品亚洲777人妖| 26uuu精品一区二区| 激情综合色综合久久| 日韩三级在线观看| 久久电影网电视剧免费观看| 精品福利在线导航| 激情综合网最新| 国产日韩欧美在线一区| 成人精品视频一区二区三区尤物| 国产欧美一二三区| eeuss国产一区二区三区| 中文字幕在线一区二区三区| 成人永久aaa| 亚洲美女视频在线观看| 欧美亚洲动漫制服丝袜| 亚洲福利视频一区二区| 在线播放视频一区| 捆绑调教美女网站视频一区| 久久综合久久综合亚洲| 懂色一区二区三区免费观看| 中文字幕一区二区三区在线播放 | 91首页免费视频| 亚洲精品国产a久久久久久| 欧美性猛片xxxx免费看久爱 | 欧美精品一二三| 美女视频黄久久| 久久久久久9999| www.久久久久久久久| 亚洲第一福利一区| 欧美一级欧美三级| 从欧美一区二区三区| 亚洲在线视频网站| 日韩一级黄色大片| a4yy欧美一区二区三区| 性感美女久久精品| 欧美精品一区二区三区久久久| 不卡av免费在线观看| 婷婷中文字幕综合| 久久这里只有精品视频网| 99久久精品国产精品久久| 日韩主播视频在线| 亚洲国产高清在线观看视频| 91久久精品日日躁夜夜躁欧美| 美日韩一级片在线观看| 欧美国产国产综合| 91精品福利在线一区二区三区| 国产一区二区三区黄视频| 亚洲欧美另类在线| 欧美成人精品3d动漫h| 91在线观看高清| 久久激情综合网| 一区二区三区在线免费观看 | 久久超碰97中文字幕| 国产人久久人人人人爽| 欧美夫妻性生活| 成人视屏免费看| 男人的j进女人的j一区| 最新日韩在线视频| 日韩欧美国产一区在线观看| 97久久精品人人做人人爽50路| 日本女人一区二区三区| 综合婷婷亚洲小说| 精品久久久久久最新网址| 欧美午夜影院一区| 成人激情免费视频| 久久精品久久99精品久久| 亚洲人成精品久久久久| 久久久久国产精品人| 欧美群妇大交群中文字幕| a美女胸又www黄视频久久| 久久99国产精品久久99| 亚洲国产成人精品视频| 国产精品女同一区二区三区| 日韩一级精品视频在线观看| 欧美三级中文字幕在线观看| 成人18视频日本| 国产乱码精品一区二区三区五月婷 | 国产精品美女www爽爽爽| 日韩视频中午一区| 欧美日韩在线播| 91视频在线观看免费| 国产91精品在线观看| 久久精工是国产品牌吗| 日日夜夜精品视频免费| 一区二区欧美精品| 亚洲美女一区二区三区| 中文字幕制服丝袜成人av| 久久久久成人黄色影片| 欧美大片一区二区| 欧美一区二区私人影院日本| 欧美亚洲日本国产| 在线看日本不卡| 日本高清不卡在线观看| 91亚洲男人天堂| www.亚洲人| www.亚洲激情.com| 99久久精品一区| 91免费在线看| 色综合婷婷久久| 99精品国产热久久91蜜凸| 99久久精品国产一区二区三区|