threads / patch / 4999

patchgit-cvsserver: support multiline commit messages

Subject: [PATCH] git-cvsserver: support multiline commit messages

## tl;dr

One message between Jul 26, 2006 and Jul 26, 2006. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Johannes Schindelin· Jul 26, 2006, 19:59 UTC · lore

Earlier, cvsserver barfed when you tried to check in files with a multiline commit message.

That is what Argumentx is for... Argument: lines can be followed by several Argumentx: lines, which means they should be appended.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
---
 git-cvsserver.perl |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)
Show changes to git-cvsserver.perl +6 −3
diff --git a/git-cvsserver.perl b/git-cvsserver.perl
index b2837ad..1b70cd9 100755
--- a/git-cvsserver.perl
+++ b/git-cvsserver.perl
@@ -549,12 +549,15 @@ sub req_Argument
 {
     my ( $cmd, $data ) = @_;
 
-    # TODO :  Not quite sure how Argument and Argumentx differ, but I assume
-    # it's for multi-line arguments ... somehow ...
+    # Argumentx means: append to last Argument (with a newline in front)
 
     $log->debug("$cmd : $data");
 
-    push @{$state->{arguments}}, $data;
+    if ( $cmd eq 'Argumentx') {
+        ${$state->{arguments}}[$#{$state->{arguments}}] .= "\n" . $data;
+    } else {
+        push @{$state->{arguments}}, $data;
+    }
 }
 
 # expand-modules \n
-- 
1.4.2.rc2.g96f2-dirty

← back to recent threads