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.
This commit is contained in:
Junio C Hamano 2006-04-12 13:24:48 -07:00
commit 02376287ff
5 changed files with 24 additions and 60 deletions

View File

@ -506,8 +506,8 @@ static void dump_sline(struct sline *sline, unsigned long cnt, int num_parent)
while (1) { while (1) {
struct sline *sl = &sline[lno]; struct sline *sl = &sline[lno];
int hunk_end; unsigned long hunk_end;
int rlines; unsigned long rlines;
while (lno <= cnt && !(sline[lno].flag & mark)) while (lno <= cnt && !(sline[lno].flag & mark))
lno++; lno++;
if (cnt < lno) if (cnt < lno)

View File

@ -400,11 +400,11 @@ static int get_one_line(const char *msg, unsigned long len)
while (len--) { while (len--) {
char c = *msg++; char c = *msg++;
if (!c)
break;
ret++; ret++;
if (c == '\n') if (c == '\n')
break; break;
if (!c)
return 0;
} }
return ret; return ret;
} }

View File

@ -537,7 +537,7 @@ t)
;; ;;
esac esac
if [ -f "$GIT_DIR/MERGE_HEAD" ]; then if test -f "$GIT_DIR/MERGE_HEAD" && test -z "$no_edit"; then
echo "#" echo "#"
echo "# It looks like you may be committing a MERGE." echo "# It looks like you may be committing a MERGE."
echo "# If this is not correct, please remove the file" echo "# If this is not correct, please remove the file"
@ -605,16 +605,23 @@ else
current= current=
fi fi
{ if test -z "$no_edit"
test -z "$only_include_assumed" || echo "$only_include_assumed" then
run_status {
} >>"$GIT_DIR"/COMMIT_EDITMSG 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" ] if [ "$?" != "0" -a ! -f "$GIT_DIR/MERGE_HEAD" -a -z "$amend" ]
then then
rm -f "$GIT_DIR/COMMIT_EDITMSG" rm -f "$GIT_DIR/COMMIT_EDITMSG"
run_status run_status
exit 1 exit 1
fi fi
case "$no_edit" in case "$no_edit" in
'') '')
case "${VISUAL:-$EDITOR},$TERM" in case "${VISUAL:-$EDITOR},$TERM" in

View File

@ -6,9 +6,9 @@
* Remove empty lines from the beginning and end. * Remove empty lines from the beginning and end.
* *
* Turn multiple consecutive empty lines into just one * 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); int len = strlen(line);
@ -21,16 +21,19 @@ static void cleanup(char *line)
len--; len--;
line[len] = 0; line[len] = 0;
} while (len > 1); } while (len > 1);
return 0;
} }
return 1;
} }
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
int empties = -1; int empties = -1;
int incomplete = 0;
char line[1024]; char line[1024];
while (fgets(line, sizeof(line), stdin)) { while (fgets(line, sizeof(line), stdin)) {
cleanup(line); incomplete = cleanup(line);
/* Not just an empty line? */ /* Not just an empty line? */
if (line[0] != '\n') { if (line[0] != '\n') {
@ -44,5 +47,7 @@ int main(int argc, char **argv)
continue; continue;
empties++; empties++;
} }
if (incomplete)
putchar('\n');
return 0; return 0;
} }

View File

@ -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