From 1cbc32403b20f064ec7c295c6603f6fd16662bce Mon Sep 17 00:00:00 2001 From: Thomas Rast Date: Thu, 8 Mar 2012 09:54:54 +0100 Subject: [PATCH 1/3] perf: load test-lib-functions from the correct directory Loading it in the subshells still referred to $TEST_DIRECTORY/.., which was only correct in preliminary versions of perf-lib.sh Signed-off-by: Thomas Rast Signed-off-by: Junio C Hamano --- t/perf/p0000-perf-lib-sanity.sh | 5 +++++ t/perf/perf-lib.sh | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/t/perf/p0000-perf-lib-sanity.sh b/t/perf/p0000-perf-lib-sanity.sh index 2ca4aaccb8..f8dd536709 100755 --- a/t/perf/p0000-perf-lib-sanity.sh +++ b/t/perf/p0000-perf-lib-sanity.sh @@ -38,4 +38,9 @@ test_expect_success 'test_export works with weird vars' ' test "$bar" = "weird # variable" ' +test_perf 'test-lib-functions correctly loaded in subshells' ' + : >a && + test_path_is_file a +' + test_done diff --git a/t/perf/perf-lib.sh b/t/perf/perf-lib.sh index 2a5e1f354d..bcc0131646 100644 --- a/t/perf/perf-lib.sh +++ b/t/perf/perf-lib.sh @@ -119,7 +119,7 @@ test_run_perf_ () { test_export_="test_cleanup" export test_cleanup test_export_ /usr/bin/time -f "%E %U %S" -o test_time.$i "$SHELL" -c ' -. '"$TEST_DIRECTORY"/../test-lib-functions.sh' +. '"$TEST_DIRECTORY"/test-lib-functions.sh' test_export () { [ $# != 0 ] || return 0 test_export_="$test_export_\\|$1" From 561ae0673569f43a92ea6b0776ae0f4c01472dca Mon Sep 17 00:00:00 2001 From: Thomas Rast Date: Thu, 8 Mar 2012 09:54:55 +0100 Subject: [PATCH 2/3] perf: export some important test-lib variables The only bug right now is that $GIT_TEST_CMP is needed for test_cmp to work. However, we also export the three most important paths for tests: TEST_DIRECTORY TRASH_DIRECTORY GIT_BUILD_DIR Since they are available within test_expect_success, a future test writer may expect them to also be defined in test_perf. Signed-off-by: Thomas Rast Signed-off-by: Junio C Hamano --- t/perf/p0000-perf-lib-sanity.sh | 11 ++++++++++- t/perf/perf-lib.sh | 4 ++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/t/perf/p0000-perf-lib-sanity.sh b/t/perf/p0000-perf-lib-sanity.sh index f8dd536709..cf8e1efce7 100755 --- a/t/perf/p0000-perf-lib-sanity.sh +++ b/t/perf/p0000-perf-lib-sanity.sh @@ -38,9 +38,18 @@ test_expect_success 'test_export works with weird vars' ' test "$bar" = "weird # variable" ' +test_perf 'important variables available in subshells' ' + test -n "$HOME" && + test -n "$TEST_DIRECTORY" && + test -n "$TRASH_DIRECTORY" && + test -n "$GIT_BUILD_DIR" +' + test_perf 'test-lib-functions correctly loaded in subshells' ' : >a && - test_path_is_file a + test_path_is_file a && + : >b && + test_cmp a b ' test_done diff --git a/t/perf/perf-lib.sh b/t/perf/perf-lib.sh index bcc0131646..5580c22812 100644 --- a/t/perf/perf-lib.sh +++ b/t/perf/perf-lib.sh @@ -45,6 +45,10 @@ TEST_NO_CREATE_REPO=t . ../test-lib.sh +# Variables from test-lib that are normally internal to the tests; we +# need to export them for test_perf subshells +export TEST_DIRECTORY TRASH_DIRECTORY GIT_BUILD_DIR GIT_TEST_CMP + perf_results_dir=$TEST_OUTPUT_DIRECTORY/test-results mkdir -p "$perf_results_dir" rm -f "$perf_results_dir"/$(basename "$0" .sh).subtests From 42e52e358be1da6e3500a8d0d930ed08a8dd3715 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Thu, 8 Mar 2012 13:08:26 -0800 Subject: [PATCH 3/3] Update draft release notes to 1.7.10 Also apply typofixes people on the list helped spotting and correcting. Signed-off-by: Junio C Hamano --- Documentation/RelNotes/1.7.10.txt | 38 +++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/Documentation/RelNotes/1.7.10.txt b/Documentation/RelNotes/1.7.10.txt index ae446e0c2c..a8fd0ace47 100644 --- a/Documentation/RelNotes/1.7.10.txt +++ b/Documentation/RelNotes/1.7.10.txt @@ -43,20 +43,23 @@ UI, Workflows & Features * A content filter (clean/smudge) used to be just a way to make the recorded contents "more useful", and allowed to fail; a filter can - new optionally be marked as "required". + now optionally be marked as "required". * Options whose names begin with "--no-" (e.g. the "--no-verify" option of the "git commit" command) can be negated by omitting "no-" from its name, e.g. "git commit --verify". * "git am" learned to pass "-b" option to underlying "git mailinfo", so - that bracketed string other than "PATCH" at the beginning can be kept. + that a bracketed string other than "PATCH" at the beginning can be kept. * "git clone" learned "--single-branch" option to limit cloning to a - single branch (surprise!). + single branch (surprise!); tags that do not point into the history + of the branch are not fetched. * "git clone" learned to detach the HEAD in the resulting repository - when the source repository's HEAD does not point to a branch. + when the user specifies a tag with "--branch" (e.g., "--branch=v1.0"). + Clone also learned to print the usual "detached HEAD" advice in such + a case, similar to "git checkout v1.0". * When showing a patch while ignoring whitespace changes, the context lines are taken from the postimage, in order to make it easier to @@ -71,9 +74,12 @@ UI, Workflows & Features * "fsck" learned "--no-dangling" option to omit dangling object information. - * "git log -G" learned to pay attention to the "-i" option and can - find patch hunks that introduce or remove a string that matches the - given pattern ignoring the case. + * "git log -G" and "git log -S" learned to pay attention to the "-i" + option. With "-i", "log -G" ignores the case when finding patch + hunks that introduce or remove a string that matches the given + pattern. Similarly with "-i", "log -S" ignores the case when + finding the commit the given block of text appears or disappears + from the file. * "git merge" in an interactive session learned to spawn the editor by default to let the user edit the auto-generated merge message, @@ -82,12 +88,15 @@ UI, Workflows & Features Both "git merge" and "git pull" can be given --no-edit from the command line to accept the auto-generated merge message. - * The advise message given when the user didn't give enough clue on + * The advice message given when the user didn't give enough clue on what to merge to "git pull" and "git merge" has been updated to be more concise and easier to understand. * "git push" learned the "--prune" option, similar to "git fetch". + * The whole directory that houses a top-level superproject managed by + "git submodule" can be moved to another place. + * "git symbolic-ref" learned the "--short" option to abbreviate the refname it shows unambiguously. @@ -95,7 +104,7 @@ UI, Workflows & Features output to those that point at the given object. * "gitweb" allows intermediate entries in the directory hierarchy - that leads to a projects to be clicked, which in turn shows the + that leads to a project to be clicked, which in turn shows the list of projects inside that directory. * "gitweb" learned to read various pieces of information for the @@ -149,6 +158,10 @@ Internal Implementation (please report possible regressions) * The code to check if a path points at a file beyond a symbolic link has been restructured to be thread-safe. + * When pruning directories that has become empty during "git prune" + and "git prune-packed", call closedir() that iterates over a + directory before rmdir() it. + Also contains minor documentation updates and code clean-ups. @@ -179,9 +192,14 @@ details). accessed in a repository whose HEAD does not point at a valid branch. + * "gitweb" did use quotemeta() to prepare search string when asked to + do a fixed-string project search, but did not use it by mistake and + used the user-supplied string instead. + (merge e65ceb6 jn/maint-do-not-match-with-unsanitized-searchtext later to maint). + --- exec >/var/tmp/1 -O=v1.7.9.3-366-g1e4d087 +O=v1.7.10-rc0-15-g9a4c97e echo O=$(git describe) git log --first-parent --oneline ^maint $O.. echo