Merge branch 'master' into next
authorJunio C Hamano <junkio@cox.net>
Tue, 2 May 2006 23:22:11 +0000 (16:22 -0700)
committerJunio C Hamano <junkio@cox.net>
Tue, 2 May 2006 23:22:11 +0000 (16:22 -0700)
* master:
git-send-email: fix version string to be valid perl
Give the user a hint for how to continue in the case that git-am fails because it requires user intervention
repo-config: trim white-space before comment
repo-config: fix segfault with no argument.

config.c
git-am.sh
git-send-email.perl
repo-config.c
index 4e1f0c22862b8c8605dbbf3a83ec4e87d9059513..253c48a6130a9268c106170df7205441d4ab36ac 100644 (file)
--- a/config.c
+++ b/config.c
@@ -60,6 +60,12 @@ static char *parse_value(void)
                        space = 1;
                        continue;
                }
+               if (!quote) {
+                       if (c == ';' || c == '#') {
+                               comment = 1;
+                               continue;
+                       }
+               }
                if (space) {
                        if (len)
                                value[len++] = ' ';
@@ -93,12 +99,6 @@ static char *parse_value(void)
                        quote = 1-quote;
                        continue;
                }
-               if (!quote) {
-                       if (c == ';' || c == '#') {
-                               comment = 1;
-                               continue;
-                       }
-               }
                value[len++] = c;
        }
 }
index 872145b92dc7000eb1c87d548a46fa0d9522870d..507ae4dcb9964e63143661392d7a10d7da4ef33e 100755 (executable)
--- a/git-am.sh
+++ b/git-am.sh
@@ -14,6 +14,26 @@ stop_here () {
     exit 1
 }
 
+stop_here_user_resolve () {
+    cmdline=$(basename $0)
+    if test '' != "$interactive"
+    then
+        cmdline="$cmdline -i"
+    fi
+    if test '' != "$threeway"
+    then
+        cmdline="$cmdline -3"
+    fi
+    if test '.dotest' != "$dotest"
+    then
+        cmdline="$cmdline -d=$dotest"
+    fi
+    echo "When you have resolved this problem run \"$cmdline --resolved\"."
+    echo "If you would prefer to skip this patch, instead run \"$cmdline --skip\"."
+
+    stop_here $1
+}
+
 go_next () {
        rm -f "$dotest/$msgnum" "$dotest/msg" "$dotest/msg-clean" \
                "$dotest/patch" "$dotest/info"
@@ -374,14 +394,14 @@ do
                if test '' = "$changed"
                then
                        echo "No changes - did you forget update-index?"
-                       stop_here $this
+                       stop_here_user_resolve $this
                fi
                unmerged=$(git-ls-files -u)
                if test -n "$unmerged"
                then
                        echo "You still have unmerged paths in your index"
                        echo "did you forget update-index?"
-                       stop_here $this
+                       stop_here_user_resolve $this
                fi
                apply_status=0
                ;;
@@ -407,7 +427,7 @@ do
        if test $apply_status != 0
        then
                echo Patch failed at $msgnum.
-               stop_here $this
+               stop_here_user_resolve $this
        fi
 
        if test -x "$GIT_DIR"/hooks/pre-applypatch
index ecfa347b85bb6c3c5e6b1b3a1f83ac1acb069b66..703dd1ff9ee641b58ad592cfc702de7f96c59eed 100755 (executable)
@@ -291,6 +291,13 @@ sub send_message
        my $to = join (",\n\t", @recipients);
        @recipients = unique_email_list(@recipients,@cc);
        my $date = strftime('%a, %d %b %Y %H:%M:%S %z', localtime($time++));
+       my $gitversion = '@@GIT_VERSION@@';
+       if ($gitversion =~ m/..GIT_VERSION../) {
+           $gitversion = `git --version`;
+           chomp $gitversion;
+           # keep only what's after the last space
+           $gitversion =~ s/^.* //;
+       }
 
        my $header = "From: $from
 To: $to
@@ -299,7 +306,7 @@ sub send_message
 Reply-To: $from
 Date: $date
 Message-Id: $message_id
-X-Mailer: git-send-email @@GIT_VERSION@@
+X-Mailer: git-send-email $gitversion
 ";
        $header .= "In-Reply-To: $reply_to\n" if $reply_to;
 
index fa8aba7a1b8760f0316ef0d47c40b0078316ff57..e35063034fc94ac14722a0bb8c544d3c5134a9ec 100644 (file)
@@ -102,15 +102,14 @@ int main(int argc, const char **argv)
                        type = T_INT;
                else if (!strcmp(argv[1], "--bool"))
                        type = T_BOOL;
+               else if (!strcmp(argv[1], "--list") || !strcmp(argv[1], "-l"))
+                       return git_config(show_all_config);
                else
                        break;
                argc--;
                argv++;
        }
 
-       if (!strcmp(argv[1], "--list") || !strcmp(argv[1], "-l"))
-               return git_config(show_all_config);
-
        switch (argc) {
        case 2:
                return get_value(argv[1], NULL);