2011-07-25 43 views
8

Có giống như một lệnh mà từ đó chúng tôi có thể nhận email của tác giả (committer) trong SVN (sử dụng h commandline SVN) không? hoặc như chúng ta có thể thiết lập mỗi tên người dùng cho một email và nhận email từ tác giả trong việc treo lên các tập lệnh không?Nhận địa chỉ email của tác giả trong SVN

Trả lời

9

SVN (không giống Git) không quan tâm đến id email của Tác giả. Chỉ có tên tác giả, thường là tên người dùng. Trong hầu hết các tổ chức, bạn phải có khả năng nhận email bằng cách thêm @domain.com vào tên người dùng.

1

trong tệp cam kết.pl sau my $ mail_from = $ author; tôi đã thêm

my @authoremail = &read_from_process('php', '-f', '/usr/bin/svnemail.php', '/var/lib/submin', $author); 
$mail_from = shift @authoremail; 

nội dung của kịch bản /usr/bin/svnemail.php:

<?php 
if (isset($argv[1])) {$fpath1=$argv[1];} else die("[email protected]\n"); 
if (isset($argv[2])) {$usrnm=$argv[2];} else die("[email protected]\n"); 
$file = fopen($fpath1."/userproperties.conf", "r"); 
$loginfound=false; 
$emailnotfound=true; 
while ((!feof($file)) and ($emailnotfound)){ 
     $line = fgets($file); 
    if ($loginfound) { 
       if (substr($line,0,1)=="[") { 
         die ("[email protected]\n"); 
       } 
       if (substr($line,0,8)=="email = ") { 
         echo substr($line,8); 
         $emailnotfound=false; 
       } 
     } 
    if (substr($line,0,strlen($argv[2])+2)=="[".$argv[2]."]") { 
       $loginfound=true; 
     } 
} 
if ($emailnotfound) { 
echo "[email protected]\n"; 
} 
fclose($file); 
?> 

Tôi không lập trình viên, do đó, không trừng phạt tôi chơi bóng mã này xin vui lòng. Cảm ơn.

Các vấn đề liên quan