git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [ANNOUNCE] GIT 1.5.4-rc3
@ 2008-01-12  7:11 Junio C Hamano
  2008-01-12  7:26 ` Ismail Dönmez
                   ` (3 more replies)
  0 siblings, 4 replies; 29+ messages in thread
From: Junio C Hamano @ 2008-01-12  7:11 UTC (permalink / raw)
  To: git; +Cc: linux-kernel

The third rc for the next feature release GIT 1.5.4 is available
at the usual places:

  http://www.kernel.org/pub/software/scm/git/

  git-1.5.4.rc3.tar.{gz,bz2}			(tarball)
  git-htmldocs-1.5.4.rc3.tar.{gz,bz2}		(preformatted docs)
  git-manpages-1.5.4.rc3.tar.{gz,bz2}		(preformatted docs)
  testing/git-*-1.5.4.rc3-1.$arch.rpm	(RPM)

Sorry, this is a few days late than I promised.  Partly due to
day-job pressure, partly because I am not familiar with RPM spec
file and ended up failing to get the spec file into a reasonable
shape after gitk i18n merge more than twice, and partly because
I involved myself to discussion on the list I should not have
been deeply involved in during the rc freeze.

In any case, we managed to keep the changes only to fixes (both
code and documentation) this round, aside from the promised gitk
i18n enhancements.  This should be pretty much the same as what
we will have in final, hopefully due by the end of the month.

Please give it a good beating.  Especially if you care about the
final RPM, and you are familiar with RPM generation, I would
appreciate extra set of eyeballs to see if dependencies and
other metainformation is set up correctly, as I do not think
many people have tested it.

----------------------------------------------------------------

Changes since v1.5.4-rc2 are as follows:

Alexandre Julliard (6):
      git.el: Support for getting diffs from inside the log-edit buffer.
      git.el: Retrieve the permissions for up-to-date files.
      git.el: Display file types and type changes.
      git.el: Make sure we never insert the same file twice.
      git.el: Refresh files from their real state upon commit.
      git.el: Make status refresh faster.

Bernt Hansen (1):
      git-gui: Make commit log messages end with a newline

Brandon Casey (1):
      git-relink.txt: describe more clearly how hard linking occurs

Charles Bailey (1):
      gitk: Fix the Makefile to cope with systems lacking msgfmt

Christian Couder (1):
      Documentation: config: add 'help.*' and 'instaweb.*' variables.

Christian Stimming (10):
      gitk i18n: Add Makefile with rules for po file creation and installation
      gitk i18n: Import msgcat for message string translation; load translation catalogs
      gitk i18n: Markup several strings for translation
      gitk i18n: Initial German translation
      gitk i18n: More markup -- various options menus
      gitk i18n: Recode gitk from latin1 to utf8 so that the (c) copyright character is valid utf8.
      gitk: Update and fix Makefile
      gitk: Update German translation
      gitk: Fix typo in user message.
      gitk: Update German translation.

Dan McGee (1):
      Documentation: rename gitlink macro to linkgit

Eric Wong (4):
      git-svn: allow dcommit --no-rebase to commit multiple, dependent changes
      git-svn: unlink index files that were globbed, too
      git-svn: support for funky branch and project names over HTTP(S)
      git-svn: clarify the "Ignoring error from SVN" piece

Florian La Roche (1):
      Change git-gc documentation to reflect gc.packrefs implementation.

Gerrit Pape (1):
      gitk: use user-configured background in view definition dialog

Grégoire Barbier (1):
      Fix double-free() in http-push.c:remote_exists()

Gustaf Hendeby (1):
      Documentation/user-manual.txt: fix typo

J. Bruce Fields (1):
      Documentation: fix remote.<name>.skipDefaultUpdate description

James Bowes (1):
      Make the git metapackage require the same version of the subpackages.

Jeff King (8):
      config: handle lack of newline at end of file better
      git-reset: refuse to do hard reset in a bare repository
      add a "basic" diff config callback
      diff: load funcname patterns in "basic" config
      diff: remove lazy config loading
      add--interactive: remove unused diff colors
      add--interactive: allow diff colors without interactive colors
      Document the color.interactive semantics

Jim Meyering (3):
      Fix grammar nits in documentation and in code comments.
      Don't access line[-1] for a zero-length "line" from fgets.
      bundle, fast-import: detect write failure

Johannes Schindelin (2):
      Optimize prefixcmp()
      shortlog: mention the "-e" option in the usage

Johannes Sixt (2):
      git-gui: Move frequently used commands to the top of the context menu.
      recv_sideband: Do not use ANSI escape sequence on dumb terminals.

Junio C Hamano (27):
      Documentation/git-submodule.txt: typofix
      "git pull --tags": error out with a better message.
      git-rebase -i behaves better on commits with incomplete messages
      git-rebase -i: clean-up error check codepath.
      lock_any_ref_for_update(): reject wildcard return from check_ref_format
      Update callers of check_ref_format()
      Uninline prefixcmp()
      git-clean: make "Would remove ..." path relative to cwd again
      t/t7600: avoid GNUism in grep
      t/t{3600,3800,5401}: do not use egrep when grep would do
      t/t3800: do not use a temporary file to hold expected result.
      Update draft release notes for 1.5.4
      git-stash clear: refuse to work with extra parameter for now
      git-rev-parse --symbolic-full-name
      filter-branch: work correctly with ambiguous refnames
      custom pretty format: tolerate empty e-mail address
      Documentation: remove gitman.info with "make clean"
      Documentation: fix "gitlink::foobar[s]"
      utf8: pick_one_utf8_char()
      utf8_width(): allow non NUL-terminated input
      diff: do not chomp hunk-header in the middle of a character
      Update draft release notes for 1.5.4
      GIT 1.5.3.8
      "git-apply --check" should not report "fixed"
      pack-objects: remove redundant and wrong call to deflateEnd()
      RPM spec: include gitk message files.
      GIT 1.5.4-rc3

Kevin Ballard (1):
      Trim leading / off of paths in git-svn prop_walk

Marco Costalba (2):
      Document git-reset defaults to HEAD if no commit is given
      git-stash: use stdout instead of stderr for non error messages

Mark Levedahl (2):
      git-gui: Unconditionally use absolute paths with Cygwin
      Documentation/Makefile - honor $DESTDIR for quick-install target

Martin Koegler (4):
      receive-pack: check object type of sha1 before using them as commits
      receive-pack: reject invalid refnames
      parse_tag_buffer: don't parse invalid tags
      tree-walk: don't parse incorrect entries

Michael Stefaniuc (1):
      git-am: Run git gc only once and not for every patch.

Michele Ballabio (1):
      Document some default values in config.txt

Miklos Vajna (2):
      git-sh-setup: document git_editor() and get_author_ident_from_commit()
      t/t7001: avoid unnecessary ERE when using grep

Nicolas Pitre (1):
      slightly better auto gc message

Paul Mackerras (2):
      gitk: Recode de.po to UTF-8
      gitk: Restore some widget options whose defaults changed in Tk 8.5

Peter Karlsson (1):
      Added Swedish translation.

Ralf Wildenhues (1):
      Documentation: typofix

Rogan Dawes (1):
      Allow git-mergetool to handle paths with a leading space

Shawn O. Pearce (1):
      git-gui: Handle file mode changes (644->755) in diff viewer

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [ANNOUNCE] GIT 1.5.4-rc3
  2008-01-12  7:11 [ANNOUNCE] GIT 1.5.4-rc3 Junio C Hamano
