From c3ea051544cb1d98a5ae7f64d077084a9a5db5c1 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Thu, 8 Dec 2011 05:25:54 -0500 Subject: [PATCH 1/5] blame: don't overflow time buffer When showing the raw timestamp, we format the numeric seconds-since-epoch into a buffer, followed by the timezone string. This string has come straight from the commit object. A well-formed object should have a timezone string of only a few bytes, but we could be operating on data pushed by a malicious user. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- builtin/blame.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builtin/blame.c b/builtin/blame.c index 26a5d424b8..3e1f7e1e45 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -1598,7 +1598,7 @@ static const char *format_time(unsigned long time, const char *tz_str, int tz; if (show_raw_time) { - sprintf(time_buf, "%lu %s", time, tz_str); + snprintf(time_buf, sizeof(time_buf), "%lu %s", time, tz_str); } else { tz = atoi(tz_str); From 15b7898c5e9fc6fed9a6064213cfcd08cf7d7314 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 13 Dec 2011 21:30:40 -0800 Subject: [PATCH 2/5] Git 1.7.6.5 Signed-off-by: Junio C Hamano --- Documentation/RelNotes/1.7.6.5.txt | 26 ++++++++++++++++++++++++++ Documentation/git.txt | 3 ++- GIT-VERSION-GEN | 2 +- RelNotes | 2 +- 4 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 Documentation/RelNotes/1.7.6.5.txt diff --git a/Documentation/RelNotes/1.7.6.5.txt b/Documentation/RelNotes/1.7.6.5.txt new file mode 100644 index 0000000000..6713132a9e --- /dev/null +++ b/Documentation/RelNotes/1.7.6.5.txt @@ -0,0 +1,26 @@ +Git v1.7.6.5 Release Notes +========================== + +Fixes since v1.7.6.4 +-------------------- + + * The date parser did not accept timezone designators that lack minutes + part and also has a colon between "hh:mm". + + * After fetching from a remote that has very long refname, the reporting + output could have corrupted by overrunning a static buffer. + + * "git mergetool" did not use its arguments as pathspec, but as a path to + the file that may not even have any conflict. + + * "git name-rev --all" tried to name all _objects_, naturally failing to + describe many blobs and trees, instead of showing only commits as + advertised in its documentation. + + * "git remote rename $a $b" were not careful to match the remote name + against $a (i.e. source side of the remote nickname). + + * "gitweb" used to produce a non-working link while showing the contents + of a blob, when JavaScript actions are enabled. + +Also contains minor fixes and documentation updates. diff --git a/Documentation/git.txt b/Documentation/git.txt index d1481354a8..bcedfc1a54 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -44,9 +44,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.7.6.4/git.html[documentation for release 1.7.6.4] +* link:v1.7.6.5/git.html[documentation for release 1.7.6.5] * release notes for + link:RelNotes/1.7.6.5.txt[1.7.6.5], link:RelNotes/1.7.6.4.txt[1.7.6.4], link:RelNotes/1.7.6.3.txt[1.7.6.3], link:RelNotes/1.7.6.2.txt[1.7.6.2], diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN index b42c77c392..0595495446 100755 --- a/GIT-VERSION-GEN +++ b/GIT-VERSION-GEN @@ -1,7 +1,7 @@ #!/bin/sh GVF=GIT-VERSION-FILE -DEF_VER=v1.7.6.4 +DEF_VER=v1.7.6.5 LF=' ' diff --git a/RelNotes b/RelNotes index 2b3ea813c8..08cae90a05 120000 --- a/RelNotes +++ b/RelNotes @@ -1 +1 @@ -Documentation/RelNotes/1.7.6.4.txt \ No newline at end of file +Documentation/RelNotes/1.7.6.5.txt \ No newline at end of file From 66c11f02b031aca6f1756086fefdf4b8a5575c56 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 13 Dec 2011 21:55:31 -0800 Subject: [PATCH 3/5] Git 1.7.7.5 Signed-off-by: Junio C Hamano --- Documentation/RelNotes/1.7.7.5.txt | 14 ++++++++++++++ Documentation/git.txt | 6 +++++- GIT-VERSION-GEN | 2 +- RelNotes | 2 +- 4 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 Documentation/RelNotes/1.7.7.5.txt diff --git a/Documentation/RelNotes/1.7.7.5.txt b/Documentation/RelNotes/1.7.7.5.txt new file mode 100644 index 0000000000..7b0931987b --- /dev/null +++ b/Documentation/RelNotes/1.7.7.5.txt @@ -0,0 +1,14 @@ +Git v1.7.7.5 Release Notes +========================== + +Fixes since v1.7.7.4 +-------------------- + + * After fetching from a remote that has very long refname, the reporting + output could have corrupted by overrunning a static buffer. + + * "git checkout" and "git merge" treated in-tree .gitignore and exclude + file in $GIT_DIR/info/ directory inconsistently when deciding which + untracked files are ignored and expendable. + +Also contains minor fixes and documentation updates. diff --git a/Documentation/git.txt b/Documentation/git.txt index 4a29f47b41..5c313e5214 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -44,9 +44,13 @@ unreleased) version of git, that is available from 'master' branch of the `git.git` repository. Documentation for older releases are available here: -* link:v1.7.7.1/git.html[documentation for release 1.7.7.1] +* link:v1.7.7.5/git.html[documentation for release 1.7.7.5] * release notes for + link:RelNotes/1.7.7.5.txt[1.7.7.5], + link:RelNotes/1.7.7.4.txt[1.7.7.4], + link:RelNotes/1.7.7.3.txt[1.7.7.3], + link:RelNotes/1.7.7.2.txt[1.7.7.2], link:RelNotes/1.7.7.1.txt[1.7.7.1], link:RelNotes/1.7.7.txt[1.7.7]. diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN index d0ec749e9a..7b7ac91f80 100755 --- a/GIT-VERSION-GEN +++ b/GIT-VERSION-GEN @@ -1,7 +1,7 @@ #!/bin/sh GVF=GIT-VERSION-FILE -DEF_VER=v1.7.7.4 +DEF_VER=v1.7.7.5 LF=' ' diff --git a/RelNotes b/RelNotes index 907613e8c4..cd6bf00d34 120000 --- a/RelNotes +++ b/RelNotes @@ -1 +1 @@ -Documentation/RelNotes/1.7.7.4.txt \ No newline at end of file +Documentation/RelNotes/1.7.7.5.txt \ No newline at end of file From 7b6c5836cf02999955b68c79f1cf2d13040acbc3 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 13 Dec 2011 22:08:52 -0800 Subject: [PATCH 4/5] Update draft release notes for 1.7.8.1 Signed-off-by: Junio C Hamano --- Documentation/RelNotes/1.7.8.1.txt | 17 +++++++++++++++++ RelNotes | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 Documentation/RelNotes/1.7.8.1.txt diff --git a/Documentation/RelNotes/1.7.8.1.txt b/Documentation/RelNotes/1.7.8.1.txt new file mode 100644 index 0000000000..0e8bd9f5ee --- /dev/null +++ b/Documentation/RelNotes/1.7.8.1.txt @@ -0,0 +1,17 @@ +Git v1.7.8.1 Release Notes +========================== + +Fixes since v1.7.8.1 +-------------------- + + * In some codepaths (notably, checkout and merge), the ignore patterns + recorded in $GIT_DIR/info/exclude were not honored. They now are. + + * After fetching from a remote that has very long refname, the reporting + output could have corrupted by overrunning a static buffer. + + * "git checkout" and "git merge" treated in-tree .gitignore and exclude + file in $GIT_DIR/info/ directory inconsistently when deciding which + untracked files are ignored and expendable. + +Also contains minor fixes and documentation updates. diff --git a/RelNotes b/RelNotes index 7d9276973a..96a35fb995 120000 --- a/RelNotes +++ b/RelNotes @@ -1 +1 @@ -Documentation/RelNotes/1.7.8.txt \ No newline at end of file +Documentation/RelNotes/1.7.8.1.txt \ No newline at end of file From 10f4eb652ee4e592f91f638e579d1afcb96c0408 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 13 Dec 2011 23:09:27 -0800 Subject: [PATCH 5/5] Update draft release notes to 1.7.9 Signed-off-by: Junio C Hamano --- Documentation/RelNotes/1.7.9.txt | 42 +++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/Documentation/RelNotes/1.7.9.txt b/Documentation/RelNotes/1.7.9.txt index 258ab7a186..cd3c256928 100644 --- a/Documentation/RelNotes/1.7.9.txt +++ b/Documentation/RelNotes/1.7.9.txt @@ -4,11 +4,24 @@ Git v1.7.9 Release Notes (draft) Updates since v1.7.8 -------------------- + * git-gui updated to 0.16.0. + + * git-p4 (in contrib/) updates. + * Porcelain commands like "git reset" did not distinguish deletions and type-changes from ordinary modification, and reported them with the same 'M' moniker. They now use 'D' (for deletion) and 'T' (for type-change) to match "git status -s" and "git diff --name-status". + * "git branch -m HEAD" is an obvious no-op and is + now allowed. + + * "git checkout -B " is a more intuitive + way to spell "git reset --keep ". + + * "git checkout" and "git merge" learned "--no-overwrite-ignore" option + to tell Git that untracked and ignored files are not expendable. + * fsck and prune are relatively lengthy operations that still go silent while making the end-user wait. They learned to give progress output like other slow operations. @@ -41,6 +54,10 @@ Updates since v1.7.8 which serves as a global fallback for setting 'branch..rebase' configuration variable per branch. + * "git tag" learned "--cleanup" option to control how the whitespaces + and empty lines in tag message are cleaned up. + + * "gitweb" learned to show side-by-side diff. Also contains minor documentation updates and code clean-ups. @@ -48,14 +65,31 @@ Also contains minor documentation updates and code clean-ups. Fixes since v1.7.8 ------------------ - * In some codepaths (notably, checkout and merge), the ignore patterns - recorded in $GIT_DIR/info/exclude were not honored. They now are. - (merge fc001b5 nd/maint-ignore-exclude later to maint). + * The function header pattern for files with "diff=cpp" attribute did + not consider "type *funcname(type param1,..." as the beginning of a + function. + (merge 37e7793 tr/userdiff-c-returns-pointer later to maint). + * LF-to-CRLF streaming filter used when checking out a large-ish blob + fell into an infinite loop with a rare input. + (merge 284e3d2 cn/maint-lf-to-crlf-filter later to maint). + + * "git archive" mistakenly allowed remote clients to ask for commits + that are not at the tip of any ref. + (merge 7b51c33 jk/maint-upload-archive later to maint). + + * "git apply --check" did not error out when given an empty input + without any patch. + (merge cc64b31 bc/maint-apply-check-no-patch later to maint). + + * The error message from "git diff" and "git status" when they fail + to inspect changes in submodules did not report which submodule they + had trouble with. + (merge 6a5ceda jl/submodule-status-failure-report later to maint). -- exec >/var/tmp/1 -O=v1.7.8-162-gd2c7807 +O=v1.7.8-246-gb3f17ac echo O=$(git describe master) git log --first-parent --oneline --reverse ^$O master echo