• BugTracker.Net设置问题


    代码
    # Copyright 2009 Corey Trager
    #
     Distributed under the terms of the GNU General Public License

    import sys
    import subprocess
    import re
    import urllib
    import os

    #######################################################################
    #
    #
     See svn documentation for how to install a hook script.
    #
    #
    ######################################################################


    #######################################################################
    #
    #
     !!!   Start of stuff you need to change
    #
    #
    #######################################################################

    # BugTracker.NET username and password.  The username needs to match
    #
     a setting in Web.config.
    btnet_username = "wxy"
    btnet_password 
    = "wxy"

    # The path to the svn executable
    #
     下面这一行,不能依照官方模板的格式来,,这一行花了我整整一个晚上
    svn_path = "C:\\Program Files\\CollabNet\\Subversion Server\\svn.exe"
    # The URL needs to be reachable from the machine where this script is
    #
     running.  (I have a virtual directory named "btnet").  Don't
    #
     use IIS windows security on svn_hook.aspx.
    btnet_url = "http://10.129.250.99/BugTracker/svn_hook.aspx"

    # The repository URL. BugTracker.NET web pages will use this URL to 
    #
     interact with this repository.  If you need a username and password
    #
     to access this repo, you configure that in Web.config.  See
    #
     Web.config for more info.
    this_repository_url = "http://10.129.250.99:81/svn/TeacherManager"

    bDebug 
    = True

    #######################################################################
    #
    #
     !!!   End of stuff you need to change
    #
    #
    ######################################################################


    #######################################################################
    #
     for debugging, display info and keep a log
    #
    ######################################################################
    def debug_out(s):
        
    if (bDebug):
            f 
    = open((os.environ["TEMP"]) + '\\btnet_svn_hook_log.txt''a')
            f.write(s)
            f.write(
    '\n')
            f.close    
            
    print s

    repo 
    = sys.argv[1]
    rev 
    = sys.argv[2]
    debug_out(repo)
    debug_out(rev)

    #######################################################################
    #
    #
     This is where this script keeps track of previously processed
    #
     revisions. If you delete this file, this script will send log info
    #
     for ALL revisions to BugTracker.NET.  You might want to do that to
    #
     reload the svn_revisions and svn_affected_paths tables.
    #
    #
    ######################################################################

    prev_revision_file 
    = repo + "\\hooks\\btnet_prev_revision.txt"
    debug_out(prev_revision_file)


    #######################################################################
    #
     Get the log info from svn
    #
     If we've already fetched info in the past, just fetch the info
    #
     since the last revision
    #
    ######################################################################

    # get the previous revision
    try:
        most_recent_revision_file 
    = open(prev_revision_file,"r")
        prev_revision 
    = most_recent_revision_file.read(40)
        most_recent_revision_file.close() 
    except:
        prev_revision 
    = ""

    debug_out(
    "prev_revision")
    debug_out(prev_revision)

    # just since previously processed revision

    file_url 
    = " file:///" + repo.replace("\\","/")
    subcommand 
    = " log --verbose --xml "

    if prev_revision != "":
        cmd 
    = svn_path + subcommand + " -r " + prev_revision + ":" + rev + file_url
    else:
        cmd 
    = svn_path + subcommand + file_url

    debug_out(cmd)

    process 
    = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    debug_out(
    "log stdout:")
    log_string 
    = process.stdout.read()
    debug_out(log_string)
    debug_out(
    "stderr:")
    debug_out(process.stderr.read())

    # remember that we already processed this revision
    most_recent_revision_file = open(prev_revision_file,"w")
    most_recent_revision_file.write(rev)
    most_recent_revision_file.close()


    # get the first revision in the log string and save it to the file.

    #######################################################################
    #
     send an http request to BugTracker.NET, the svn_hook.aspx page.
    #
    ######################################################################

    params 
    = urllib.urlencode({
        
    'svn_log': log_string,
        
    'repo': this_repository_url,
        
    'username': btnet_username,
        
    'password': btnet_password})

    response 
    = urllib.urlopen(btnet_url, params)
    data 
    = response.read()
    debug_out(data)
  • 相关阅读:
    win10系统ping另一台电脑上虚拟机的IP
    -bash: locate: command not found
    oracle 数据库 主键索引重建
    SSM整合记录
    IE11安装需要获取更新-安装失败
    Unicode与中文的转换-javascript
    Unicode与中文的转换-java
    正则表达式--学习
    一段过滤HTML标签的代码
    出现$(#form).validate is not a function的问题 (就是validate验证不了)
  • 原文地址:https://www.cnblogs.com/shiningrise/p/1614968.html
Copyright © 2020-2023  润新知