@ 2008-01-12  7:26 ` Ismail Dönmez
  2008-01-12  7:34   ` Junio C Hamano
  2008-01-12 14:24 ` Roger C. Soares
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 29+ messages in thread
From: Ismail Dönmez @ 2008-01-12  7:26 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git, linux-kernel

Saturday 12 January 2008 09:11:23 tarihinde Junio C Hamano şunları yazmıştı:
> The third rc for the next feature release GIT 1.5.4 is available
> at the usual places:
>
>   http://www.kernel.org/pub/software/scm/git/
>
>   git-1.5.4.rc3.tar.{gz,bz2}			(tarball)
>   git-htmldocs-1.5.4.rc3.tar.{gz,bz2}		(preformatted docs)
>   git-manpages-1.5.4.rc3.tar.{gz,bz2}		(preformatted docs)
>   testing/git-*-1.5.4.rc3-1.$arch.rpm	(RPM)

I am seeing new failures compared to rc2 :

*** t9200-git-cvsexportcommit.sh ***
* FAIL 1: New file
        mkdir A B C D E F &&
             echo hello1 >A/newfile1.txt &&
             echo hello2 >B/newfile2.txt &&
             cp ../test9200a.png C/newfile3.png &&
             cp ../test9200a.png D/newfile4.png &&
             git add A/newfile1.txt &&
             git add B/newfile2.txt &&
             git add C/newfile3.png &&
             git add D/newfile4.png &&
             git commit -a -m "Test: New file" &&
             id=$(git rev-list --max-count=1 HEAD) &&
             (cd "$CVSWORK" &&
             git cvsexportcommit -c $id &&
             check_entries A "newfile1.txt/1.1/" &&
             check_entries B "newfile2.txt/1.1/" &&
             check_entries C "newfile3.png/1.1/-kb" &&
             check_entries D "newfile4.png/1.1/-kb" &&
             diff A/newfile1.txt ../A/newfile1.txt &&
             diff B/newfile2.txt ../B/newfile2.txt &&
             diff C/newfile3.png ../C/newfile3.png &&
             diff D/newfile4.png ../D/newfile4.png
             )
* FAIL 2: Remove two files, add two and update two
        echo Hello1 >>A/newfile1.txt &&
             rm -f B/newfile2.txt &&
             rm -f C/newfile3.png &&
             echo Hello5  >E/newfile5.txt &&
             cp ../test9200b.png D/newfile4.png &&
             cp ../test9200a.png F/newfile6.png &&
             git add E/newfile5.txt &&
             git add F/newfile6.png &&
             git commit -a -m "Test: Remove, add and update" &&
             id=$(git rev-list --max-count=1 HEAD) &&
             (cd "$CVSWORK" &&
             git cvsexportcommit -c $id &&
             check_entries A "newfile1.txt/1.2/" &&
             check_entries B "" &&
             check_entries C "" &&
             check_entries D "newfile4.png/1.2/-kb" &&
             check_entries E "newfile5.txt/1.1/" &&
             check_entries F "newfile6.png/1.1/-kb" &&
             diff A/newfile1.txt ../A/newfile1.txt &&
             diff D/newfile4.png ../D/newfile4.png &&
             diff E/newfile5.txt ../E/newfile5.txt &&
             diff F/newfile6.png ../F/newfile6.png
             )

* FAIL 4: Remove only binary files
        git reset --hard HEAD^^ &&
             rm -f D/newfile4.png &&
             git commit -a -m "test: remove only a binary file" &&
             id=$(git rev-list --max-count=1 HEAD) &&
             (cd "$CVSWORK" &&
             git cvsexportcommit -c $id &&
             check_entries A "newfile1.txt/1.2/" &&
             check_entries B "" &&
             check_entries C "" &&
             check_entries D "" &&
             check_entries E "newfile5.txt/1.1/" &&
             check_entries F "newfile6.png/1.1/-kb" &&
             diff A/newfile1.txt ../A/newfile1.txt &&
             diff E/newfile5.txt ../E/newfile5.txt &&
             diff F/newfile6.png ../F/newfile6.png
             )
* FAIL 5: Remove only a text file
        rm -f A/newfile1.txt &&
             git commit -a -m "test: remove only a binary file" &&
             id=$(git rev-list --max-count=1 HEAD) &&
             (cd "$CVSWORK" &&
             git cvsexportcommit -c $id &&
             check_entries A "" &&
             check_entries B "" &&
             check_entries C "" &&
             check_entries D "" &&
             check_entries E "newfile5.txt/1.1/" &&
             check_entries F "newfile6.png/1.1/-kb" &&
             diff E/newfile5.txt ../E/newfile5.txt &&
             diff F/newfile6.png ../F/newfile6.png
             )
* FAIL 6: New file with spaces in file name
        mkdir "G g" &&
              echo ok then >"G g/with spaces.txt" &&
              git add "G g/with spaces.txt" && \
              cp ../test9200a.png "G g/with spaces.png" && \
              git add "G g/with spaces.png" &&
              git commit -a -m "With spaces" &&
              id=$(git rev-list --max-count=1 HEAD) &&
              (cd "$CVSWORK" &&
              git-cvsexportcommit -c $id &&
              check_entries "G g" "with spaces.png/1.1/-kb|with 
spaces.txt/1.1/"
              )
* FAIL 7: Update file with spaces in file name
        echo Ok then >>"G g/with spaces.txt" &&
              cat ../test9200a.png >>"G g/with spaces.png" && \
              git add "G g/with spaces.png" &&
              git commit -a -m "Update with spaces" &&
              id=$(git rev-list --max-count=1 HEAD) &&
              (cd "$CVSWORK" &&
              git-cvsexportcommit -c $id
              check_entries "G g" "with spaces.png/1.2/-kb|with 
spaces.txt/1.2/"
              )
* FAIL 8: File with non-ascii file name
        mkdir -p 
Å/goo/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/å/ä/ö &&
              echo Foo 
>Å/goo/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/å/ä/ö/gårdetsågårdet.txt 
&&
              git add 
Å/goo/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/å/ä/ö/gårdetsågårdet.txt 
&&
              cp ../test9200a.png 
Å/goo/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/å/ä/ö/gårdetsågårdet.png 
&&
              git add 
Å/goo/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/å/ä/ö/gårdetsågårdet.png 
&&
              git commit -a -m "Går det så går det" && \
              id=$(git rev-list --max-count=1 HEAD) &&
              (cd "$CVSWORK" &&
              git-cvsexportcommit -v -c $id &&
              check_entries \
              "Å/goo/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/å/ä/ö" 
\
              "gårdetsågårdet.png/1.1/-kb|gårdetsågårdet.txt/1.1/"
              )

[...]
* failed 7 among 10 test(s)

Ideas appreciated.

/ismail

-- 
Never learn by your mistakes, if you do you may never dare to try again.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [ANNOUNCE] GIT 1.5.4-rc3
  2008-01-12  7:26 ` Ismail Dönmez
@ 2008-01-12  7:34   ` Junio C Hamano
  2008-01-12  7:47     ` Ismail Dönmez
  0 siblings, 1 reply; 29+ messages in thread
From: Junio C Hamano @ 2008-01-12  7:34 UTC (permalink / raw)
  To: Ismail Dönmez; +Cc: git, linux-kernel

Ismail Dönmez <ismail@pardus.org.tr> writes:

> Saturday 12 January 2008 09:11:23 tarihinde Junio C Hamano şunları yazmıştı:
>> The third rc for the next feature release GIT 1.5.4 is available
>> at the usual places:
>>
>>   http://www.kernel.org/pub/software/scm/git/
>>
>>   git-1.5.4.rc3.tar.{gz,bz2}			(tarball)
>>   git-htmldocs-1.5.4.rc3.tar.{gz,bz2}		(preformatted docs)
>>   git-manpages-1.5.4.rc3.tar.{gz,bz2}		(preformatted docs)
>>   testing/git-*-1.5.4.rc3-1.$arch.rpm	(RPM)
>
> I am seeing new failures compared to rc2 :
>
> *** t9200-git-cvsexportcommit.sh ***
> * FAIL 1: New file
>         mkdir A B C D E F &&
>              echo hello1 >A/newfile1.txt &&
>              echo hello2 >B/newfile2.txt &&
>              cp ../test9200a.png C/newfile3.png &&
>              cp ../test9200a.png D/newfile4.png &&
>              git add A/newfile1.txt &&
>              git add B/newfile2.txt &&
>              git add C/newfile3.png &&
>              git add D/newfile4.png &&
>              git commit -a -m "Test: New file" &&
>              id=$(git rev-list --max-count=1 HEAD) &&
>              (cd "$CVSWORK" &&
>              git cvsexportcommit -c $id &&
>              check_entries A "newfile1.txt/1.1/" &&
>              check_entries B "newfile2.txt/1.1/" &&
>              check_entries C "newfile3.png/1.1/-kb" &&
>              check_entries D "newfile4.png/1.1/-kb" &&
>              diff A/newfile1.txt ../A/newfile1.txt &&
>              diff B/newfile2.txt ../B/newfile2.txt &&
>              diff C/newfile3.png ../C/newfile3.png &&
>              diff D/newfile4.png ../D/newfile4.png
>              )
> Ideas appreciated.

Often the first failure is the most interesting one.  Running
the test under sh -x like this:

	$ cd t
	$ sh t9200-git-cvsexportcommit.sh -i -v

and then looking at "trash" directory would tell you which one
of the long sequence of commands failed, and further
investigation can be made from there.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [ANNOUNCE] GIT 1.5.4-rc3
  2008-01-12  7:34   ` Junio C Hamano
@ 2008-01-12  7:47     ` Ismail Dönmez
  2008-01-12  8:04       ` Junio C Hamano
  2008-01-12  9:04       ` Jeff King
  0 siblings, 2 replies; 29+ messages in thread
