From 53b742522c3ae56726e679b50feede849ec46362 Mon Sep 17 00:00:00 2001 From: Jonathan Nieder Date: Sun, 9 Oct 2011 04:17:07 -0500 Subject: [PATCH 1/3] Makefile: fix permissions of mergetools/ checked out with permissive umask Ever since mergetool--lib was split into multiple files in v1.7.7-rc0~3^2~1 (2011-08-18), the Makefile takes care to reset umask and use tar --no-owner when installing merge tool definitions to $(gitexecdir)/mergetools/. Unfortunately it does not take into account the possibility that the permission bits of the files being copied might already be wrong. Rather than fixing the "tar" incantation and making it even more complicated, let's just use the "install" utility. This only means losing the ability to install executables and subdirectories of mergetools/, which wasn't used. Noticed by installing from a copy of git checked out with umask 002. Compare v1.6.0.3~81^2 (Fix permission bits on sources checked out with an overtight umask, 2008-08-21). Signed-off-by: Jonathan Nieder Signed-off-by: Junio C Hamano --- Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 1e91b19c4d..e27755e738 100644 --- a/Makefile +++ b/Makefile @@ -2275,8 +2275,7 @@ install: all $(INSTALL) $(install_bindir_programs) '$(DESTDIR_SQ)$(bindir_SQ)' $(MAKE) -C templates DESTDIR='$(DESTDIR_SQ)' install $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(mergetools_instdir_SQ)' - (cd mergetools && $(TAR) cf - .) | \ - (cd '$(DESTDIR_SQ)$(mergetools_instdir_SQ)' && umask 022 && $(TAR) xof -) + $(INSTALL) -m 644 mergetools/* '$(DESTDIR_SQ)$(mergetools_instdir_SQ)' ifndef NO_PERL $(MAKE) -C perl prefix='$(prefix_SQ)' DESTDIR='$(DESTDIR_SQ)' install $(MAKE) -C gitweb install From 27c0f768843b6d844674f1fb8dc2676d830b56e3 Mon Sep 17 00:00:00 2001 From: Ramsay Jones Date: Sun, 11 Sep 2011 20:39:32 +0100 Subject: [PATCH 2/3] Fix some "variable might be used uninitialized" warnings In particular, gcc complains as follows: CC tree-walk.o tree-walk.c: In function `traverse_trees': tree-walk.c:347: warning: 'e' might be used uninitialized in this \ function CC builtin/revert.o builtin/revert.c: In function `verify_opt_mutually_compatible': builtin/revert.c:113: warning: 'opt2' might be used uninitialized in \ this function Signed-off-by: Ramsay Jones Signed-off-by: Junio C Hamano --- builtin/revert.c | 2 +- tree-walk.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/builtin/revert.c b/builtin/revert.c index ba27cf15ee..200149e2e7 100644 --- a/builtin/revert.c +++ b/builtin/revert.c @@ -110,7 +110,7 @@ static void verify_opt_compatible(const char *me, const char *base_opt, ...) static void verify_opt_mutually_compatible(const char *me, ...) { - const char *opt1, *opt2; + const char *opt1, *opt2 = NULL; va_list ap; va_start(ap, me); diff --git a/tree-walk.c b/tree-walk.c index 808bb55ba3..a8d8a66d59 100644 --- a/tree-walk.c +++ b/tree-walk.c @@ -344,7 +344,7 @@ int traverse_trees(int n, struct tree_desc *t, struct traverse_info *info) unsigned long mask, dirmask; const char *first = NULL; int first_len = 0; - struct name_entry *e; + struct name_entry *e = NULL; int len; for (i = 0; i < n; i++) { From 8b0e15fa95e11965f18c8d2585dc8ffd9bfc9356 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Mon, 10 Oct 2011 16:14:59 -0700 Subject: [PATCH 3/3] Update draft release notes to 1.7.8 Signed-off-by: Junio C Hamano --- Documentation/RelNotes/1.7.8.txt | 50 ++++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 6 deletions(-) diff --git a/Documentation/RelNotes/1.7.8.txt b/Documentation/RelNotes/1.7.8.txt index 3c247cc231..108e6cd0ea 100644 --- a/Documentation/RelNotes/1.7.8.txt +++ b/Documentation/RelNotes/1.7.8.txt @@ -40,6 +40,17 @@ Updates since v1.7.7 * "git stash" learned "--include-untracked" option to stash away untracked/ignored cruft from the working tree. + * "git submodule update" learned to honor "none" as the value for + submodule..update to specify that the named submodule should + not be checked out by default. + + * When populating a new submodule directory with "git submodule init", + the $GIT_DIR metainformation directory for submodules is created inside + $GIT_DIR/modules// directory of the superproject and referenced + via the gitfile mechanism. This is to make it possible to switch + between commits in the superproject that has and does not have the + submodule in the tree without re-cloning. + * "mediawiki" remote helper can interact with (surprise!) MediaWiki with "git fetch" & "git push". @@ -47,16 +58,37 @@ Updates since v1.7.7 outputs. +Also contains other documentation updates and minor code cleanups. + + Fixes since v1.7.7 ------------------ Unless otherwise noted, all fixes in the 1.7.7.X maintenance track are included in this release. + * We used to drop error messages from libcurl on certain kinds of + errors. + (merge be22d92eac8 jn/maint-http-error-message later to maint). + + * Adding many refs to the local repository in one go (e.g. "git fetch" + that fetches many tags) and looking up a ref by name in a repository + with too many refs were unnecessarily slow. + (merge 17d68a54d jp/get-ref-dir-unsorted later to maint). + + * "git remote rename $a $b" were not careful to match the remote name + against $a (i.e. source side of the remote nickname). + (merge b52d00aed mz/remote-rename later to maint). + * "git diff $tree $path" used to apply the pathspec at the output stage, reading the whole tree, wasting resources. (merge 2f88c1970 jc/diff-index-unpack later to maint). + * "git diff --[num]stat" used to use the number of lines of context + different from the default, potentially giving different results from + "git diff | diffstat" and confusing the users. + (merge f01cae918 jc/maint-diffstat-numstat-context later to maint). + * The code to check for updated submodules during a "git fetch" of the superproject had an unnecessary quadratic loop. (merge 6859de45 jk/maint-fetch-submodule-check-fix later to maint). @@ -84,6 +116,10 @@ included in this release. * "git merge" did not understand ":/" as a way to name a commit. + * "git mergetool" learned to use its arguments as pathspec, not a path to + the file that may not even have any conflict. + (merge 6d9990a jm/mergetool-pathspec later to maint). + * Tests with --valgrind failed to find "mergetool" scriptlets. (merge ee0d7bf92 tr/mergetool-valgrind later to maint). @@ -96,12 +132,14 @@ included in this release. be cleaned up. (merge 1686519a mm/rebase-i-exec-edit later to maint). + * "gitweb" used to produce a non-working link while showing the contents + of a blob, when JavaScript actions are enabled. + (merge 2b07ff3ff ps/gitweb-js-with-lineno later to maint). + --- -it=master exec >/var/tmp/1 -O=v1.7.7 -O=v1.7.7-137-g2e49dab -echo O=$(git describe --always $it) -git log --first-parent --oneline --reverse ^$O $it +O=v1.7.7-212-g4909bbe +echo O=$(git describe --always master) +git log --first-parent --oneline --reverse ^$O master echo -git shortlog --no-merges ^$O $it +git shortlog --no-merges ^$O master