summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/RelNotes-1.5.6.2.txt29
-rw-r--r--Documentation/git.txt3
-rw-r--r--http.c13
-rw-r--r--http.h9
-rwxr-xr-x[-rw-r--r--]t/t5304-prune.sh0
-rwxr-xr-x[-rw-r--r--]t/t7610-mergetool.sh0
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].
diff --git a/http.c b/http.c
index 105dc93843..ad14640412 100644
--- a/http.c
+++ b/http.c
@@ -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;
diff --git a/http.h b/http.h
index a04fc6a927..905b4629a4 100644
--- a/http.h
+++ b/http.h
@@ -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