From: Ismail Dönmez @ 2008-01-12  7:47 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Saturday 12 January 2008 09:34:34 tarihinde şunları yazmıştınız:
>  sh t9200-git-cvsexportcommit.sh -i -v

Thanks for the tip, I saw the following error :

cvs 
commit -F .msg 'A/newfile1.txt' 'B/newfile2.txt' 'C/newfile3.png' 'D/newfile4.png'
cvs [commit aborted]: 'root' is not allowed to commit files

So looks like tests no longer work as root, so I run make test as normal user 
and I now see t7300-clean.sh fail, this time a real failure:

Removing part3.c
./test-lib.sh: line 193: 19413 Aborted                 git-clean
* FAIL 5: git-clean with prefix


                mkdir -p build docs &&
                touch a.out src/part3.c docs/manual.txt obj.o build/lib.so &&
                (cd src/ && git-clean) &&
                test -f Makefile &&
                test -f README &&
                test -f src/part1.c &&
                test -f src/part2.c &&
                test -f a.out &&
                test ! -f src/part3.c &&
                test -f docs/manual.txt &&
                test -f obj.o &&
                test -f build/lib.so

Regards,
ismail

-- 
Never learn by your mistakes, if you do you may never dare to try again.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [ANNOUNCE] GIT 1.5.4-rc3
  2008-01-12  7:47     ` Ismail Dönmez
@ 2008-01-12  8:04       ` Junio C Hamano
  2008-01-12  9:04       ` Jeff King
  1 sibling, 0 replies; 29+ messages in thread
From: Junio C Hamano @ 2008-01-12  8:04 UTC (permalink / raw)
  To: Ismail Dönmez; +Cc: git

Please do not run build nor test as root.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [ANNOUNCE] GIT 1.5.4-rc3
  2008-01-12  7:47     ` Ismail Dönmez
  2008-01-12  8:04       ` Junio C Hamano
@ 2008-01-12  9:04       ` Jeff King
  2008-01-12  9:05         ` Jeff King
                           ` (5 more replies)
  1 sibling, 6 replies; 29+ messages in thread
From: Jeff King @ 2008-01-12  9:04 UTC (permalink / raw)
  To: Ismail Dönmez; +Cc: Junio C Hamano, git

On Sat, Jan 12, 2008 at 09:47:48AM +0200, Ismail Dönmez wrote:

> So looks like tests no longer work as root, so I run make test as normal user 
> and I now see t7300-clean.sh fail, this time a real failure:
> 
> Removing part3.c
> ./test-lib.sh: line 193: 19413 Aborted                 git-clean
> * FAIL 5: git-clean with prefix

I couldn't reproduce this just running the test, but running it under
valgrind showed a memory access error. Fix is below.

Junio, can you please sanity check this fix (it stops the valgrind
error, but I want to make sure my assumptions about match_pathspec are
right).

-- >8 --
git-clean: fix off-by-one memory access when given no arguments

The "seen" variable is used by match_pathspec, and must have
as many elements as there are in the given pathspec. We
create the pathspec either from the command line arguments
_or_ from just the current prefix.

Thus allocating "seen" based upon just argc is wrong, since
if argc == 0, then we still have one pathspec, the prefix,
but we don't allocate any space in "seen".

Signed-off-by: Jeff King <peff@peff.net>
---
It might be more readable to actually set a variable pathspec_size and
use that.

 builtin-clean.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/builtin-clean.c b/builtin-clean.c
index 6cad8ea..eb853a3 100644
--- a/builtin-clean.c
+++ b/builtin-clean.c
@@ -90,7 +90,7 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
 	strbuf_init(&directory, 0);
 
 	if (pathspec)
-		seen = xmalloc(argc);
+		seen = xmalloc(argc > 0 ? argc : 1);
 
 	for (i = 0; i < dir.nr; i++) {
 		struct dir_entry *ent = dir.entries[i];
@@ -125,7 +125,7 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
 			continue;
 
 		if (pathspec) {
-			memset(seen, 0, argc);
+			memset(seen, 0, argc > 0 ? argc : 1);
 			matches = match_pathspec(pathspec, ent->name, ent->len,
 						 baselen, seen);
 		} else {
-- 
1.5.4.rc3-dirty

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* Re: [ANNOUNCE] GIT 1.5.4-rc3
  2008-01-12  9:04       ` Jeff King
@ 2008-01-12  9:05         ` Jeff King
  2008-01-12 11:10         ` valgrind test script integration Jeff King
                           ` (4 subsequent siblings)
  5 siblings, 0 replies; 29+ messages in thread
From: Jeff King @ 2008-01-12  9:05 UTC (permalink / raw)
  To: Ismail Dönmez; +Cc: Junio C Hamano, git

On Sat, Jan 12, 2008 at 04:04:32AM -0500, Jeff King wrote:

> On Sat, Jan 12, 2008 at 09:47:48AM +0200, Ismail Dönmez wrote:
> 
> > Removing part3.c
> > ./test-lib.sh: line 193: 19413 Aborted                 git-clean
> > * FAIL 5: git-clean with prefix
> 
> Junio, can you please sanity check this fix (it stops the valgrind
> error, but I want to make sure my assumptions about match_pathspec are
> right).

Oh, and Ismail, can you please confirm that this causes t7300 to pass
for you?

-Peff

^ permalink raw reply	[flat|nested] 29+ messages in thread

* valgrind test script integration
  2008-01-12  9:04       ` Jeff King
  2008-01-12  9:05         ` Jeff King
@ 2008-01-12 11:10         ` Jeff King
  2008-01-12 11:36           ` Jeff King
  2008-01-12 13:01         ` [ANNOUNCE] GIT 1.5.4-rc3 René Scharfe
                           ` (3 subsequent siblings)
  5 siblings, 1 reply; 29+ messages in thread
From: Jeff King @ 2008-01-12 11:10 UTC (permalink / raw)
  To: git

On Sat, Jan 12, 2008 at 04:04:32AM -0500, Jeff King wrote:

> I couldn't reproduce this just running the test, but running it under
> valgrind showed a memory access error. Fix is below.

BTW, this could have been caught automagically if we had valgrind
integration in the test scripts. Below is a rudimentary patch to do so.
I'm not that familiar with valgrind, so input from those more
knowledgeable is appreciated, and maybe we can get something official
post-1.5.4.

You can use it like "./t7300-clean.sh -m"; each call to 'git' is run
through valgrind, and returns an error if the original program had an
error, or if valgrind turned up any errors.

It of course runs horribly slowly. I've just kicked off a

  make GIT_TEST_OPTS='-i -m'

now. A few caveats:

 - It barfs on _any_ valgrind error. On my Debian unstable system,
   anything that touches nss ends up with an error deep in the dlopen
   code.  Therefore to make this useful, I had to put

     {
       dl hack
       Memcheck:Addr4
       obj:/lib/ld-2.7.so
     }

   into /usr/lib/valgrind/default.supp

   We should maybe have a 'git.supp' error suppression file, but in this
   case, the error really seems to be platform-specific.

 - We only catch calls to 'git', not 'git-foo' (and in fact for that
   reason this doesn't catch the t7300 bug by itself, since that uses
   git-clean). A follow-on patch will deal with this.

---
 t/test-lib.sh |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/t/test-lib.sh b/t/test-lib.sh
index 90b6844..415e918 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -84,6 +84,8 @@ do
 	--no-python)
 		# noop now...
 		shift ;;
+	-m|--m|--me|--mem|--memc|--memch|--memche|--memchec|--memcheck)
+		alias git='memcheck git'; shift ;;
 	*)
 		break ;;
 	esac
@@ -120,6 +122,12 @@ say () {
 	say_color info "$*"
 }
 
+memcheck() {
+	valgrind -q --error-exitcode=1 --leak-check=no "$@" && return 0
+	echo >&2 valgrind failure: "$@"
+	return 1
+}
+
 test "${test_description}" != "" ||
 error "Test script did not set test_description."
 
