diff options
author | Junio C Hamano <junkio@cox.net> | 2006-04-13 00:24:48 +0400 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-04-13 00:24:48 +0400 |
commit | 02376287ffd8b37ea7622fd4b61d654855112e75 (patch) | |
tree | 012240009f9afed51301c938dae22c95ce3e72c7 | |
parent | 72c159f642a33255b76fff512f2a8c3aff9f5dca (diff) | |
parent | 3103c005207f0840782804b9387b3a831005bb9c (diff) |
Merge branch 'jc/combine' into next
* jc/combine:
stripspace: make sure not to leave an incomplete line.
git-commit: do not muck with commit message when no_edit is set.
When showing a commit message, do not lose an incomplete line.
Retire t5501-old-fetch-and-upload test.
combine-diff: type fix.
-rw-r--r-- | combine-diff.c | 4 | ||||
-rw-r--r-- | commit.c | 4 | ||||
-rwxr-xr-x | git-commit.sh | 17 | ||||
-rw-r--r-- | stripspace.c | 11 | ||||
-rwxr-xr-x | t/t5501-old-fetch-and-upload.sh | 48 |
5 files changed, 24 insertions, 60 deletions
diff --git a/combine-diff.c b/combine-diff.c index 3a0ec61843..9bd27f82ec 100644 --- a/combine-diff.c +++ b/combine-diff.c @@ -506,8 +506,8 @@ static void dump_sline(struct sline *sline, unsigned long cnt, int num_parent) while (1) { struct sline *sl = &sline[lno]; - int hunk_end; - int rlines; + unsigned long hunk_end; + unsigned long rlines; while (lno <= cnt && !(sline[lno].flag & mark)) lno++; if (cnt < lno) @@ -400,11 +400,11 @@ static int get_one_line(const char *msg, unsigned long len) while (len--) { char c = *msg++; + if (!c) + break; ret++; if (c == '\n') break; - if (!c) - return 0; } return ret; } diff --git a/git-commit.sh b/git-commit.sh index 1e7c09e1f2..bd3dc71cd6 100755 --- a/git-commit.sh +++ b/git-commit.sh @@ -537,7 +537,7 @@ t) ;; esac -if [ -f "$GIT_DIR/MERGE_HEAD" ]; then +if test -f "$GIT_DIR/MERGE_HEAD" && test -z "$no_edit"; then echo "#" echo "# It looks like you may be committing a MERGE." echo "# If this is not correct, please remove the file" @@ -605,16 +605,23 @@ else current= fi -{ - test -z "$only_include_assumed" || echo "$only_include_assumed" - run_status -} >>"$GIT_DIR"/COMMIT_EDITMSG +if test -z "$no_edit" +then + { + test -z "$only_include_assumed" || echo "$only_include_assumed" + run_status + } >>"$GIT_DIR"/COMMIT_EDITMSG +else + # we need to check if there is anything to commit + run_status >/dev/null +fi if [ "$?" != "0" -a ! -f "$GIT_DIR/MERGE_HEAD" -a -z "$amend" ] then rm -f "$GIT_DIR/COMMIT_EDITMSG" run_status exit 1 fi + case "$no_edit" in '') case "${VISUAL:-$EDITOR},$TERM" in diff --git a/stripspace.c b/stripspace.c index 96cd0a88f0..dee1ef06ed 100644 --- a/stripspace.c +++ b/stripspace.c @@ -6,9 +6,9 @@ * Remove empty lines from the beginning and end. * * Turn multiple consecutive empty lines into just one - * empty line. + * empty line. Return true if it is an incomplete line. */ -static void cleanup(char *line) +static int cleanup(char *line) { int len = strlen(line); @@ -21,16 +21,19 @@ static void cleanup(char *line) len--; line[len] = 0; } while (len > 1); + return 0; } + return 1; } int main(int argc, char **argv) { int empties = -1; + int incomplete = 0; char line[1024]; while (fgets(line, sizeof(line), stdin)) { - cleanup(line); + incomplete = cleanup(line); /* Not just an empty line? */ if (line[0] != '\n') { @@ -44,5 +47,7 @@ int main(int argc, char **argv) continue; empties++; } + if (incomplete) + putchar('\n'); return 0; } diff --git a/t/t5501-old-fetch-and-upload.sh b/t/t5501-old-fetch-and-upload.sh deleted file mode 100755 index 596c88b1c2..0000000000 --- a/t/t5501-old-fetch-and-upload.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2005 Johannes Schindelin -# - -# Test that the current fetch-pack/upload-pack plays nicely with -# an old counterpart - -cd $(dirname $0) || exit 1 -: ${SHELL_PATH=/bin/sh} - -tmp=`pwd`/.tmp$$ - -retval=0 - -if [ -z "$1" ]; then - list="fetch upload" -else - list="$@" -fi - -for i in $list; do - case "$i" in - fetch) pgm="old-git-fetch-pack"; replace="$pgm";; - upload) pgm="old-git-upload-pack"; replace="git-fetch-pack --exec=$pgm";; - both) pgm="old-git-upload-pack"; replace="old-git-fetch-pack --exec=$pgm";; - esac - - if where=`LANG=C LC_ALL=C which "$pgm" 2>/dev/null` && - case "$where" in - "no "*) (exit 1) ;; - esac - then - echo "Testing with $pgm" - sed -e "s/git-fetch-pack/$replace/g" \ - -e "s/# old fails/warn/" < t5500-fetch-pack.sh > $tmp - - "$SHELL_PATH" "$tmp" || retval=$? - rm -f "$tmp" - - test $retval != 0 && exit $retval - else - echo "Skipping test for $i, since I cannot find $pgm" - fi -done - -exit 0 - |