{"thread":{"id":"21828","subject":"[PATCH 2/5] git-svn: Make merge metadata accessible to make_log_entry","startedAt":"2009-12-02T19:07:49Z","lastAt":"2009-12-19T22:24:07Z","messageCount":12,"participants":["Alex Vandiver","Eric Wong","Sam Vilain"],"isPatch":true,"patchVersion":1,"patchTotal":5},"messages":[{"id":"129052","messageId":"1259780874-14706-1-git-send-email-alex@chmrr.net","threadId":"21828","inReplyTo":null,"subject":"[PATCH 0/5] git-svn: svk log message cleanup","fromName":"Alex Vandiver","fromEmail":"alex@chmrr.net","sentAt":"2009-12-02T19:07:49Z","receivedAt":"2009-12-02T19:07:49Z","isPatch":true,"sender":{"key":"alex@chmrr.net","avatar":"https://avatars.githubusercontent.com/u/28347?v=4"},"body":"This patch series tries to clean up the cruft that svk leaves in log\nmessages, while optionally (using the existing --use-log-author\noption) using the information therein to set author username and time.\n - Alex\n"},{"id":"129050","messageId":"1259780874-14706-2-git-send-email-alex@chmrr.net","threadId":"21828","inReplyTo":"1259780874-14706-1-git-send-email-alex@chmrr.net","subject":"[PATCH 1/5] git-svn: Allow setting the committer and author date separately","fromName":"Alex Vandiver","fromEmail":"alex@chmrr.net","sentAt":"2009-12-02T19:07:50Z","receivedAt":"2009-12-02T19:07:50Z","isPatch":true,"sender":{"key":"alex@chmrr.net","avatar":"https://avatars.githubusercontent.com/u/28347?v=4"},"body":"\nSigned-off-by: Alex Vandiver <alex@chmrr.net>\n---\n git-svn.perl |    5 ++++-\n 1 files changed, 4 insertions(+), 1 deletions(-)\n\ndiff --git a/git-svn.perl b/git-svn.perl\nindex 51f03ad..53bf20c 100755\n--- a/git-svn.perl\n+++ b/git-svn.perl\n@@ -2491,7 +2491,7 @@ sub set_commit_header_env {\n \n \t$ENV{GIT_AUTHOR_NAME} = $log_entry->{name};\n \t$ENV{GIT_AUTHOR_EMAIL} = $log_entry->{email};\n-\t$ENV{GIT_AUTHOR_DATE} = $ENV{GIT_COMMITTER_DATE} = $log_entry->{date};\n+\t$ENV{GIT_AUTHOR_DATE} = $log_entry->{date};\n \n \t$ENV{GIT_COMMITTER_NAME} = (defined $log_entry->{commit_name})\n \t\t\t\t\t\t? $log_entry->{commit_name}\n@@ -2499,6 +2499,9 @@ sub set_commit_header_env {\n \t$ENV{GIT_COMMITTER_EMAIL} = (defined $log_entry->{commit_email})\n \t\t\t\t\t\t? $log_entry->{commit_email}\n \t\t\t\t\t\t: $log_entry->{email};\n+        $ENV{GIT_COMMITTER_DATE} =  (defined $log_entry->{commit_date})\n+\t\t\t\t\t\t? $log_entry->{commit_date}\n+\t\t\t\t\t\t: $log_entry->{date};\n \t\\%env;\n }\n \n-- \n1.6.6.rc0.327.g032bc\n"},{"id":"129049","messageId":"1259780874-14706-3-git-send-email-alex@chmrr.net","threadId":"21828","inReplyTo":"1259780874-14706-1-git-send-email-alex@chmrr.net","subject":"[PATCH 2/5] git-svn: Make merge metadata accessible to make_log_entry","fromName":"Alex Vandiver","fromEmail":"alex@chmrr.net","sentAt":"2009-12-02T19:07:51Z","receivedAt":"2009-12-02T19:07:51Z","isPatch":true,"sender":{"key":"alex@chmrr.net","avatar":"https://avatars.githubusercontent.com/u/28347?v=4"},"body":"\nSigned-off-by: Alex Vandiver <alex@chmrr.net>\n---\n git-svn.perl |   22 ++++++++++++++--------\n 1 files changed, 14 insertions(+), 8 deletions(-)\n\ndiff --git a/git-svn.perl b/git-svn.perl\nindex 53bf20c..5337326 100755\n--- a/git-svn.perl\n+++ b/git-svn.perl\n@@ -2924,7 +2924,7 @@ sub check_author {\n }\n \n sub find_extra_svk_parents {\n-\tmy ($self, $ed, $tickets, $parents) = @_;\n+\tmy ($self, $ed, $tickets, $parents, $merges) = @_;\n \t# aha!  svk:merge property changed...\n \tmy @tickets = split \"\\n\", $tickets;\n \tmy @known_parents;\n@@ -2944,14 +2944,15 @@ sub find_extra_svk_parents {\n \t\t\t\t# wahey!  we found it, but it might be\n \t\t\t\t# an old one (!)\n \t\t\t\tpush @known_parents, [ $rev, $commit ];\n+\t\t\t\tpush @known_parents, [ $rev, $path, $commit ];\n \t\t\t}\n \t\t}\n \t}\n \t# Ordering matters; highest-numbered commit merge tickets\n \t# first, as they may account for later merge ticket additions\n \t# or changes.\n-\t@known_parents = map {$_->[1]} sort {$b->[0] <=> $a->[0]} @known_parents;\n-\tfor my $parent ( @known_parents ) {\n+\tfor my $merge ( sort {$b->[0] <=> $a->[0]} @known_parents ) {\n+\t\tmy ($rev, $path, $parent) = @{$merge};\n \t\tmy @cmd = ('rev-list', $parent, map { \"^$_\" } @$parents );\n \t\tmy ($msg_fh, $ctx) = command_output_pipe(@cmd);\n \t\tmy $new;\n@@ -2963,6 +2964,7 @@ sub find_extra_svk_parents {\n \t\t\tprint STDERR\n \t\t\t    \"Found merge parent (svk:merge ticket): $parent\\n\";\n \t\t\tpush @$parents, $parent;\n+\t\t\tpush @$merges, \"$path:$rev\";\n \t\t}\n \t}\n }\n@@ -3061,27 +3063,31 @@ sub make_log_entry {\n \tmy ($self, $rev, $parents, $ed) = @_;\n \tmy $untracked = $self->get_untracked($ed);\n \n-\tmy @parents = @$parents;\n+\tmy %log_entry = ( parents => $parents,\n+\t                  merged_branches => [],\n+\t                  revision => $rev,\n+\t                  log => '');\n \tmy $ps = $ed->{path_strip} || \"\";\n \tfor my $path ( grep { m/$ps/ } %{$ed->{dir_prop}} ) {\n \t\tmy $props = $ed->{dir_prop}{$path};\n \t\tif ( $props->{\"svk:merge\"} ) {\n \t\t\t$self->find_extra_svk_parents\n-\t\t\t\t($ed, $props->{\"svk:merge\"}, \\@parents);\n+\t\t\t\t($ed,\n+\t\t\t\t $props->{\"svk:merge\"},\n+\t\t\t\t $log_entry{parents},\n+\t\t\t\t $log_entry{merged_branches});\n \t\t}\n \t\tif ( $props->{\"svn:mergeinfo\"} ) {\n \t\t\t$self->find_extra_svn_parents\n \t\t\t\t($ed,\n \t\t\t\t $props->{\"svn:mergeinfo\"},\n-\t\t\t\t \\@parents);\n+\t\t\t\t $log_entry{parents});\n \t\t}\n \t}\n \n \topen my $un, '>>', \"$self->{dir}/unhandled.log\" or croak $!;\n \tprint $un \"r$rev\\n\" or croak $!;\n \tprint $un $_, \"\\n\" foreach @$untracked;\n-\tmy %log_entry = ( parents => \\@parents, revision => $rev,\n-\t                  log => '');\n \n \tmy $headrev;\n \tmy $logged = delete $self->{logged_rev_props};\n-- \n1.6.6.rc0.327.g032bc\n"},{"id":"129051","messageId":"1259780874-14706-4-git-send-email-alex@chmrr.net","threadId":"21828","inReplyTo":"1259780874-14706-1-git-send-email-alex@chmrr.net","subject":"[PATCH 3/5] git-svn: Strip SVK headers, optionally parsing author information","fromName":"Alex Vandiver","fromEmail":"alex@chmrr.net","sentAt":"2009-12-02T19:07:52Z","receivedAt":"2009-12-02T19:07:52Z","isPatch":true,"sender":{"key":"alex@chmrr.net","avatar":"https://avatars.githubusercontent.com/u/28347?v=4"},"body":"SVK adds additional headers (often nested arbitrarily) detailing\ninformation on the local commit.  When possible, strip these headers\nso that the first line of git's commit message is actually descriptive\nof the commit.\n\nAdditionally, these headers contain information about the original\nauthor's username, and their local commit time.  If the\n--use-log-author flag is set, use this information to set the\ninformation on the git commit.  Note that the username thus extracted\nmay be a _local_ username, and thus may require additional, somewhat\nunexpected, entries in the authors file.\n\nSigned-off-by: Alex Vandiver <alex@chmrr.net>\n---\n git-svn.perl |   98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 1 files changed, 96 insertions(+), 2 deletions(-)\n\ndiff --git a/git-svn.perl b/git-svn.perl\nindex 5337326..0731425 100755\n--- a/git-svn.perl\n+++ b/git-svn.perl\n@@ -3110,7 +3110,8 @@ sub make_log_entry {\n \tclose $un or croak $!;\n \n \t$log_entry{date} = parse_svn_date($log_entry{date});\n-\t$log_entry{log} .= \"\\n\";\n+\tparse_svk_log(\\%log_entry) if $log_entry{log} =~ svk_header_regex( lenient => 1 );\n+\n \tmy $author = $log_entry{author} = check_author($log_entry{author});\n \tmy ($name, $email) = defined $::users{$author} ? @{$::users{$author}}\n \t\t\t\t\t\t       : ($author, undef);\n@@ -3118,7 +3119,15 @@ sub make_log_entry {\n \tmy ($commit_name, $commit_email) = ($name, $email);\n \tif ($_use_log_author) {\n \t\tmy $name_field;\n-\t\tif ($log_entry{log} =~ /From:\\s+(.*\\S)\\s*\\n/i) {\n+\t\tif ($log_entry{log_author}) {\n+\t\t\t$log_entry{commit_date} = $log_entry{date};\n+\t\t\t$log_entry{date} = $log_entry{log_author_date};\n+\t\t\t$log_entry{log_author} = check_author($log_entry{log_author});\n+\t\t\tmy ($log_author_name, $log_author_email)\n+\t\t\t    = defined $::users{$log_entry{log_author}} ? @{$::users{$log_entry{log_author}}}\n+\t\t\t        : ($log_entry{log_author}, undef);\n+\t\t\t$name_field = \"$log_author_name <$log_author_email>\";\n+\t\t} elsif ($log_entry{log} =~ /From:\\s+(.*\\S)\\s*\\n/i) {\n \t\t\t$name_field = $1;\n \t\t} elsif ($log_entry{log} =~ /Signed-off-by:\\s+(.*\\S)\\s*\\n/i) {\n \t\t\t$name_field = $1;\n@@ -3182,6 +3191,91 @@ sub make_log_entry {\n \t\\%log_entry;\n }\n \n+sub svk_header_regex {\n+\tmy %args = ( lenient => 0, orig => 0, @_ );\n+\tmy $orig = $args{orig} ? qr/ \\(orig r\\d+\\)/ : \"\";\n+\tmy $atstart = \"\";\n+\tif ($args{lenient}) {\n+\t\t$atstart = qr/\\s*/;\n+\t\t$orig = qr/(?: \\(orig r\\d+\\))?/;\n+\t}\n+\treturn qr/^${atstart}r\\d+\\@\\S+$orig:\\s*(\\S+)\\s*\\|\\s*(.*?)\\s*([+-]\\d+)$/m;\n+}\n+\n+sub parse_svk_log {\n+\tmy $log_entry = shift;\n+\tmy $log = $log_entry->{log};\n+\n+\t# Strip off blank lines at the start and end\n+\t$log =~ s/^(\\s*?\\n)+//;\n+\t$log =~ s/\\s*$//;\n+\n+\t# If each line starts with a space, this might be an\n+\t# unmodified SVK log format.  As a side effect, this also\n+\t# trims the leading space off of the lines.\n+\tmy $lines = $log =~ s/^//mg;\n+\tmy $spaced = $log =~ s/^ //mg;\n+\treturn unless $lines == $spaced;\n+\n+\tmy $regex = svk_header_regex( orig => 1 );\n+\tif ($log =~ /\\A$regex/) {\n+\t\t# This is either a merge commit, or a base-less merge\n+\t\t# (replay from a different repository) The \\A assures\n+\t\t# that this is an _unedited_ merge commit with no\n+\t\t# hand-supplied log message.\n+\t\tif (@{$log_entry->{merged_branches} || []}) {\n+\t\t\t# This is a merge with no description; provide\n+\t\t\t# one.\n+\t\t\t$log_entry->{log} = \"Merge from @{$log_entry->{merged_branches}}\\n\\n$log\";\n+\t\t} else {\n+\t\t\tmy $commits = 0;\n+\t\t\t$commits++ while $log =~ /$regex/g;\n+\t\t\tif ($commits == 1) {\n+\t\t\t\t# This is a baseless merge of one\n+\t\t\t\t# commit; strip off the original\n+\t\t\t\t# commit info\n+\t\t\t\t$log_entry->{log_author} = $1;\n+\t\t\t\t$log_entry->{log_author_date} = \"$3 $2\";\n+\t\t\t\t$log =~ s/\\A$regex\\n*//;\n+\t\t\t\t$log_entry->{log} = $log;\n+\t\t\t\tparse_svk_log($log_entry);\n+\t\t\t} else {\n+\t\t\t\t# A lump baseless merge?  Remove all\n+\t\t\t\t# of the SVK headers on this level,\n+\t\t\t\t# and add a summary.  Trailing\n+\t\t\t\t# newlines on the svk header lines are\n+\t\t\t\t# left unmolested, so they become\n+\t\t\t\t# blank lines.\n+\t\t\t\t$log =~ s/$regex//g;\n+\t\t\t\t$log_entry->{log} = \"Lump commit\\n$log\";\n+\t\t\t}\n+\t\t}\n+\t} else {\n+\t\t# Look for svk header lines without the (orig r12345),\n+\t\t# which were local commits.\n+\t\t$regex = svk_header_regex();\n+\t\tmy $commits = 0;\n+\t\t$commits++ while $log =~ /$regex/g;\n+\t\tif ($commits == 0) {\n+\t\t\t# No more svk-like commits; don't change anything.\n+\t\t} elsif ($commits == 1) {\n+\t\t\t# Only one top-level commit-like object; strip\n+\t\t\t# it off, recurse down.\n+\t\t\t$log_entry->{log_author} = $1;\n+\t\t\t$log_entry->{log_author_date} = \"$3 $2\";\n+\t\t\t$log =~ s/$regex\\n*//;\n+\t\t\t$log_entry->{log} = $log;\n+\t\t\tparse_svk_log($log_entry);\n+\t\t} else {\n+\t\t\t# This is a lump push of local commits.\t Strip\n+\t\t\t# off all of the svk headers in this level,\n+\t\t\t# and call it quits.\n+\t\t\t$log =~ s/$regex//g;\n+\t\t\t$log_entry->{log} = $log;\n+\t\t}\n+\t}\n+}\n+\n sub fetch {\n \tmy ($self, $min_rev, $max_rev, @parents) = @_;\n \tmy ($last_rev, $last_commit) = $self->last_rev_commit;\n-- \n1.6.6.rc0.327.g032bc\n"},{"id":"129053","messageId":"1259780874-14706-5-git-send-email-alex@chmrr.net","threadId":"21828","inReplyTo":"1259780874-14706-1-git-send-email-alex@chmrr.net","subject":"[PATCH 4/5] git-svn: Provide a default \"empty commit message\" so the metadata is not the header","fromName":"Alex Vandiver","fromEmail":"alex@chmrr.net","sentAt":"2009-12-02T19:07:53Z","receivedAt":"2009-12-02T19:07:53Z","isPatch":true,"sender":{"key":"alex@chmrr.net","avatar":"https://avatars.githubusercontent.com/u/28347?v=4"},"body":"git-svn adds a trailing line of metadata to the commit message.  If\nthe commit message would otherwise be empty, this can lead to\nconfusing display in `gitk` and `git log --oneline`.  Thus, provide a\nno-op \"(empty commit message)\" message for the first line of such\nmessages.\n\nSigned-off-by: Alex Vandiver <alex@chmrr.net>\n---\n git-svn.perl |    1 +\n 1 files changed, 1 insertions(+), 0 deletions(-)\n\ndiff --git a/git-svn.perl b/git-svn.perl\nindex 0731425..87462c9 100755\n--- a/git-svn.perl\n+++ b/git-svn.perl\n@@ -3111,6 +3111,7 @@ sub make_log_entry {\n \n \t$log_entry{date} = parse_svn_date($log_entry{date});\n \tparse_svk_log(\\%log_entry) if $log_entry{log} =~ svk_header_regex( lenient => 1 );\n+\t$log_entry{log} = \"(empty commit message)\\n\" unless $log_entry{log} =~ /\\S/;\n \n \tmy $author = $log_entry{author} = check_author($log_entry{author});\n \tmy ($name, $email) = defined $::users{$author} ? @{$::users{$author}}\n-- \n1.6.6.rc0.327.g032bc\n"},{"id":"129054","messageId":"1259780874-14706-6-git-send-email-alex@chmrr.net","threadId":"21828","inReplyTo":"1259780874-14706-1-git-send-email-alex@chmrr.net","subject":"[PATCH 5/5] git-svn: Correct a copy-and-pasted misleading comment","fromName":"Alex Vandiver","fromEmail":"alex@chmrr.net","sentAt":"2009-12-02T19:07:54Z","receivedAt":"2009-12-02T19:07:54Z","isPatch":true,"sender":{"key":"alex@chmrr.net","avatar":"https://avatars.githubusercontent.com/u/28347?v=4"},"body":"\nSigned-off-by: Alex Vandiver <alex@chmrr.net>\n---\n git-svn.perl |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ndiff --git a/git-svn.perl b/git-svn.perl\nindex 87462c9..804a26c 100755\n--- a/git-svn.perl\n+++ b/git-svn.perl\n@@ -2973,7 +2973,7 @@ sub find_extra_svk_parents {\n # have actually changed\n sub find_extra_svn_parents {\n \tmy ($self, $ed, $mergeinfo, $parents) = @_;\n-\t# aha!  svk:merge property changed...\n+\t# aha!  svn:mergeinfo property changed...\n \n \t# We first search for merged tips which are not in our\n \t# history.  Then, we figure out which git revisions are in\n-- \n1.6.6.rc0.327.g032bc\n"},{"id":"129064","messageId":"1259786690-sup-8337@utwig","threadId":"21828","inReplyTo":"1259780874-14706-3-git-send-email-alex@chmrr.net","subject":"Re: [PATCH 2/5] git-svn: Make merge metadata accessible to make_log_entry","fromName":"Alex Vandiver","fromEmail":"alex@chmrr.net","sentAt":"2009-12-02T20:46:41Z","receivedAt":"2009-12-02T20:46:41Z","isPatch":true,"sender":{"key":"alex@chmrr.net","avatar":"https://avatars.githubusercontent.com/u/28347?v=4"},"body":"At Wed Dec 02 14:07:51 -0500 2009, Alex Vandiver wrote:\n> @@ -2944,14 +2944,15 @@ sub find_extra_svk_parents {\n>                  # wahey!  we found it, but it might be\n>                  # an old one (!)\n>                  push @known_parents, [ $rev, $commit ];\n> +                push @known_parents, [ $rev, $path, $commit ];\n>              }\n>          }\n>      }\n\nThis hunk is wrong due to a mis-merge on my part -- the first 'push'\nline should have been removed, obviously.  I'll wait for other\ncomments before I push a v2, however.\n\n - Alex\n-- \nNetworking -- only one letter away from not working\n"},{"id":"129296","messageId":"20091205223241.GB2120@dcvr.yhbt.net","threadId":"21828","inReplyTo":"1259786690-sup-8337@utwig","subject":"Re: [PATCH 2/5] git-svn: Make merge metadata accessible to make_log_entry","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2009-12-05T22:32:41Z","receivedAt":"2009-12-05T22:32:41Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Alex Vandiver <alex@chmrr.net> wrote:\n> This hunk is wrong due to a mis-merge on my part -- the first 'push'\n> line should have been removed, obviously.  I'll wait for other\n> comments before I push a v2, however.\n\nHi Alex,\n\nI'll continue to defer to Sam for ack-ing SVK-related things.\n\nOne thing I am very picky about is wrapping lines at 80-columns or\nless (hard tabs being 8 characters wide).\n\n-- \nEric Wong\n"},{"id":"129298","messageId":"1260052934-sup-9563@utwig","threadId":"21828","inReplyTo":"20091205223241.GB2120@dcvr.yhbt.net","subject":"Re: [PATCH 2/5] git-svn: Make merge metadata accessible to make_log_entry","fromName":"Alex Vandiver","fromEmail":"alex@chmrr.net","sentAt":"2009-12-05T22:51:23Z","receivedAt":"2009-12-05T22:51:23Z","isPatch":true,"sender":{"key":"alex@chmrr.net","avatar":"https://avatars.githubusercontent.com/u/28347?v=4"},"body":"At Sat Dec 05 17:32:41 -0500 2009, Eric Wong wrote:\n> I'll continue to defer to Sam for ack-ing SVK-related things.\n> \n> One thing I am very picky about is wrapping lines at 80-columns or\n> less (hard tabs being 8 characters wide).\n\n*nod* I've fixed up my local copy for v2 to rewrap things at < 80\ncolumns, and will keep that in mind for the future.\n - Alex\n-- \nNetworking -- only one letter away from not working\n"},{"id":"129299","messageId":"1260053972.22680.5.camel@denix","threadId":"21828","inReplyTo":"1260052934-sup-9563@utwig","subject":"Re: [spf:guess] Re: [PATCH 2/5] git-svn: Make merge metadata accessible to make_log_entry","fromName":"Sam Vilain","fromEmail":"sam@vilain.net","sentAt":"2009-12-05T22:59:32Z","receivedAt":"2009-12-05T22:59:32Z","isPatch":true,"sender":{"key":"sam@vilain.net","avatar":"https://gravatar.com/avatar/8fc840ca854dbf6f7065b4335e3b934951c1dca3b11db688e95e471901f8f4a8?d=mp&s=160"},"body":"On Sat, 2009-12-05 at 17:51 -0500, Alex Vandiver wrote:\n> At Sat Dec 05 17:32:41 -0500 2009, Eric Wong wrote:\n> > I'll continue to defer to Sam for ack-ing SVK-related things.\n> > \n> > One thing I am very picky about is wrapping lines at 80-columns or\n> > less (hard tabs being 8 characters wide).\n> \n> *nod* I've fixed up my local copy for v2 to rewrap things at < 80\n> columns, and will keep that in mind for the future.\n\nHi, I've just seen the series, looks like a good idea.  Just a couple of\nquestions then I'll review the code;\n\n - when a change is merged upstream with svk, you will get multiple log\nentries in a single commit message.  What do you do with commits like\nthat?\n\n - there are quite a few repos which will have empty commits (ie, no\nchanges), but with one or more of the above log entries, owing to a bug\nwhich I can't seem to find the details of right now..  how might those\nappear?\n\nThanks for your submission!\nSam\n"},{"id":"129302","messageId":"1260054349-sup-9732@utwig","threadId":"21828","inReplyTo":"1260053972.22680.5.camel@denix","subject":"Re: [spf:guess] Re: [PATCH 2/5] git-svn: Make merge metadata accessible to make_log_entry","fromName":"Alex Vandiver","fromEmail":"alex@chmrr.net","sentAt":"2009-12-05T23:10:10Z","receivedAt":"2009-12-05T23:10:10Z","isPatch":true,"sender":{"key":"alex@chmrr.net","avatar":"https://avatars.githubusercontent.com/u/28347?v=4"},"body":"At Sat Dec 05 17:59:32 -0500 2009, Sam Vilain wrote:\n> Hi, I've just seen the series, looks like a good idea.  Just a couple of\n> questions then I'll review the code;\n> \n>  - when a change is merged upstream with svk, you will get multiple log\n> entries in a single commit message.  What do you do with commits like\n> that?\n\nIf the user edited the merge message and supplied their own message,\nnothing.  If the first line is an SVK merge line, it inserts a message\n\"Merged from /svn/path/to/trunk:12345\\n\\n\" at the top.\n\n>  - there are quite a few repos which will have empty commits (ie, no\n> changes), but with one or more of the above log entries, owing to a bug\n> which I can't seem to find the details of right now..  how might those\n> appear?\n\nWithout seeing an example, I'm not sure offhand -- but what you're\ndescribing does ring a bell, so I'm sure I've seen the mismerges\nyou're talking about as well.\n - Alex\n-- \nNetworking -- only one letter away from not working\n"},{"id":"130163","messageId":"1261261405-sup-6506@utwig","threadId":"21828","inReplyTo":"1260053972.22680.5.camel@denix","subject":"Re: [spf:guess] Re: [PATCH 2/5] git-svn: Make merge metadata accessible to make_log_entry","fromName":"Alex Vandiver","fromEmail":"alex@chmrr.net","sentAt":"2009-12-19T22:24:07Z","receivedAt":"2009-12-19T22:24:07Z","isPatch":true,"sender":{"key":"alex@chmrr.net","avatar":"https://avatars.githubusercontent.com/u/28347?v=4"},"body":"At Sat Dec 05 17:59:32 -0500 2009, Sam Vilain wrote:\n> Hi, I've just seen the series, looks like a good idea.  Just a couple of\n> questions then I'll review the code;\n\nHave you had time to take a look at these?\n - Alex\n-- \nNetworking -- only one letter away from not working\n"}]}