-- 
1.5.4.rc3.1.g027628-dirty

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* Re: valgrind test script integration
  2008-01-12 11:10         ` valgrind test script integration Jeff King
@ 2008-01-12 11:36           ` Jeff King
  2008-01-12 17:10             ` Johannes Schindelin
  0 siblings, 1 reply; 29+ messages in thread
From: Jeff King @ 2008-01-12 11:36 UTC (permalink / raw)
  To: git

On Sat, Jan 12, 2008 at 06:10:44AM -0500, Jeff King wrote:

>  - We only catch calls to 'git', not 'git-foo' (and in fact for that
>    reason this doesn't catch the t7300 bug by itself, since that uses
>    git-clean). A follow-on patch will deal with this.

And here it is.

This replaces all usage of "git-foo" with "git foo" in the
test scripts. The replacement was done semi-manually; a
fully automatic replacement won't work because the pattern
"git-" appears in several other contexts (e.g.,
"--git-dir=", ref names, filenames, etc).

Obviously another route would be intercepting git-* calls,
as well, but my impression is that we are ultimately heading
towards a "git foo is the right way" situation, in which
case this cleanup is eventually necessary anyway.

[the original got eaten by the list since the patch is almost 150K;
 the diffstat is below, and I am making the patch available at

   git://repo.or.cz/git/peff.git master
]

 t/t1400-update-ref.sh                  |   10 +-
 t/t2005-checkout-index-symlinks.sh     |    4 +-
 t/t2050-git-dir-relative.sh            |    4 +-
 t/t2102-update-index-symlinks.sh       |    2 +-
 t/t2200-add-update.sh                  |   12 +-
 t/t3020-ls-files-error-unmatch.sh      |    2 +-
 t/t3030-merge-recursive.sh             |   14 +-
 t/t3200-branch.sh                      |   16 +-
 t/t3210-pack-refs.sh                   |    4 +-
 t/t3400-rebase.sh                      |    6 +-
 t/t3401-rebase-partial.sh              |   20 +-
 t/t3500-cherry.sh                      |   12 +-
 t/t3600-rm.sh                          |    4 +-
 t/t3800-mktag.sh                       |    8 +-
 t/t3900-i18n-commit.sh                 |    6 +-
 t/t3901-i18n-patch.sh                  |   16 +-
 t/t4012-diff-binary.sh                 |    2 +-
 t/t4103-apply-binary.sh                |   26 ++--
 t/t5300-pack-object.sh                 |   14 +-
 t/t5301-sliding-window.sh              |    4 +-
 t/t5302-pack-index.sh                  |   10 +-
 t/t5400-send-pack.sh                   |   30 ++--
 t/t5401-update-hooks.sh                |    4 +-
 t/t5402-post-merge-hook.sh             |    4 +-
 t/t5403-post-checkout-hook.sh          |    4 +-
 t/t5500-fetch-pack.sh                  |    4 +-
 t/t5510-fetch.sh                       |    2 +-
 t/t5530-upload-pack-error.sh           |    4 +-
 t/t5600-clone-fail-cleanup.sh          |    6 +-
 t/t6006-rev-list-format.sh             |    6 +-
 t/t6025-merge-symlinks.sh              |   32 ++--
 t/t6026-merge-attr.sh                  |   12 +-
 t/t6030-bisect-porcelain.sh            |    2 +-
 t/t6120-describe.sh                    |   30 ++--
 t/t6300-for-each-ref.sh                |   28 ++--
 t/t7001-mv.sh                          |   12 +-
 t/t7003-filter-branch.sh               |   18 +-
 t/t7004-tag.sh                         |  316 ++++++++++++++++----------------
 t/t7101-reset.sh                       |    6 +-
 t/t7300-clean.sh                       |   38 ++--
 t/t7400-submodule-basic.sh             |   46 +++---
 t/t7501-commit.sh                      |   44 +++---
 t/t9100-git-svn-basic.sh               |   44 +++---
 t/t9101-git-svn-props.sh               |   62 +++---
 t/t9102-git-svn-deep-rmdir.sh          |    6 +-
 t/t9104-git-svn-follow-parent.sh       |   36 ++--
 t/t9105-git-svn-commit-diff.sh         |    8 +-
 t/t9106-git-svn-commit-diff-clobber.sh |   12 +-
 t/t9107-git-svn-migrate.sh             |   16 +-
 t/t9108-git-svn-glob.sh                |    4 +-
 t/t9110-git-svn-use-svm-props.sh       |    8 +-
 t/t9111-git-svn-use-svnsync-props.sh   |    8 +-
 t/t9112-git-svn-md5less-file.sh        |    4 +-
 t/t9116-git-svn-log.sh                 |    4 +-
 t/t9119-git-svn-info.sh                |  120 ++++++------
 t/t9200-git-cvsexportcommit.sh         |   10 +-
 t/t9300-fast-import.sh                 |   64 ++++----
 t/t9400-git-cvsserver-server.sh        |   30 ++--
 58 files changed, 640 insertions(+), 640 deletions(-)

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [ANNOUNCE] GIT 1.5.4-rc3
  2008-01-12  9:04       ` Jeff King
  2008-01-12  9:05         ` Jeff King
  2008-01-12 11:10         ` valgrind test script integration Jeff King
@ 2008-01-12 13:01         ` René Scharfe
  2008-01-12 13:10         ` Ismail Dönmez
                           ` (2 subsequent siblings)
  5 siblings, 0 replies; 29+ messages in thread
From: René Scharfe @ 2008-01-12 13:01 UTC (permalink / raw)
  To: Jeff King; +Cc: Ismail Dönmez, Junio C Hamano, git

Jeff King schrieb:
> Thus allocating "seen" based upon just argc is wrong, since
> if argc == 0, then we still have one pathspec, the prefix,
> but we don't allocate any space in "seen".

Yes, all the other callers count the number of elements in pathspec
and allocate seen accordingly.  We could do that.  Or we could
extend match_pathspec() to allow seen to be a NULL pointer, for
those cases where this result isn't needed.

This patch is for discussion, only, because it touches central,
non-buggy code and where in bugfix only mode.  And I'm not really
sure git-clean ignoring non-matching pathspecs (as it does now,
even without this patch) is really what we want.

 builtin-clean.c |    8 +-------
 dir.c           |   26 ++++++++++++++++----------
 2 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/builtin-clean.c b/builtin-clean.c
index 6cad8ea..40d976c 100644
--- a/builtin-clean.c
+++ b/builtin-clean.c
@@ -35,7 +35,6 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
 	const char *path, *base;
 	static const char **pathspec;
 	int prefix_offset = 0;
-	char *seen = NULL;
 	struct option options[] = {
 		OPT__QUIET(&quiet),
 		OPT__DRY_RUN(&show_only),
@@ -89,9 +88,6 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
 	read_directory(&dir, path, base, baselen, pathspec);
 	strbuf_init(&directory, 0);
 
-	if (pathspec)
-		seen = xmalloc(argc);
-
 	for (i = 0; i < dir.nr; i++) {
 		struct dir_entry *ent = dir.entries[i];
 		int len, pos, matches;
@@ -125,9 +121,8 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
 			continue;
 
 		if (pathspec) {
-			memset(seen, 0, argc);
 			matches = match_pathspec(pathspec, ent->name, ent->len,
-						 baselen, seen);
+						 baselen, NULL);
 		} else {
 			matches = 0;
 		}
@@ -165,7 +160,6 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
 			unlink(ent->name);
 		}
 	}
-	free(seen);
 
 	strbuf_release(&directory);
 	return 0;
diff --git a/dir.c b/dir.c
index 3e345c2..6af70ac 100644
--- a/dir.c
+++ b/dir.c
@@ -88,32 +88,38 @@ static int match_one(const char *match, const char *name, int namelen)
 
 /*
  * Given a name and a list of pathspecs, see if the name matches
- * any of the pathspecs.  The caller is also interested in seeing
- * all pathspec matches some names it calls this function with
- * (otherwise the user could have mistyped the unmatched pathspec),
- * and a mark is left in seen[] array for pathspec element that
- * actually matched anything.
+ * any of the pathspecs.
+ * If the caller is interested in which of the pathspecs matched,
+ * seen needs to point to a char array with as many members as there
+ * are pathspecs.  A mark is left at the nth element of the nth
+ * pathspec matched the name.  The marks are not reset, so the
+ * caller can check, after matching a list of files, if there are
+ * any unmatched pathspecs (which might have been mistyped).
  */
 int match_pathspec(const char **pathspec, const char *name, int namelen, int prefix, char *seen)
 {
-	int retval;
-	const char *match;
+	int retval = 0;
 
 	name += prefix;
 	namelen -= prefix;
 
-	for (retval = 0; (match = *pathspec++) != NULL; seen++) {
+	while (*pathspec) {
+		const char *match = *pathspec++;
 		int how;
-		if (retval && *seen == MATCHED_EXACTLY)
+
+		if (retval && seen && *seen == MATCHED_EXACTLY)
 			continue;
+
 		match += prefix;
 		how = match_one(match, name, namelen);
 		if (how) {
 			if (retval < how)
 				retval = how;
-			if (*seen < how)
+			if (seen && *seen < how)
 				*seen = how;
 		}
+		if (seen)
+			seen++;
 	}
 	return retval;
 }

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* Re: [ANNOUNCE] GIT 1.5.4-rc3
  2008-01-12  9:04       ` Jeff King
                           ` (2 preceding siblings ...)
  2008-01-12 13:01         ` [ANNOUNCE] GIT 1.5.4-rc3 René Scharfe
