{"thread":{"id":"4999","subject":"[PATCH] git-cvsserver: support multiline commit messages","startedAt":"2006-07-26T19:59:08Z","lastAt":"2006-07-26T19:59:08Z","messageCount":1,"participants":["Johannes Schindelin"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"24161","messageId":"Pine.LNX.4.63.0607262157350.29667@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"4999","inReplyTo":null,"subject":"[PATCH] git-cvsserver: support multiline commit messages","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2006-07-26T19:59:08Z","receivedAt":"2006-07-26T19:59:08Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"\nEarlier, cvsserver barfed when you tried to check in files with a \nmultiline commit message.\n\nThat is what Argumentx is for... Argument: lines can be followed by\nseveral Argumentx: lines, which means they should be appended.\n\nSigned-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>\n---\n git-cvsserver.perl |    9 ++++++---\n 1 files changed, 6 insertions(+), 3 deletions(-)\n\ndiff --git a/git-cvsserver.perl b/git-cvsserver.perl\nindex b2837ad..1b70cd9 100755\n--- a/git-cvsserver.perl\n+++ b/git-cvsserver.perl\n@@ -549,12 +549,15 @@ sub req_Argument\n {\n     my ( $cmd, $data ) = @_;\n \n-    # TODO :  Not quite sure how Argument and Argumentx differ, but I assume\n-    # it's for multi-line arguments ... somehow ...\n+    # Argumentx means: append to last Argument (with a newline in front)\n \n     $log->debug(\"$cmd : $data\");\n \n-    push @{$state->{arguments}}, $data;\n+    if ( $cmd eq 'Argumentx') {\n+        ${$state->{arguments}}[$#{$state->{arguments}}] .= \"\\n\" . $data;\n+    } else {\n+        push @{$state->{arguments}}, $data;\n+    }\n }\n \n # expand-modules \\n\n-- \n1.4.2.rc2.g96f2-dirty\n"}]}