SVN问题汇总

TortoiseSVN Hook Scripts勾子应用

WScript.exe "D:\Program Files\TortoiseSVN\Hook\log_message_from_LogMsg.js"

Log自动追加

log_message_from_LogMsg.js

 // ??提交?子(Start Commit Hook)脚本。  
// 将当前目?中的“readme.txt”文件内容填入“提交??框”的日志信息中。  
var args = WScript.Arguments; // ?子脚本被?用?,由TSVN?入的参数  
var list = args(0); // 提交列表??文件路径  
var message = args(1); // 日志消息??文件路径  
var cwd = args(2); // 脚本?行的当前工作目?路径  
// 使用FSO在当前工作目?中?找是否存在“readme.txt”文件  
var fso = new ActiveXObject('Scripting.FileSystemObject'); 
var readme = 'D://Program Files//TortoiseSVN//Hook//LogMsg.txt'; 
if (fso.FileExists(readme)) { 
    // 使用当前系?默?的??方式(ANSI)?取文本文件  
    var ts = fso.OpenTextFile(readme, 1, false); 
    var text = ts.ReadAll(); 
    ts.Close(); 
 
    // 使用ADO Stream?象重新?出utf-8??的文件,覆盖日志消息文件  
    // TSVN将从消息文件中以utf-8???出消息,并填入提交??框  
    var stream = new ActiveXObject('Adodb.Stream'); 
    stream.Mode = 3; // read/write  
    stream.Open(); 
    stream.Type = 2; // text  
    stream.Charset = 'utf-8'; 
    stream.WriteText(text); 
    stream.SaveToFile(message, 2); // overwrite  
    stream.Close(); 
}

LogMsg.txt

修正:

Log 检查大小

log_check.js

 var objArgs,num;

objArgs = WScript.Arguments;
num = objArgs.length;
var fileLog = objArgs(2);
var fso = new ActiveXObject('Scripting.FileSystemObject');
if (fso.FileExists(fileLog))
{
 var ts = fso.OpenTextFile(fileLog, 1, false);
 if (ts.AtEndOfLine)
 {
  WScript.Echo("Please Input Log Char >= 8!");
  WScript.Quit(1);
 }
 else
 {
  var text = ts.ReadAll();
  if(text.length < 8)
  {
   WScript.Echo("Please Input Log Char >= 8!");
   WScript.Quit(1);
  } 
 }
}

 

 VSVN构子

@echo off
::   
:: Stops commits that have empty log messages.
::

@echo off

set svnlook="C:/Program Files/VisualSVN Server/bin/svnlook.exe"
setlocal

rem Subversion sends through the path to the repository and transaction id
set REPOS=%1
set TXN=%2

rem check for an empty log message
%svnlook% log %REPOS% -t %TXN% | findstr . > nul
if %errorlevel% gtr 0 (goto err) else exit 0

:err
echo 你提交必须追加Log 谢谢! 1>&2
exit 1

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值