@ 2008-01-12 13:10         ` Ismail Dönmez
  2008-01-12 16:57         ` Johannes Schindelin
  2008-01-12 19:09         ` Junio C Hamano
  5 siblings, 0 replies; 29+ messages in thread
From: Ismail Dönmez @ 2008-01-12 13:10 UTC (permalink / raw)
  To: Jeff King; +Cc: Junio C Hamano, git

Saturday 12 January 2008 11:04:32 tarihinde Jeff King şunları yazmıştı:
> On Sat, Jan 12, 2008 at 09:47:48AM +0200, Ismail Dönmez wrote:
> > So looks like tests no longer work as root, so I run make test as normal
> > user and I now see t7300-clean.sh fail, this time a real failure:
> >
> > Removing part3.c
> > ./test-lib.sh: line 193: 19413 Aborted                 git-clean
> > * FAIL 5: git-clean with prefix
>
> I couldn't reproduce this just running the test, but running it under
> valgrind showed a memory access error. Fix is below.
>
> Junio, can you please sanity check this fix (it stops the valgrind
> error, but I want to make sure my assumptions about match_pathspec are
> right).
>
> -- >8 --
> git-clean: fix off-by-one memory access when given no arguments
>
> The "seen" variable is used by match_pathspec, and must have
> as many elements as there are in the given pathspec. We
> create the pathspec either from the command line arguments
> _or_ from just the current prefix.
>
> Thus allocating "seen" based upon just argc is wrong, since
> if argc == 0, then we still have one pathspec, the prefix,
> but we don't allocate any space in "seen".
>
> Signed-off-by: Jeff King <peff@peff.net>

Thanks Jefff, this fixes t7300-clean.sh for me.

Tested-by: İsmail Dönmez <ismail@pardus.org.tr>

Regards,
ismail


-- 
Never learn by your mistakes, if you do you may never dare to try again.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [ANNOUNCE] GIT 1.5.4-rc3
  2008-01-12  7:11 [ANNOUNCE] GIT 1.5.4-rc3 Junio C Hamano
  2008-01-12  7:26 ` Ismail Dönmez
@ 2008-01-12 14:24 ` Roger C. Soares
  2008-01-12 19:13   ` Junio C Hamano
       [not found] ` <7vsl13wmas.fsf-jO8aZxhGsIagbBziECNbOZn29agUkmeCHZ5vskTnxNA@public.gmane.org>
  2008-01-21  2:37 ` [ANNOUNCE] GIT 1.5.4-rc4 Junio C Hamano
  3 siblings, 1 reply; 29+ messages in thread
From: Roger C. Soares @ 2008-01-12 14:24 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git


Junio C Hamano escreveu:
> The third rc for the next feature release GIT 1.5.4 is available
> at the usual places:
>
>   http://www.kernel.org/pub/software/scm/git/
>
>   git-1.5.4.rc3.tar.{gz,bz2}			(tarball)
>   git-htmldocs-1.5.4.rc3.tar.{gz,bz2}		(preformatted docs)
>   git-manpages-1.5.4.rc3.tar.{gz,bz2}		(preformatted docs)
>   testing/git-*-1.5.4.rc3-1.$arch.rpm	(RPM)
>   
Don't know if you already have some recomendation for RHEL5 users, so 
just reporting what I had to do to install the rpms.

To start, I already had git installed from EPEL.
Downloaded perl-Error from 
http://dag.wieers.com/rpm/packages/perl-Error/ to satisfy dependencies. 
There was another dependacy for git-arch I think, but as I don't need it 
I just deleted this one.
When trying to install perl-Error it conflicted with perl-Git from EPEL. 
I think they included perl-Error files inside their perl-Git rpm.
So, after uninstalling all git rpms from EPEL, installing perl-Error 
from dag.wieers, the rc3 git rpms installed successfully.

[]s,
Roger.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [ANNOUNCE] GIT 1.5.4-rc3
  2008-01-12  9:04       ` Jeff King
                           ` (3 preceding siblings ...)
  2008-01-12 13:10         ` Ismail Dönmez
@ 2008-01-12 16:57         ` Johannes Schindelin
  2008-01-12 18:09           ` Jeff King
  2008-01-12 19:09         ` Junio C Hamano
  5 siblings, 1 reply; 29+ messages in thread
From: Johannes Schindelin @ 2008-01-12 16:57 UTC (permalink / raw)
  To: Jeff King; +Cc: Ismail Dönmez, Junio C Hamano, git

Hi,

On Sat, 12 Jan 2008, Jeff King wrote:

