diff --git a/Documentation/RelNotes-1.5.1.1.txt b/Documentation/RelNotes-1.5.1.1.txt index b48b4bc3e8..3054b5a3f0 100644 --- a/Documentation/RelNotes-1.5.1.1.txt +++ b/Documentation/RelNotes-1.5.1.1.txt @@ -1,4 +1,4 @@ -GIT v1.5.1.1 Release Notes (draft) +GIT v1.5.1.1 Release Notes ========================== Fixes since v1.5.1 @@ -10,8 +10,23 @@ Fixes since v1.5.1 - The documentation for cvsimport has been majorly improved. + - "git-show-ref --exclude-existing" was documented. + * Bugfixes + - The implementation of -p option in "git cvsexportcommit" had + the meaning of -C (context reduction) option wrong, and + loosened the context requirements when it was told to be + strict. + + - "git cvsserver" did not behave like the real cvsserver when + client side removed a file from the working tree without + doing anything else on the path. In such a case, it should + restore it from the checked out revision. + + - "git fsck" issued an alarming error message on detached + HEAD. It is not an error since at least 1.5.0. + - "git send-email" produced of References header of unbounded length; fixed this with line-folding. @@ -37,10 +52,10 @@ Fixes since v1.5.1 - gitweb did not show type-changing patch correctly in the blobdiff view. -* Performance Tweaks + - git-svn did not error out with incorrect command line options. --- -exec >/var/tmp/1 -O=v1.5.1-26-ge94a4f6 -echo O=`git describe refs/heads/maint` -git shortlog --no-merges $O..refs/heads/maint + - git-svn fell into an infinite loop when insanely long commit + message was found. + + - git-svn dcommit and rebase was confused by patches that were + merged from another branch that is managed by git-svn. diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN index 48715012be..2325660ff4 100755 --- a/GIT-VERSION-GEN +++ b/GIT-VERSION-GEN @@ -1,7 +1,7 @@ #!/bin/sh GVF=GIT-VERSION-FILE -DEF_VER=v1.5.1.GIT +DEF_VER=v1.5.1.1.GIT LF=' ' diff --git a/base85.c b/base85.c index a9e97f89d9..a6c41d597a 100644 --- a/base85.c +++ b/base85.c @@ -37,7 +37,7 @@ static void prep_base85(void) } } -int decode_85(char *dst, char *buffer, int len) +int decode_85(char *dst, const char *buffer, int len) { prep_base85(); @@ -82,7 +82,7 @@ int decode_85(char *dst, char *buffer, int len) return 0; } -void encode_85(char *buf, unsigned char *data, int bytes) +void encode_85(char *buf, const unsigned char *data, int bytes) { prep_base85(); diff --git a/builtin-fsck.c b/builtin-fsck.c index 4d8b66c344..05d98d2cfc 100644 --- a/builtin-fsck.c +++ b/builtin-fsck.c @@ -534,7 +534,7 @@ static void get_default_heads(void) * "show_unreachable" flag. */ if (!default_refs) { - error("No default references"); + fprintf(stderr, "notice: No default references\n"); show_unreachable = 0; } } @@ -554,15 +554,23 @@ static int fsck_head_link(void) { unsigned char sha1[20]; int flag; - const char *head_points_at = resolve_ref("HEAD", sha1, 1, &flag); + int null_is_error = 0; + const char *head_points_at = resolve_ref("HEAD", sha1, 0, &flag); - if (!head_points_at || !(flag & REF_ISSYMREF)) - return error("HEAD is not a symbolic ref"); - if (prefixcmp(head_points_at, "refs/heads/")) + if (!head_points_at) + return error("Invalid HEAD"); + if (!strcmp(head_points_at, "HEAD")) + /* detached HEAD */ + null_is_error = 1; + else if (prefixcmp(head_points_at, "refs/heads/")) return error("HEAD points to something strange (%s)", head_points_at); - if (is_null_sha1(sha1)) - return error("HEAD: not a valid git pointer"); + if (is_null_sha1(sha1)) { + if (null_is_error) + return error("HEAD: detached HEAD points at nothing"); + fprintf(stderr, "notice: HEAD points to an unborn branch (%s)\n", + head_points_at + 11); + } return 0; } diff --git a/cache.h b/cache.h index eb57507b80..b1bd9e46c2 100644 --- a/cache.h +++ b/cache.h @@ -472,8 +472,8 @@ extern int pager_in_use; extern int pager_use_color; /* base85 */ -int decode_85(char *dst, char *line, int linelen); -void encode_85(char *buf, unsigned char *data, int bytes); +int decode_85(char *dst, const char *line, int linelen); +void encode_85(char *buf, const unsigned char *data, int bytes); /* alloc.c */ struct blob; diff --git a/git-cvsserver.perl b/git-cvsserver.perl index 68aa75255e..25816c5a21 100755 --- a/git-cvsserver.perl +++ b/git-cvsserver.perl @@ -843,6 +843,7 @@ sub req_update if ( defined ( $wrev ) and defined($meta->{revision}) and $wrev == $meta->{revision} + and defined($state->{entries}{$filename}{modified_hash}) and not exists ( $state->{opt}{C} ) ) { $log->info("Tell the client the file is modified");