diff options
-rw-r--r-- | Documentation/RelNotes-1.5.6.2.txt | 29 | ||||
-rw-r--r-- | Documentation/git.txt | 3 | ||||
-rw-r--r-- | http.c | 13 | ||||
-rw-r--r-- | http.h | 9 | ||||
-rwxr-xr-x[-rw-r--r--] | t/t5304-prune.sh | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | t/t7610-mergetool.sh | 0 |
6 files changed, 31 insertions, 23 deletions
diff --git a/Documentation/RelNotes-1.5.6.2.txt b/Documentation/RelNotes-1.5.6.2.txt index 02d5910d5c..5902a85a78 100644 --- a/Documentation/RelNotes-1.5.6.2.txt +++ b/Documentation/RelNotes-1.5.6.2.txt @@ -11,21 +11,30 @@ Futureproof Fixes since v1.5.6.1 -------------------- -* Optimization for a large import via "git-svn" introduced in v1.5.6 had a - serious memory and temporary file leak, which made it unusable for - moderately large import. +* "git clone" from a remote that is named with url.insteadOf setting in + $HOME/.gitconfig did not work well. -* "git-svn" mangled remote nickname used in the configuration file - unnecessarily. +* "git describe --long --tags" segfaulted when the described revision was + tagged with a lightweight tag. * "git diff --check" did not report the result via its exit status reliably. +* When remote side used to have branch 'foo' and git-fetch finds that now + it has branch 'foo/bar', it refuses to lose the existing remote tracking + branch and its reflog. The error message has been improved to suggest + pruning the remote if the user wants to proceed and get the latest set + of branches from the remote, including such 'foo/bar'. + +* "git reset file" should mean the same thing as "git reset HEAD file", + but we required disambiguating -- even when "file" is not ambiguous. + * "git show" segfaulted when an annotated tag that points at another annotated tag was given to it. --- -exec >/var/tmp/1 -echo O=$(git describe maint) -O=v1.5.6.1-13-g4f3dcc2 -git shortlog --no-merges $O..maint +* Optimization for a large import via "git-svn" introduced in v1.5.6 had a + serious memory and temporary file leak, which made it unusable for + moderately large import. + +* "git-svn" mangled remote nickname used in the configuration file + unnecessarily. diff --git a/Documentation/git.txt b/Documentation/git.txt index 22702c260c..425f1f4aee 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -43,9 +43,10 @@ unreleased) version of git, that is available from 'master' branch of the `git.git` repository. Documentation for older releases are available here: -* link:v1.5.6.1/git.html[documentation for release 1.5.6.1] +* link:v1.5.6.2/git.html[documentation for release 1.5.6.2] * release notes for + link:RelNotes-1.5.6.2.txt[1.5.6.2]. link:RelNotes-1.5.6.1.txt[1.5.6.1]. link:RelNotes-1.5.6.txt[1.5.6]. @@ -30,10 +30,11 @@ static struct curl_slist *pragma_header; static struct active_request_slot *active_queue_head = NULL; -size_t fread_buffer(void *ptr, size_t eltsize, size_t nmemb, - struct buffer *buffer) +size_t fread_buffer(void *ptr, size_t eltsize, size_t nmemb, void *buffer_) { size_t size = eltsize * nmemb; + struct buffer *buffer = buffer_; + if (size > buffer->buf.len - buffer->posn) size = buffer->buf.len - buffer->posn; memcpy(ptr, buffer->buf.buf + buffer->posn, size); @@ -42,17 +43,17 @@ size_t fread_buffer(void *ptr, size_t eltsize, size_t nmemb, return size; } -size_t fwrite_buffer(const void *ptr, size_t eltsize, - size_t nmemb, struct strbuf *buffer) +size_t fwrite_buffer(const void *ptr, size_t eltsize, size_t nmemb, void *buffer_) { size_t size = eltsize * nmemb; + struct strbuf *buffer = buffer_; + strbuf_add(buffer, ptr, size); data_received++; return size; } -size_t fwrite_null(const void *ptr, size_t eltsize, - size_t nmemb, struct strbuf *buffer) +size_t fwrite_null(const void *ptr, size_t eltsize, size_t nmemb, void *strbuf) { data_received++; return eltsize * nmemb; @@ -64,12 +64,9 @@ struct buffer }; /* Curl request read/write callbacks */ -extern size_t fread_buffer(void *ptr, size_t eltsize, size_t nmemb, - struct buffer *buffer); -extern size_t fwrite_buffer(const void *ptr, size_t eltsize, - size_t nmemb, struct strbuf *buffer); -extern size_t fwrite_null(const void *ptr, size_t eltsize, - size_t nmemb, struct strbuf *buffer); +extern size_t fread_buffer(void *ptr, size_t eltsize, size_t nmemb, void *strbuf); +extern size_t fwrite_buffer(const void *ptr, size_t eltsize, size_t nmemb, void *strbuf); +extern size_t fwrite_null(const void *ptr, size_t eltsize, size_t nmemb, void *strbuf); /* Slot lifecycle functions */ extern struct active_request_slot *get_active_slot(void); diff --git a/t/t5304-prune.sh b/t/t5304-prune.sh index 9fd9d07000..9fd9d07000 100644..100755 --- a/t/t5304-prune.sh +++ b/t/t5304-prune.sh diff --git a/t/t7610-mergetool.sh b/t/t7610-mergetool.sh index 6b0483f3e9..6b0483f3e9 100644..100755 --- a/t/t7610-mergetool.sh +++ b/t/t7610-mergetool.sh |