> diff --git a/builtin-clean.c b/builtin-clean.c
> index 6cad8ea..eb853a3 100644
> --- a/builtin-clean.c
> +++ b/builtin-clean.c
> @@ -90,7 +90,7 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
>  	strbuf_init(&directory, 0);
>  
>  	if (pathspec)
> -		seen = xmalloc(argc);
> +		seen = xmalloc(argc > 0 ? argc : 1);
>  
>  	for (i = 0; i < dir.nr; i++) {
>  		struct dir_entry *ent = dir.entries[i];
> @@ -125,7 +125,7 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
>  			continue;
>  
>  		if (pathspec) {
> -			memset(seen, 0, argc);
> +			memset(seen, 0, argc > 0 ? argc : 1);
>  			matches = match_pathspec(pathspec, ent->name, ent->len,
>  						 baselen, seen);
>  		} else {

Would it not be better to guard the memset by an "if (argc)", and set 
"seen" to NULL by default?

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: valgrind test script integration
  2008-01-12 11:36           ` Jeff King
@ 2008-01-12 17:10             ` Johannes Schindelin
  2008-01-12 18:12               ` Jeff King
  0 siblings, 1 reply; 29+ messages in thread
From: Johannes Schindelin @ 2008-01-12 17:10 UTC (permalink / raw)
  To: Jeff King; +Cc: git

Hi,

On Sat, 12 Jan 2008, Jeff King wrote:

> On Sat, Jan 12, 2008 at 06:10:44AM -0500, Jeff King wrote:
> 
> >  - We only catch calls to 'git', not 'git-foo' (and in fact for that
> >    reason this doesn't catch the t7300 bug by itself, since that uses
> >    git-clean). A follow-on patch will deal with this.
> 
> And here it is.
> 
> [...]
> 
> Obviously another route would be intercepting git-* calls, as well, but 
> my impression is that we are ultimately heading towards a "git foo is 
> the right way" situation, in which case this cleanup is eventually 
> necessary anyway.

Nevertheless, I think that would be better.

BTW does your first patch cope with scripts properly? (I.e. also valgrind 
the git programs called by the script)

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [ANNOUNCE] GIT 1.5.4-rc3
  2008-01-12 16:57         ` Johannes Schindelin
@ 2008-01-12 18:09           ` Jeff King
  0 siblings, 0 replies; 29+ messages in thread
From: Jeff King @ 2008-01-12 18:09 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Ismail Dönmez, Junio C Hamano, git

On Sat, Jan 12, 2008 at 05:57:49PM +0100, Johannes Schindelin wrote:

> >  		if (pathspec) {
> > -			memset(seen, 0, argc);
> > +			memset(seen, 0, argc > 0 ? argc : 1);
> >  			matches = match_pathspec(pathspec, ent->name, ent->len,
> >  						 baselen, seen);
> >  		} else {
> 
> Would it not be better to guard the memset by an "if (argc)", and set 
> "seen" to NULL by default?

I am not sure what you mean by "guard with if (argc)"; it needs to be
memset in either case (either with N slots, or with 1 if no argc). Seen
could not be NULL previously, but Rene's patch makes that possible.

-Peff

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: valgrind test script integration
  2008-01-12 17:10             ` Johannes Schindelin
@ 2008-01-12 18:12               ` Jeff King
  0 siblings, 0 replies; 29+ messages in thread
From: Jeff King @ 2008-01-12 18:12 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: git

On Sat, Jan 12, 2008 at 06:10:30PM +0100, Johannes Schindelin wrote:

> Nevertheless, I think that would be better.
> 
> BTW does your first patch cope with scripts properly? (I.e. also valgrind 
> the git programs called by the script)

No. To do that, you would need to set up an alternate directory at the
head of the PATH with 'git' in it (and git-*, for everything we want to
intercept, which I think would be all builtins, but probably not scripts
(unless you want to run valgrind on perl or bash, which is probably not
useful to us)).

I started down that route, but it was a little ugly. How do we make that
directory? Where is it stored? Is it generated each time the test script
is run, or part of the Makefile?

-Peff

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [ANNOUNCE] GIT 1.5.4-rc3
  2008-01-12  9:04       ` Jeff King
                           ` (4 preceding siblings ...)
  2008-01-12 16:57         ` Johannes Schindelin
@ 2008-01-12 19:09         ` Junio C Hamano
  5 siblings, 0 replies; 29+ messages in thread
From: Junio C Hamano @ 2008-01-12 19:09 UTC (permalink / raw)
  To: Jeff King; +Cc: Ismail Dönmez, git

Jeff King <peff@peff.net> writes:

> It might be more readable to actually set a variable pathspec_size and
> use that.

Ahh.

Yes, the "seen" thing as Réne suggests is moderately painful to
get right and in the longer run I think we need an API clean-up
around pathspec handling.  In any case, the fix looks correct.

Thanks for catching this.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [ANNOUNCE] GIT 1.5.4-rc3
  2008-01-12 14:24 ` Roger C. Soares
@ 2008-01-12 19:13   ` Junio C Hamano
  0 siblings, 0 replies; 29+ messages in thread
From: Junio C Hamano @ 2008-01-12 19:13 UTC (permalink / raw)
  To: Roger C. Soares; +Cc: git

"Roger C. Soares" <rogersoares@intelinet.com.br> writes:

> To start, I already had git installed from EPEL.
> Downloaded perl-Error from
> http://dag.wieers.com/rpm/packages/perl-Error/ to satisfy
> dependencies. There was another dependacy for git-arch I think, but as
> I don't need it I just deleted this one.
> When trying to install perl-Error it conflicted with perl-Git from
> EPEL. I think they included perl-Error files inside their perl-Git rpm.
> So, after uninstalling all git rpms from EPEL, installing perl-Error
> from dag.wieers, the rc3 git rpms installed successfully.

Thanks for your report.

I do not know what EPEL is (sorry, I do not live in RPM land),
but I think a package perl-Git that includes perl-Error is
misbuilt.  We are not the official source of where the users
should get perl-Error from.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [ANNOUNCE] GIT 1.5.4-rc3
       [not found] ` <7vsl13wmas.fsf-jO8aZxhGsIagbBziECNbOZn29agUkmeCHZ5vskTnxNA@public.gmane.org>
@ 2008-01-13 14:41   ` Steffen Prohaska
  0 siblings, 0 replies; 29+ messages in thread
From: Steffen Prohaska @ 2008-01-13 14:41 UTC (permalink / raw)
  To: Git Mailing List, msysGit; +Cc: Junio C Hamano



On Jan 12, 2008, at 8:11 AM, Junio C Hamano wrote:

> The third rc for the next feature release GIT 1.5.4 is available
> at the usual places:


The msysgit setup is available at:

   http://code.google.com/p/msysgit/downloads/

	Steffen

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [ANNOUNCE] GIT 1.5.4-rc4
  2008-01-12  7:11 [ANNOUNCE] GIT 1.5.4-rc3 Junio C Hamano
                   ` (2 preceding siblings ...)
       [not found] ` <7vsl13wmas.fsf-jO8aZxhGsIagbBziECNbOZn29agUkmeCHZ5vskTnxNA@public.gmane.org>
@ 2008-01-21  2:37 ` Junio C Hamano
       [not found]   ` <7vsl0r3nvc.fsf-jO8aZxhGsIagbBziECNbOZn29agUkmeCHZ5vskTnxNA@public.gmane.org>
  2008-01-28 10:56   ` [ANNOUNCE] GIT 1.5.4-rc5 Junio C Hamano
  3 siblings, 2 replies; 29+ messages in thread
From: Junio C Hamano @ 2008-01-21  2:37 UTC (permalink / raw)
  To: git; +Cc: linux-kernel

The fourth rc for the next feature release GIT 1.5.4 is available
at the usual places:

  http://www.kernel.org/pub/software/scm/git/

  git-1.5.4.rc4.tar.{gz,bz2}			(tarball)
  git-htmldocs-1.5.4.rc4.tar.{gz,bz2}		(preformatted docs)
  git-manpages-1.5.4.rc4.tar.{gz,bz2}		(preformatted docs)
  RPMS/$arch/git-*-1.5.4.rc4-1.$arch.rpm	(RPM)

I was hoping that this would be the last rc before 1.5.4 final,
and in fact the change between -rc3 and -rc4 is fairly small.

Notable fixes are:

 * http-push fixes (Grégoire Barbier);
 * fix to performance regression during partial commit (Linus);
 * ref/heads are now enforced to point at commit (Linus);
 * fix for fast-import reading some part of its own output (Shawn);
 * "diff --color-words" showed unchanged lines in metainfo color (Jeff King);

Also we have a handful gitk and git-gui updates.

This however still lacks two patches that I think we might want
in the final (please see "What's not in 'master'" message). I
asked for comments but I guess they were lost in the noise or
something.  It's not a very good sign that we had too many
discussions on the list that are totally unrelated to 1.5.4, and
I had to scroll back more than 1000 articles to skip them to
find the announcement for the -rc3 X-<.  So we will either have
another rc to include those two fixes after getting feedbacks,
or ship the final one with two known breakages.  The former
would be preferred, and it would be better if they can be done
earlier.

Even though we had some RPM specfile changes that I cannot
easily check myself, nobody reported breakages after -rc3.  I am
taking this as "no news is a good news", but it may turn out
that nobody has been testing/double-checking, and it may come
back and bite us when we do the final one.  That's also
something I cannot do much about.

But other than that, I think we are in good shape.

----------------------------------------------------------------

Changes since v1.5.4-rc3 are as follows:

Bill Lear (1):
      Correct spelling in diff.c comment

Brandon Casey (4):
      close_lock_file(): new function in the lockfile API
      Improve use of lockfile API
      refs.c: rework ref_locks by abstracting from underlying struct lock_file
      fast-import.c: don't try to commit marks file if write failed

Christian Couder (2):
      git-gui: Initial french translation
      git-gui: add french glossary: glossary/fr.po

Christian Stimming (4):
      git-gui: Update glossary: add term "hunk"
      git-gui: Update German translation
      git-gui: Fix broken revert confirmation.
      git-gui: Improve German translation.

Dan McGee (3):
      Remove usage of git- (dash) commands from email hook
      cvsimport: remove last use of repo-config from git standard tools
      Update git-completion for new 'remote rm' option

Dave Peticolas (1):
      Documentation: fix and clarify grammar in git-merge docs.

Dmitry Potapov (1):
      treat any file with NUL as binary

Eric Wong (1):
      git-svn: handle leading/trailing whitespace from svnsync revprops

Grégoire Barbier (4):
      http-push: disable http-push without USE_CURL_MULTI
      http-push: fix webdav lock leak.
      http-push: fail when info/refs exists and is already locked
      http-push and http-fetch: handle URLs without trailing /

Jakub Narebski (1):
      autoconf: Add checking for unsetenv function

Jean-Luc Herren (1):
      Make default pre-commit hook less noisy

Jeff King (5):
      git-clean: fix off-by-one memory access when given no arguments
      color unchanged lines as "plain" in "diff --color-words"
      send-email: detect invocation errors earlier
      send-email: validate patches before sending anything
      send-email: add no-validate option

Jim Meyering (2):
      fast-import: Don't use a maybe-clobbered errno value
      doc typo: s/prior committing/prior to committing/

Johannes Schindelin (1):
      gitk: make Ctrl "+" really increase the font size

Junio C Hamano (8):
      builtin-commit.c: remove useless check added by faulty cut and paste
      Revert "builtin-commit.c: remove useless check added by faulty cut and paste"
      Fix git-rerere documentation
      Squelch bogus progress output from git-rebase--interactive
      Document lockfile API
      Officially deprecate repo-config.
      http-push: clarify the reason of error from the initial PROPFIND request
      GIT 1.5.4-rc4

Kristian Høgsberg (1):
      git-commit: fix double close(2) that can close a wrong file descriptor

Lars Hjemli (1):
      Move sha1_file_to_archive into libgit

Linus Torvalds (4):
      Fix performance regression for partial commits
      Make builtin-commit.c more careful about parenthood
      Make 'git fsck' complain about non-commit branches
      Be more careful about updating refs

Mark Drago (1):
      hg-to-git: improve popen calls

Mark Levedahl (1):
      git-gui: Makefile - Handle $DESTDIR on Cygwin

Martin Koegler (1):
      parse_commit_buffer: tighten checks while parsing

Miklos Vajna (3):
      Add using merge subtree How-To
      ls-remote: add -t and -h options.
      Include rev-list options in git-log manpage.

Peter Karlsson (1):
      git-gui: Updated Swedish translation after mailing list review.

Shawn O. Pearce (3):
      git-gui: Allow 'Create New Repository' on existing directories
      git-gui: Refresh file status description after hunk application
      Fix random fast-import errors when compiled with NO_MMAP

Thomas Zander (1):
      core-tutorial typofix

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [ANNOUNCE] GIT 1.5.4-rc4
       [not found]   ` <7vsl0r3nvc.fsf-jO8aZxhGsIagbBziECNbOZn29agUkmeCHZ5vskTnxNA@public.gmane.org>
@ 2008-01-21 22:22     ` Steffen Prohaska
       [not found]       ` <BB330DC7-9F38-4D41-85A2-D475701B6083-wjoc1KHpMeg@public.gmane.org>
  0 siblings, 1 reply; 29+ messages in thread
From: Steffen Prohaska @ 2008-01-21 22:22 UTC (permalink / raw)
  To: Git Mailing List, msysGit; +Cc: Junio C Hamano



On Jan 21, 2008, at 3:37 AM, Junio C Hamano wrote:

> The fourth rc for the next feature release GIT 1.5.4 is available
> at the usual places:

The matching msysgit setup is available at

   http://code.google.com/p/msysgit/downloads/

Commands that are not yet supported on Windows are no longer
included in the setup.  If you find any commands that should
not be included, please report this to the msysgit list.

I haven't pushed the branches because repo.or.cz seems to have
problems.

	Steffen

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [ANNOUNCE] GIT 1.5.4-rc4
       [not found]       ` <BB330DC7-9F38-4D41-85A2-D475701B6083-wjoc1KHpMeg@public.gmane.org>
@ 2008-01-22  1:21         ` Johannes Schindelin
       [not found]           ` <alpine.LSU.1.00.0801220121300.5731-OGWIkrnhIhzN0uC3ymp8PA@public.gmane.org>
  0 siblings, 1 reply; 29+ messages in thread
From: Johannes Schindelin @ 2008-01-22  1:21 UTC (permalink / raw)
  To: Steffen Prohaska; +Cc: Git Mailing List, msysGit, Junio C Hamano


Hi,

On Mon, 21 Jan 2008, Steffen Prohaska wrote:

> I haven't pushed the branches because repo.or.cz seems to have problems.

Can you elaborate?  What kind of problems?

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [ANNOUNCE] GIT 1.5.4-rc4
       [not found]           ` <alpine.LSU.1.00.0801220121300.5731-OGWIkrnhIhzN0uC3ymp8PA@public.gmane.org>
@ 2008-01-22  5:50             ` Steffen Prohaska
  0 siblings, 0 replies; 29+ messages in thread
From: Steffen Prohaska @ 2008-01-22  5:50 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Git Mailing List, msysGit, Junio C Hamano



On Jan 22, 2008, at 2:21 AM, Johannes Schindelin wrote:

> Hi,
>
> On Mon, 21 Jan 2008, Steffen Prohaska wrote:
>
>> I haven't pushed the branches because repo.or.cz seems to have  
>> problems.
>
> Can you elaborate?  What kind of problems?

I got DNS lookup failures and could not connect.  Now it works
and I pushed.

	Steffen

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [ANNOUNCE] GIT 1.5.4-rc5
  2008-01-21  2:37 ` [ANNOUNCE] GIT 1.5.4-rc4 Junio C Hamano
       [not found]   ` <7vsl0r3nvc.fsf-jO8aZxhGsIagbBziECNbOZn29agUkmeCHZ5vskTnxNA@public.gmane.org>
@ 2008-01-28 10:56   ` Junio C Hamano
  2008-01-28 18:38     ` Jeff King
  2008-01-29  6:06     ` Steffen Prohaska
  1 sibling, 2 replies; 29+ messages in thread
From: Junio C Hamano @ 2008-01-28 10:56 UTC (permalink / raw)
  To: git; +Cc: linux-kernel

The fifth and hopefully the last rc for the next feature release
GIT 1.5.4 is available at the usual places:

  http://www.kernel.org/pub/software/scm/git/

  git-1.5.4.rc5.tar.{gz,bz2}			(tarball)
  git-htmldocs-1.5.4.rc5.tar.{gz,bz2}		(preformatted docs)
  git-manpages-1.5.4.rc5.tar.{gz,bz2}		(preformatted docs)
  RPMS/$arch/git-*-1.5.4.rc5-1.$arch.rpm	(RPM)

The changes since -rc4 are quite small, and except for git-gui
updates they are all reasonably trivial fixes.  Please give it a
good testing.

----------------------------------------------------------------

Changes since v1.5.4-rc4 are as follows:

 Documentation/RelNotes-1.5.4.txt |   37 ++++++---
 Documentation/fetch-options.txt  |   12 ++-
 Documentation/git-clone.txt      |    8 ++
 Documentation/git-http-push.txt  |    3 +
 Documentation/git-pull.txt       |    7 ++-
 Documentation/git-send-email.txt |    2 +
 Documentation/git-submodule.txt  |    5 +-
 Documentation/git-svn.txt        |   11 ++-
 GIT-VERSION-GEN                  |    2 +-
 Makefile                         |   18 ++++-
 builtin-commit.c                 |   15 +++-
 builtin-pack-objects.c           |    3 +-
 config.mak.in                    |    1 +
 configure.ac                     |    6 ++
 fast-import.c                    |   65 ++++++++++++++-
 git-compat-util.h                |    2 +
 git-cvsserver.perl               |    9 ++-
 git-gui/Makefile                 |    5 +-
 git-gui/git-gui.sh               |   28 ++++++
 git-gui/lib/choose_rev.tcl       |    3 +-
 git-gui/lib/commit.tcl           |  149 +++++++++++++++++++++------------
 git-gui/lib/error.tcl            |   18 ++--
 git-gui/po/glossary/fr.po        |   26 +++---
 git-gui/po/po2msg.sh             |   25 +++++-
 git-pull.sh                      |   12 +++-
 git-send-email.perl              |    2 +-
 git-submodule.sh                 |  169 +++++++++++++++++++++++++++-----------
 git-svn.perl                     |   10 +--
 http.h                           |    8 ++
 parse-options.c                  |   30 ++++++-
 t/t0040-parse-options.sh         |   11 +++
 t/t5520-pull.sh                  |   17 ++++
 t/t5710-info-alternate.sh        |   12 ++-
 t/t7400-submodule-basic.sh       |   56 ++++++------
 t/t9400-git-cvsserver-server.sh  |   17 +++-
 test-parse-options.c             |    1 +
 36 files changed, 596 insertions(+), 209 deletions(-)

Alex Riesen (1):
      Make t5710 more strict when creating nested repos

Brandon Casey (1):
      git-commit: exit non-zero if we fail to commit the index

Eric Wong (1):
      git-svn: default to repacking every 1000 commits

Gustaf Hendeby (1):
      send-email, fix breakage in combination with --compose

Jakub Narebski (1):
      autoconf: define NO_SYS_SELECT_H on systems without <sys/select.h>.

Johannes Schindelin (1):
      pull --rebase: be cleverer with rebased upstream branches

Junio C Hamano (5):
      git-submodule: rename shell functions for consistency
      git-submodule: fix subcommand parser
      git-submodule: add test for the subcommand parser fix
      Clarify that http-push being temporarily disabled with older cURL
      GIT 1.5.4-rc5

Mike Hommey (2):
      Add a missing dependency on http.h
      Documentation: add a bit about sendemail.to configuration

Miklos Vajna (2):
      git-clone -s: document problems with git gc --prune
      git pull manpage: don't include -n from fetch-options.txt

Nicolas Pitre (1):
      pack-objects: Fix segfault when object count is less than thread count

Pierre Habouzit (1):
      parse-options: catch likely typo in presense of aggregated options.

Robert Schiele (2):
      pre-POSIX.1-2001 systems do not have <sys/select.h>
      Makefile: customization for supporting HP-UX

Sam Vilain (1):
      git-svn(1): update instructions for resuming a git-svn clone

Shawn O. Pearce (10):
      git-gui: Honor the standard commit-msg hook
      git-gui: Correct window title for hook failure dialogs
      git-gui: Consolidate hook execution code into a single function
      git-gui: Correct encoding of glossary/fr.po to UTF-8
      Teach fast-import to honor pack.compression and pack.depth
      Document the hairy gfi_unpack_entry part of fast-import
      git-gui: Work around random missing scrollbar in revision list
      git-gui: Fallback to Tcl based po2msg.sh if msgfmt isn't available
      git-gui: Make the statistics of po2msg match those of msgfmt
      git-gui: Correctly cleanup msgfmt '1 message untranslated' output

Steffen Prohaska (3):
      submodule: Document the details of the command line syntax
      t9400-git-cvsserver-server: Wrap setup into test case
      cvsserver: Fix for histories with multiple roots

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [ANNOUNCE] GIT 1.5.4-rc5
  2008-01-28 10:56   ` [ANNOUNCE] GIT 1.5.4-rc5 Junio C Hamano
@ 2008-01-28 18:38     ` Jeff King
  2008-01-29  0:36       ` Gustaf Hendeby
  2008-01-29  1:25       ` Junio C Hamano
  2008-01-29  6:06     ` Steffen Prohaska
  1 sibling, 2 replies; 29+ messages in thread
From: Jeff King @ 2008-01-28 18:38 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

On Mon, Jan 28, 2008 at 02:56:41AM -0800, Junio C Hamano wrote:

> Gustaf Hendeby (1):
>       send-email, fix breakage in combination with --compose

I submitted a followup test for this problem, but there was no
response. Can I please get an ACK/NAK/"resend after 1.5.4"?

For reference, the original message-id was:

  <20080122032353.GB24758@coredump.intra.peff.net>

-Peff

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [ANNOUNCE] GIT 1.5.4-rc5
  2008-01-28 18:38     ` Jeff King
@ 2008-01-29  0:36       ` Gustaf Hendeby
  2008-01-29  1:25       ` Junio C Hamano
  1 sibling, 0 replies; 29+ messages in thread
From: Gustaf Hendeby @ 2008-01-29  0:36 UTC (permalink / raw)
  To: Jeff King; +Cc: Junio C Hamano, git

On 01/28/2008 07:38 PM, Jeff King wrote:
> On Mon, Jan 28, 2008 at 02:56:41AM -0800, Junio C Hamano wrote:
> 
>> Gustaf Hendeby (1):
>>       send-email, fix breakage in combination with --compose
> 
> I submitted a followup test for this problem, but there was no
> response. Can I please get an ACK/NAK/"resend after 1.5.4"?

FWIW, I think it looks like a good extension to the test suit,
but the added option should probably put it post 1.5.4 just to
play it safe?  I also think it is the right thing to do not to
document that new option.

The last patch also needs a trivial fix-up to apply nicely.

/Gustaf

> 
> For reference, the original message-id was:
> 
>   <20080122032353.GB24758@coredump.intra.peff.net>

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [ANNOUNCE] GIT 1.5.4-rc5
  2008-01-28 18:38     ` Jeff King
  2008-01-29  0:36       ` Gustaf Hendeby
@ 2008-01-29  1:25       ` Junio C Hamano
  2008-01-29  1:29         ` Jeff King
  1 sibling, 1 reply; 29+ messages in thread
From: Junio C Hamano @ 2008-01-29  1:25 UTC (permalink / raw)
  To: Jeff King; +Cc: git

Jeff King <peff@peff.net> writes:

> On Mon, Jan 28, 2008 at 02:56:41AM -0800, Junio C Hamano wrote:
>
>> Gustaf Hendeby (1):
>>       send-email, fix breakage in combination with --compose
>
> I submitted a followup test for this problem, but there was no
> response. Can I please get an ACK/NAK/"resend after 1.5.4"?
>
> For reference, the original message-id was:
>
>   <20080122032353.GB24758@coredump.intra.peff.net>

Heh, that's aonly a week ago but already you need to dig almost
500 messages back to get there.  That MacOSX thread really
killed our human performance.

[1/3] is Ok, probably even for 1.5.4.

[2/3] The use of "test -e" slightly ticked my compatibility
worry (instead use "test -f" or "test -d" when able) but non
prehistoric POSIX systems should grok it just fine these days.

[3/3] as you said was questionable in its introduction of a flag
that used primarily for testing.  Since the whole point of [2/3]
is to make [3/3] possible, I was inclined to put both on hold.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [ANNOUNCE] GIT 1.5.4-rc5
  2008-01-29  1:25       ` Junio C Hamano
@ 2008-01-29  1:29         ` Jeff King
  0 siblings, 0 replies; 29+ messages in thread
From: Jeff King @ 2008-01-29  1:29 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

On Mon, Jan 28, 2008 at 05:25:31PM -0800, Junio C Hamano wrote:

> Heh, that's aonly a week ago but already you need to dig almost
> 500 messages back to get there.  That MacOSX thread really
> killed our human performance.
> 
> [1/3] is Ok, probably even for 1.5.4.
> 
> [2/3] The use of "test -e" slightly ticked my compatibility
> worry (instead use "test -f" or "test -d" when able) but non
> prehistoric POSIX systems should grok it just fine these days.
> 
> [3/3] as you said was questionable in its introduction of a flag
> that used primarily for testing.  Since the whole point of [2/3]
> is to make [3/3] possible, I was inclined to put both on hold.

That all sounds reasonable. I will rebase and resubmit after 1.5.4, with
2/3 using "test -f" and 3/3 matching Gustaf's fix (and 1/3 included if
you do not apply it beforehand).

Thanks for the response.

-Peff

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [ANNOUNCE] GIT 1.5.4-rc5
  2008-01-28 10:56   ` [ANNOUNCE] GIT 1.5.4-rc5 Junio C Hamano
  2008-01-28 18:38     ` Jeff King
@ 2008-01-29  6:06     ` Steffen Prohaska
  1 sibling, 0 replies; 29+ messages in thread
From: Steffen Prohaska @ 2008-01-29  6:06 UTC (permalink / raw)
  To: Git Mailing List; +Cc: Junio C Hamano


On Jan 28, 2008, at 11:56 AM, Junio C Hamano wrote:

> The fifth and hopefully the last rc for the next feature release
> GIT 1.5.4 is available at the usual places:

msysgit's Windows setup is now available at

    http://code.google.com/p/msysgit/downloads

	Steffen

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2008-01-29  6:05 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-12  7:11 [ANNOUNCE] GIT 1.5.4-rc3 Junio C Hamano
2008-01-12  7:26 ` Ismail Dönmez
2008-01-12  7:34   ` Junio C Hamano
2008-01-12  7:47     ` Ismail Dönmez
2008-01-12  8:04       ` Junio C Hamano
2008-01-12  9:04       ` Jeff King
2008-01-12  9:05         ` Jeff King
2008-01-12 11:10         ` valgrind test script integration Jeff King
2008-01-12 11:36           ` Jeff King
2008-01-12 17:10             ` Johannes Schindelin
2008-01-12 18:12               ` Jeff King
2008-01-12 13:01         ` [ANNOUNCE] GIT 1.5.4-rc3 René Scharfe
2008-01-12 13:10         ` Ismail Dönmez
2008-01-12 16:57         ` Johannes Schindelin
2008-01-12 18:09           ` Jeff King
2008-01-12 19:09         ` Junio C Hamano
2008-01-12 14:24 ` Roger C. Soares
2008-01-12 19:13   ` Junio C Hamano
     [not found] ` <7vsl13wmas.fsf-jO8aZxhGsIagbBziECNbOZn29agUkmeCHZ5vskTnxNA@public.gmane.org>
2008-01-13 14:41   ` Steffen Prohaska
2008-01-21  2:37 ` [ANNOUNCE] GIT 1.5.4-rc4 Junio C Hamano
     [not found]   ` <7vsl0r3nvc.fsf-jO8aZxhGsIagbBziECNbOZn29agUkmeCHZ5vskTnxNA@public.gmane.org>
2008-01-21 22:22     ` Steffen Prohaska
     [not found]       ` <BB330DC7-9F38-4D41-85A2-D475701B6083-wjoc1KHpMeg@public.gmane.org>
2008-01-22  1:21         ` Johannes Schindelin
     [not found]           ` <alpine.LSU.1.00.0801220121300.5731-OGWIkrnhIhzN0uC3ymp8PA@public.gmane.org>
2008-01-22  5:50             ` Steffen Prohaska
2008-01-28 10:56   ` [ANNOUNCE] GIT 1.5.4-rc5 Junio C Hamano
2008-01-28 18:38     ` Jeff King
2008-01-29  0:36       ` Gustaf Hendeby
2008-01-29  1:25       ` Junio C Hamano
2008-01-29  1:29         ` Jeff King
2008-01-29  6:06     ` Steffen Prohaska

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).