From afedd60d7911b35aa3fb86dad24d61809946b9ed Mon Sep 17 00:00:00 2001
From: joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Date: Tue, 11 Jul 2006 20:55:14 +0000
Subject: * Match 'web commit from' in SVN and git, these are web commits too. 
  (Faidon)

---
 IkiWiki/Rcs/git.pm | 10 +++++-----
 IkiWiki/Rcs/svn.pm | 10 +++++-----
 2 files changed, 10 insertions(+), 10 deletions(-)

(limited to 'IkiWiki')

diff --git a/IkiWiki/Rcs/git.pm b/IkiWiki/Rcs/git.pm
index 6cbcfd14e..271c27af6 100644
--- a/IkiWiki/Rcs/git.pm
+++ b/IkiWiki/Rcs/git.pm
@@ -12,7 +12,7 @@ my $origin_branch    = 'origin';            # Git ref for main repository
 my $master_branch    = 'master';            # working branch
 my $sha1_pattern     = qr/[0-9a-fA-F]{40}/; # pattern to validate Git sha1sums
 my $dummy_commit_msg = 'dummy commit';      # message to skip in recent changes
-my $web_commit_msg   = qr/^web commit by (\w+):?(.*)/; # pattern for web commits
+my $web_commit_msg   = qr/^web commit (by (\w+)|from (\d+\.\d+\.\d+\.\d+)):?(.*)/;
 
 sub _safe_git (&@) { #{{{
 	# Start a child process safely without resorting /bin/sh.
@@ -377,8 +377,8 @@ sub rcs_recentchanges ($) { #{{{
 
 		if (defined $message[0] &&
 		    $message[0]->{line} =~ m/$web_commit_msg/) {
-			$user = "$1";
-			$message[0]->{line} = $2;
+			$user=defined $2 ? "$2" : "$3";
+			$message[0]->{line}=$4;
 		} else {
 			$type ="git";
 			$user = $ci->{'author_username'};
@@ -426,8 +426,8 @@ sub rcs_notify () { #{{{
 
 	my ($user, $message);
 	if (@{ $ci->{'comment'} }[0] =~ m/$web_commit_msg/) {
-		$user    = "$1";
-		$message = $2;
+		$user    = defined $2 ? "$2" : "$3";
+		$message = $4;
 	} else {
 		$user    = $ci->{'author_username'};
 		$message = join "\n", @{ $ci->{'comment'} };
diff --git a/IkiWiki/Rcs/svn.pm b/IkiWiki/Rcs/svn.pm
index 560eb38a3..b5f5fb445 100644
--- a/IkiWiki/Rcs/svn.pm
+++ b/IkiWiki/Rcs/svn.pm
@@ -7,7 +7,7 @@ use IkiWiki;
 
 package IkiWiki;
 		
-my $svn_webcommit=qr/^web commit by (\w+):?(.*)/;
+my $svn_webcommit=qr/^web commit (by (\w+)|from (\d+\.\d+\.\d+\.\d+)):?(.*)/;
 
 sub svn_info ($$) { #{{{
 	my $field=shift;
@@ -143,8 +143,8 @@ sub rcs_recentchanges ($) { #{{{
 		my $committype="web";
 		if (defined $message[0] &&
 		    $message[0]->{line}=~/$svn_webcommit/) {
-			$user="$1";
-			$message[0]->{line}=$2;
+			$user=defined $2 ? "$2" : "$3";
+			$message[0]->{line}=$4;
 		}
 		else {
 			$committype="svn";
@@ -185,8 +185,8 @@ sub rcs_notify () { #{{{
 	chomp $user;
 	my $message=`svnlook log $config{svnrepo} -r $rev`;
 	if ($message=~/$svn_webcommit/) {
-		$user="$1";
-		$message=$2;
+		$user=defined $2 ? "$2" : "$3";
+		$message=$4;
 	}
 
 	my @changed_pages;
-- 
cgit v1.2.3