Merge branch 'maint'
authorJunio C Hamano <gitster@pobox.com>
Sun, 8 Mar 2009 06:34:13 +0000 (22:34 -0800)
committerJunio C Hamano <gitster@pobox.com>
Sun, 8 Mar 2009 06:34:13 +0000 (22:34 -0800)
* maint:
builtin-revert.c: release index lock when cherry-picking an empty commit
document config --bool-or-int
t1300: use test_must_fail as appropriate
cleanup: add isascii()
Documentation: fix badly indented paragraphs in "--bisect-all" description

Documentation/git-config.txt
Documentation/rev-list-options.txt
builtin-revert.c
git-compat-util.h
pretty.c
t/t1300-repo-config.sh
t/t3505-cherry-pick-empty.sh [new file with mode: 0755]
index 7d140073b13224d0763a6f62f58fc765bfbf0003..82ce89eae849e5a1c697a3c7f659a80521600348 100644 (file)
@@ -131,6 +131,10 @@ See also <<FILES>>.
        in the config file will cause the value to be multiplied
        by 1024, 1048576, or 1073741824 prior to output.
 
+--bool-or-int::
+       'git-config' will ensure that the output matches the format of
+       either --bool or --int, as described above.
+
 -z::
 --null::
        For all options that output values and/or keys, always
index 507632287795ed7e63a1311b9cd783e71572ba3e..7dd237c2f66d81aebf59add2787aa822c94d9b92 100644 (file)
@@ -568,11 +568,11 @@ This outputs all the commit objects between the included and excluded
 commits, ordered by their distance to the included and excluded
 commits. The farthest from them is displayed first. (This is the only
 one displayed by `--bisect`.)
-
++
 This is useful because it makes it easy to choose a good commit to
 test when you want to avoid to test some of them for some reason (they
 may not compile for example).
-
++
 This option can be used along with `--bisect-vars`, in this case,
 after all the sorted commit objects, there will be the same text as if
 `--bisect-vars` had been used alone.
index d210150671830c10f098463175e5a6e8d304c1a4..3f2614e1bbef009afadefff7d284225533db2a09 100644 (file)
@@ -376,6 +376,7 @@ static int revert_or_cherry_pick(int argc, const char **argv)
            (write_cache(index_fd, active_cache, active_nr) ||
             commit_locked_index(&index_lock)))
                die("%s: Unable to write new index file", me);
+       rollback_lock_file(&index_lock);
 
        if (!clean) {
                add_to_msg("\nConflicts:\n\n");
index dcf41277502f5fb8fc99b310ebdaf63b6781b3ea..878d83dd0863570042af80919899b4d6aa57e35b 100644 (file)
@@ -319,6 +319,7 @@ static inline int has_extension(const char *filename, const char *ext)
 }
 
 /* Sane ctype - no locale, and works with signed chars */
+#undef isascii
 #undef isspace
 #undef isdigit
 #undef isalpha
@@ -332,6 +333,7 @@ extern unsigned char sane_ctype[256];
 #define GIT_GLOB_SPECIAL 0x08
 #define GIT_REGEX_SPECIAL 0x10
 #define sane_istest(x,mask) ((sane_ctype[(unsigned char)(x)] & (mask)) != 0)
+#define isascii(x) (((x) & ~0x7f) == 0)
 #define isspace(x) sane_istest(x,GIT_SPACE)
 #define isdigit(x) sane_istest(x,GIT_DIGIT)
 #define isalpha(x) sane_istest(x,GIT_ALPHA)
index f49929479f7e68a5214b6b55c31f10e6151c1787..c0184080998734450b250aa7dc72c427e1ecac8a 100644 (file)
--- a/pretty.c
+++ b/pretty.c
@@ -83,8 +83,7 @@ static int get_one_line(const char *msg)
 /* High bit set, or ISO-2022-INT */
 int non_ascii(int ch)
 {
-       ch = (ch & 0xff);
-       return ((ch & 0x80) || (ch == 0x1b));
+       return !isascii(ch) || ch == '\033';
 }
 
 static int is_rfc2047_special(char ch)
index 11b82f43dd0220c736dd269b2f6531a1381edf3a..3c06842d99a68ea37ce82546b4bfa0cd487b87d7 100755 (executable)
@@ -336,10 +336,10 @@ test_expect_success 'get bool variable with empty value' \
        'git config --bool emptyvalue.variable > output &&
         cmp output expect'
 
-git config > output 2>&1
-
-test_expect_success 'no arguments, but no crash' \
-       "test $? = 129 && grep usage output"
+test_expect_success 'no arguments, but no crash' '
+       test_must_fail git config >output 2>&1 &&
+       grep usage output
+'
 
 cat > .git/config << EOF
 [a.b]
@@ -373,7 +373,7 @@ EOF
 test_expect_success 'new variable inserts into proper section' 'cmp .git/config expect'
 
 test_expect_success 'alternative GIT_CONFIG (non-existing file should fail)' \
-       'git config --file non-existing-config -l; test $? != 0'
+       'test_must_fail git config --file non-existing-config -l'
 
 cat > other-config << EOF
 [ein]
diff --git a/t/t3505-cherry-pick-empty.sh b/t/t3505-cherry-pick-empty.sh
new file mode 100755 (executable)
index 0000000..9aaeabd
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+test_description='test cherry-picking an empty commit'
+
+. ./test-lib.sh
+
+test_expect_success setup '
+
+       echo first > file1 &&
+       git add file1 &&
+       test_tick &&
+       git commit -m "first" &&
+
+       git checkout -b empty-branch &&
+       test_tick &&
+       git commit --allow-empty -m "empty"
+
+'
+
+test_expect_code 1 'cherry-pick an empty commit' '
+
+       git checkout master &&
+       git cherry-pick empty-branch
+
+'
+
+test_expect_success 'index lockfile was removed' '
+
+       test ! -f .git/index.lock
+
+'
+
+test_done