{"thread":{"id":"11598","subject":"[ANNOUNCE] GIT 1.5.4-rc3","startedAt":"2008-01-12T07:11:23Z","lastAt":"2008-01-29T06:06:03Z","messageCount":29,"participants":["Junio C Hamano","Ismail Dönmez","Jeff King","René Scharfe","Roger C. Soares","Johannes Schindelin","Steffen Prohaska","Gustaf Hendeby"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"65138","messageId":"7vsl13wmas.fsf@gitster.siamese.dyndns.org","threadId":"11598","inReplyTo":null,"subject":"[ANNOUNCE] GIT 1.5.4-rc3","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-01-12T07:11:23Z","receivedAt":"2008-01-12T07:11:23Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"The third rc for the next feature release GIT 1.5.4 is available\nat the usual places:\n\n  http://www.kernel.org/pub/software/scm/git/\n\n  git-1.5.4.rc3.tar.{gz,bz2}\t\t\t(tarball)\n  git-htmldocs-1.5.4.rc3.tar.{gz,bz2}\t\t(preformatted docs)\n  git-manpages-1.5.4.rc3.tar.{gz,bz2}\t\t(preformatted docs)\n  testing/git-*-1.5.4.rc3-1.$arch.rpm\t(RPM)\n\nSorry, this is a few days late than I promised.  Partly due to\nday-job pressure, partly because I am not familiar with RPM spec\nfile and ended up failing to get the spec file into a reasonable\nshape after gitk i18n merge more than twice, and partly because\nI involved myself to discussion on the list I should not have\nbeen deeply involved in during the rc freeze.\n\nIn any case, we managed to keep the changes only to fixes (both\ncode and documentation) this round, aside from the promised gitk\ni18n enhancements.  This should be pretty much the same as what\nwe will have in final, hopefully due by the end of the month.\n\nPlease give it a good beating.  Especially if you care about the\nfinal RPM, and you are familiar with RPM generation, I would\nappreciate extra set of eyeballs to see if dependencies and\nother metainformation is set up correctly, as I do not think\nmany people have tested it.\n\n----------------------------------------------------------------\n\nChanges since v1.5.4-rc2 are as follows:\n\nAlexandre Julliard (6):\n      git.el: Support for getting diffs from inside the log-edit buffer.\n      git.el: Retrieve the permissions for up-to-date files.\n      git.el: Display file types and type changes.\n      git.el: Make sure we never insert the same file twice.\n      git.el: Refresh files from their real state upon commit.\n      git.el: Make status refresh faster.\n\nBernt Hansen (1):\n      git-gui: Make commit log messages end with a newline\n\nBrandon Casey (1):\n      git-relink.txt: describe more clearly how hard linking occurs\n\nCharles Bailey (1):\n      gitk: Fix the Makefile to cope with systems lacking msgfmt\n\nChristian Couder (1):\n      Documentation: config: add 'help.*' and 'instaweb.*' variables.\n\nChristian Stimming (10):\n      gitk i18n: Add Makefile with rules for po file creation and installation\n      gitk i18n: Import msgcat for message string translation; load translation catalogs\n      gitk i18n: Markup several strings for translation\n      gitk i18n: Initial German translation\n      gitk i18n: More markup -- various options menus\n      gitk i18n: Recode gitk from latin1 to utf8 so that the (c) copyright character is valid utf8.\n      gitk: Update and fix Makefile\n      gitk: Update German translation\n      gitk: Fix typo in user message.\n      gitk: Update German translation.\n\nDan McGee (1):\n      Documentation: rename gitlink macro to linkgit\n\nEric Wong (4):\n      git-svn: allow dcommit --no-rebase to commit multiple, dependent changes\n      git-svn: unlink index files that were globbed, too\n      git-svn: support for funky branch and project names over HTTP(S)\n      git-svn: clarify the \"Ignoring error from SVN\" piece\n\nFlorian La Roche (1):\n      Change git-gc documentation to reflect gc.packrefs implementation.\n\nGerrit Pape (1):\n      gitk: use user-configured background in view definition dialog\n\nGrégoire Barbier (1):\n      Fix double-free() in http-push.c:remote_exists()\n\nGustaf Hendeby (1):\n      Documentation/user-manual.txt: fix typo\n\nJ. Bruce Fields (1):\n      Documentation: fix remote.<name>.skipDefaultUpdate description\n\nJames Bowes (1):\n      Make the git metapackage require the same version of the subpackages.\n\nJeff King (8):\n      config: handle lack of newline at end of file better\n      git-reset: refuse to do hard reset in a bare repository\n      add a \"basic\" diff config callback\n      diff: load funcname patterns in \"basic\" config\n      diff: remove lazy config loading\n      add--interactive: remove unused diff colors\n      add--interactive: allow diff colors without interactive colors\n      Document the color.interactive semantics\n\nJim Meyering (3):\n      Fix grammar nits in documentation and in code comments.\n      Don't access line[-1] for a zero-length \"line\" from fgets.\n      bundle, fast-import: detect write failure\n\nJohannes Schindelin (2):\n      Optimize prefixcmp()\n      shortlog: mention the \"-e\" option in the usage\n\nJohannes Sixt (2):\n      git-gui: Move frequently used commands to the top of the context menu.\n      recv_sideband: Do not use ANSI escape sequence on dumb terminals.\n\nJunio C Hamano (27):\n      Documentation/git-submodule.txt: typofix\n      \"git pull --tags\": error out with a better message.\n      git-rebase -i behaves better on commits with incomplete messages\n      git-rebase -i: clean-up error check codepath.\n      lock_any_ref_for_update(): reject wildcard return from check_ref_format\n      Update callers of check_ref_format()\n      Uninline prefixcmp()\n      git-clean: make \"Would remove ...\" path relative to cwd again\n      t/t7600: avoid GNUism in grep\n      t/t{3600,3800,5401}: do not use egrep when grep would do\n      t/t3800: do not use a temporary file to hold expected result.\n      Update draft release notes for 1.5.4\n      git-stash clear: refuse to work with extra parameter for now\n      git-rev-parse --symbolic-full-name\n      filter-branch: work correctly with ambiguous refnames\n      custom pretty format: tolerate empty e-mail address\n      Documentation: remove gitman.info with \"make clean\"\n      Documentation: fix \"gitlink::foobar[s]\"\n      utf8: pick_one_utf8_char()\n      utf8_width(): allow non NUL-terminated input\n      diff: do not chomp hunk-header in the middle of a character\n      Update draft release notes for 1.5.4\n      GIT 1.5.3.8\n      \"git-apply --check\" should not report \"fixed\"\n      pack-objects: remove redundant and wrong call to deflateEnd()\n      RPM spec: include gitk message files.\n      GIT 1.5.4-rc3\n\nKevin Ballard (1):\n      Trim leading / off of paths in git-svn prop_walk\n\nMarco Costalba (2):\n      Document git-reset defaults to HEAD if no commit is given\n      git-stash: use stdout instead of stderr for non error messages\n\nMark Levedahl (2):\n      git-gui: Unconditionally use absolute paths with Cygwin\n      Documentation/Makefile - honor $DESTDIR for quick-install target\n\nMartin Koegler (4):\n      receive-pack: check object type of sha1 before using them as commits\n      receive-pack: reject invalid refnames\n      parse_tag_buffer: don't parse invalid tags\n      tree-walk: don't parse incorrect entries\n\nMichael Stefaniuc (1):\n      git-am: Run git gc only once and not for every patch.\n\nMichele Ballabio (1):\n      Document some default values in config.txt\n\nMiklos Vajna (2):\n      git-sh-setup: document git_editor() and get_author_ident_from_commit()\n      t/t7001: avoid unnecessary ERE when using grep\n\nNicolas Pitre (1):\n      slightly better auto gc message\n\nPaul Mackerras (2):\n      gitk: Recode de.po to UTF-8\n      gitk: Restore some widget options whose defaults changed in Tk 8.5\n\nPeter Karlsson (1):\n      Added Swedish translation.\n\nRalf Wildenhues (1):\n      Documentation: typofix\n\nRogan Dawes (1):\n      Allow git-mergetool to handle paths with a leading space\n\nShawn O. Pearce (1):\n      git-gui: Handle file mode changes (644->755) in diff viewer\n"},{"id":"65140","messageId":"200801120926.14307.ismail@pardus.org.tr","threadId":"11598","inReplyTo":"7vsl13wmas.fsf@gitster.siamese.dyndns.org","subject":"Re: [ANNOUNCE] GIT 1.5.4-rc3","fromName":"Ismail Dönmez","fromEmail":"ismail@pardus.org.tr","sentAt":"2008-01-12T07:26:14Z","receivedAt":"2008-01-12T07:26:14Z","isPatch":false,"sender":{"key":"ismail@pardus.org.tr","avatar":null},"body":"Saturday 12 January 2008 09:11:23 tarihinde Junio C Hamano şunları yazmıştı:\n> The third rc for the next feature release GIT 1.5.4 is available\n> at the usual places:\n>\n>   http://www.kernel.org/pub/software/scm/git/\n>\n>   git-1.5.4.rc3.tar.{gz,bz2}\t\t\t(tarball)\n>   git-htmldocs-1.5.4.rc3.tar.{gz,bz2}\t\t(preformatted docs)\n>   git-manpages-1.5.4.rc3.tar.{gz,bz2}\t\t(preformatted docs)\n>   testing/git-*-1.5.4.rc3-1.$arch.rpm\t(RPM)\n\nI am seeing new failures compared to rc2 :\n\n*** t9200-git-cvsexportcommit.sh ***\n* FAIL 1: New file\n        mkdir A B C D E F &&\n             echo hello1 >A/newfile1.txt &&\n             echo hello2 >B/newfile2.txt &&\n             cp ../test9200a.png C/newfile3.png &&\n             cp ../test9200a.png D/newfile4.png &&\n             git add A/newfile1.txt &&\n             git add B/newfile2.txt &&\n             git add C/newfile3.png &&\n             git add D/newfile4.png &&\n             git commit -a -m \"Test: New file\" &&\n             id=$(git rev-list --max-count=1 HEAD) &&\n             (cd \"$CVSWORK\" &&\n             git cvsexportcommit -c $id &&\n             check_entries A \"newfile1.txt/1.1/\" &&\n             check_entries B \"newfile2.txt/1.1/\" &&\n             check_entries C \"newfile3.png/1.1/-kb\" &&\n             check_entries D \"newfile4.png/1.1/-kb\" &&\n             diff A/newfile1.txt ../A/newfile1.txt &&\n             diff B/newfile2.txt ../B/newfile2.txt &&\n             diff C/newfile3.png ../C/newfile3.png &&\n             diff D/newfile4.png ../D/newfile4.png\n             )\n* FAIL 2: Remove two files, add two and update two\n        echo Hello1 >>A/newfile1.txt &&\n             rm -f B/newfile2.txt &&\n             rm -f C/newfile3.png &&\n             echo Hello5  >E/newfile5.txt &&\n             cp ../test9200b.png D/newfile4.png &&\n             cp ../test9200a.png F/newfile6.png &&\n             git add E/newfile5.txt &&\n             git add F/newfile6.png &&\n             git commit -a -m \"Test: Remove, add and update\" &&\n             id=$(git rev-list --max-count=1 HEAD) &&\n             (cd \"$CVSWORK\" &&\n             git cvsexportcommit -c $id &&\n             check_entries A \"newfile1.txt/1.2/\" &&\n             check_entries B \"\" &&\n             check_entries C \"\" &&\n             check_entries D \"newfile4.png/1.2/-kb\" &&\n             check_entries E \"newfile5.txt/1.1/\" &&\n             check_entries F \"newfile6.png/1.1/-kb\" &&\n             diff A/newfile1.txt ../A/newfile1.txt &&\n             diff D/newfile4.png ../D/newfile4.png &&\n             diff E/newfile5.txt ../E/newfile5.txt &&\n             diff F/newfile6.png ../F/newfile6.png\n             )\n\n* FAIL 4: Remove only binary files\n        git reset --hard HEAD^^ &&\n             rm -f D/newfile4.png &&\n             git commit -a -m \"test: remove only a binary file\" &&\n             id=$(git rev-list --max-count=1 HEAD) &&\n             (cd \"$CVSWORK\" &&\n             git cvsexportcommit -c $id &&\n             check_entries A \"newfile1.txt/1.2/\" &&\n             check_entries B \"\" &&\n             check_entries C \"\" &&\n             check_entries D \"\" &&\n             check_entries E \"newfile5.txt/1.1/\" &&\n             check_entries F \"newfile6.png/1.1/-kb\" &&\n             diff A/newfile1.txt ../A/newfile1.txt &&\n             diff E/newfile5.txt ../E/newfile5.txt &&\n             diff F/newfile6.png ../F/newfile6.png\n             )\n* FAIL 5: Remove only a text file\n        rm -f A/newfile1.txt &&\n             git commit -a -m \"test: remove only a binary file\" &&\n             id=$(git rev-list --max-count=1 HEAD) &&\n             (cd \"$CVSWORK\" &&\n             git cvsexportcommit -c $id &&\n             check_entries A \"\" &&\n             check_entries B \"\" &&\n             check_entries C \"\" &&\n             check_entries D \"\" &&\n             check_entries E \"newfile5.txt/1.1/\" &&\n             check_entries F \"newfile6.png/1.1/-kb\" &&\n             diff E/newfile5.txt ../E/newfile5.txt &&\n             diff F/newfile6.png ../F/newfile6.png\n             )\n* FAIL 6: New file with spaces in file name\n        mkdir \"G g\" &&\n              echo ok then >\"G g/with spaces.txt\" &&\n              git add \"G g/with spaces.txt\" && \\\n              cp ../test9200a.png \"G g/with spaces.png\" && \\\n              git add \"G g/with spaces.png\" &&\n              git commit -a -m \"With spaces\" &&\n              id=$(git rev-list --max-count=1 HEAD) &&\n              (cd \"$CVSWORK\" &&\n              git-cvsexportcommit -c $id &&\n              check_entries \"G g\" \"with spaces.png/1.1/-kb|with \nspaces.txt/1.1/\"\n              )\n* FAIL 7: Update file with spaces in file name\n        echo Ok then >>\"G g/with spaces.txt\" &&\n              cat ../test9200a.png >>\"G g/with spaces.png\" && \\\n              git add \"G g/with spaces.png\" &&\n              git commit -a -m \"Update with spaces\" &&\n              id=$(git rev-list --max-count=1 HEAD) &&\n              (cd \"$CVSWORK\" &&\n              git-cvsexportcommit -c $id\n              check_entries \"G g\" \"with spaces.png/1.2/-kb|with \nspaces.txt/1.2/\"\n              )\n* FAIL 8: File with non-ascii file name\n        mkdir -p \nÅ/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/å/ä/ö &&\n              echo Foo \n>Å/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 \n&&\n              git add \nÅ/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 \n&&\n              cp ../test9200a.png \nÅ/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 \n&&\n              git add \nÅ/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 \n&&\n              git commit -a -m \"Går det så går det\" && \\\n              id=$(git rev-list --max-count=1 HEAD) &&\n              (cd \"$CVSWORK\" &&\n              git-cvsexportcommit -v -c $id &&\n              check_entries \\\n              \"Å/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/å/ä/ö\" \n\\\n              \"gårdetsågårdet.png/1.1/-kb|gårdetsågårdet.txt/1.1/\"\n              )\n\n[...]\n* failed 7 among 10 test(s)\n\nIdeas appreciated.\n\n/ismail\n\n-- \nNever learn by your mistakes, if you do you may never dare to try again.\n"},{"id":"65143","messageId":"7vejcnwl85.fsf@gitster.siamese.dyndns.org","threadId":"11598","inReplyTo":"200801120926.14307.ismail@pardus.org.tr","subject":"Re: [ANNOUNCE] GIT 1.5.4-rc3","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-01-12T07:34:34Z","receivedAt":"2008-01-12T07:34:34Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Ismail Dönmez <ismail@pardus.org.tr> writes:\n\n> Saturday 12 January 2008 09:11:23 tarihinde Junio C Hamano şunları yazmıştı:\n>> The third rc for the next feature release GIT 1.5.4 is available\n>> at the usual places:\n>>\n>>   http://www.kernel.org/pub/software/scm/git/\n>>\n>>   git-1.5.4.rc3.tar.{gz,bz2}\t\t\t(tarball)\n>>   git-htmldocs-1.5.4.rc3.tar.{gz,bz2}\t\t(preformatted docs)\n>>   git-manpages-1.5.4.rc3.tar.{gz,bz2}\t\t(preformatted docs)\n>>   testing/git-*-1.5.4.rc3-1.$arch.rpm\t(RPM)\n>\n> I am seeing new failures compared to rc2 :\n>\n> *** t9200-git-cvsexportcommit.sh ***\n> * FAIL 1: New file\n>         mkdir A B C D E F &&\n>              echo hello1 >A/newfile1.txt &&\n>              echo hello2 >B/newfile2.txt &&\n>              cp ../test9200a.png C/newfile3.png &&\n>              cp ../test9200a.png D/newfile4.png &&\n>              git add A/newfile1.txt &&\n>              git add B/newfile2.txt &&\n>              git add C/newfile3.png &&\n>              git add D/newfile4.png &&\n>              git commit -a -m \"Test: New file\" &&\n>              id=$(git rev-list --max-count=1 HEAD) &&\n>              (cd \"$CVSWORK\" &&\n>              git cvsexportcommit -c $id &&\n>              check_entries A \"newfile1.txt/1.1/\" &&\n>              check_entries B \"newfile2.txt/1.1/\" &&\n>              check_entries C \"newfile3.png/1.1/-kb\" &&\n>              check_entries D \"newfile4.png/1.1/-kb\" &&\n>              diff A/newfile1.txt ../A/newfile1.txt &&\n>              diff B/newfile2.txt ../B/newfile2.txt &&\n>              diff C/newfile3.png ../C/newfile3.png &&\n>              diff D/newfile4.png ../D/newfile4.png\n>              )\n> Ideas appreciated.\n\nOften the first failure is the most interesting one.  Running\nthe test under sh -x like this:\n\n\t$ cd t\n\t$ sh t9200-git-cvsexportcommit.sh -i -v\n\nand then looking at \"trash\" directory would tell you which one\nof the long sequence of commands failed, and further\ninvestigation can be made from there.\n\nThanks.\n--\nTo unsubscribe from this list: send the line \"unsubscribe linux-kernel\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html\nPlease read the FAQ at  http://www.tux.org/lkml/\n"},{"id":"65145","messageId":"200801120947.48602.ismail@pardus.org.tr","threadId":"11598","inReplyTo":"7vejcnwl85.fsf@gitster.siamese.dyndns.org","subject":"Re: [ANNOUNCE] GIT 1.5.4-rc3","fromName":"Ismail Dönmez","fromEmail":"ismail@pardus.org.tr","sentAt":"2008-01-12T07:47:48Z","receivedAt":"2008-01-12T07:47:48Z","isPatch":false,"sender":{"key":"ismail@pardus.org.tr","avatar":null},"body":"Saturday 12 January 2008 09:34:34 tarihinde şunları yazmıştınız:\n>  sh t9200-git-cvsexportcommit.sh -i -v\n\nThanks for the tip, I saw the following error :\n\ncvs \ncommit -F .msg 'A/newfile1.txt' 'B/newfile2.txt' 'C/newfile3.png' 'D/newfile4.png'\ncvs [commit aborted]: 'root' is not allowed to commit files\n\nSo looks like tests no longer work as root, so I run make test as normal user \nand I now see t7300-clean.sh fail, this time a real failure:\n\nRemoving part3.c\n./test-lib.sh: line 193: 19413 Aborted                 git-clean\n* FAIL 5: git-clean with prefix\n\n\n                mkdir -p build docs &&\n                touch a.out src/part3.c docs/manual.txt obj.o build/lib.so &&\n                (cd src/ && git-clean) &&\n                test -f Makefile &&\n                test -f README &&\n                test -f src/part1.c &&\n                test -f src/part2.c &&\n                test -f a.out &&\n                test ! -f src/part3.c &&\n                test -f docs/manual.txt &&\n                test -f obj.o &&\n                test -f build/lib.so\n\nRegards,\nismail\n\n-- \nNever learn by your mistakes, if you do you may never dare to try again.\n"},{"id":"65154","messageId":"7vr6gnv5a1.fsf@gitster.siamese.dyndns.org","threadId":"11598","inReplyTo":"200801120947.48602.ismail@pardus.org.tr","subject":"Re: [ANNOUNCE] GIT 1.5.4-rc3","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-01-12T08:04:22Z","receivedAt":"2008-01-12T08:04:22Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Please do not run build nor test as root.\n"},{"id":"65158","messageId":"20080112090432.GA6134@coredump.intra.peff.net","threadId":"11598","inReplyTo":"200801120947.48602.ismail@pardus.org.tr","subject":"Re: [ANNOUNCE] GIT 1.5.4-rc3","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2008-01-12T09:04:32Z","receivedAt":"2008-01-12T09:04:32Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sat, Jan 12, 2008 at 09:47:48AM +0200, Ismail Dönmez wrote:\n\n> So looks like tests no longer work as root, so I run make test as normal user \n> and I now see t7300-clean.sh fail, this time a real failure:\n> \n> Removing part3.c\n> ./test-lib.sh: line 193: 19413 Aborted                 git-clean\n> * FAIL 5: git-clean with prefix\n\nI couldn't reproduce this just running the test, but running it under\nvalgrind showed a memory access error. Fix is below.\n\nJunio, can you please sanity check this fix (it stops the valgrind\nerror, but I want to make sure my assumptions about match_pathspec are\nright).\n\n-- >8 --\ngit-clean: fix off-by-one memory access when given no arguments\n\nThe \"seen\" variable is used by match_pathspec, and must have\nas many elements as there are in the given pathspec. We\ncreate the pathspec either from the command line arguments\n_or_ from just the current prefix.\n\nThus allocating \"seen\" based upon just argc is wrong, since\nif argc == 0, then we still have one pathspec, the prefix,\nbut we don't allocate any space in \"seen\".\n\nSigned-off-by: Jeff King <peff@peff.net>\n---\nIt might be more readable to actually set a variable pathspec_size and\nuse that.\n\n builtin-clean.c |    4 ++--\n 1 files changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/builtin-clean.c b/builtin-clean.c\nindex 6cad8ea..eb853a3 100644\n--- a/builtin-clean.c\n+++ b/builtin-clean.c\n@@ -90,7 +90,7 @@ int cmd_clean(int argc, const char **argv, const char *prefix)\n \tstrbuf_init(&directory, 0);\n \n \tif (pathspec)\n-\t\tseen = xmalloc(argc);\n+\t\tseen = xmalloc(argc > 0 ? argc : 1);\n \n \tfor (i = 0; i < dir.nr; i++) {\n \t\tstruct dir_entry *ent = dir.entries[i];\n@@ -125,7 +125,7 @@ int cmd_clean(int argc, const char **argv, const char *prefix)\n \t\t\tcontinue;\n \n \t\tif (pathspec) {\n-\t\t\tmemset(seen, 0, argc);\n+\t\t\tmemset(seen, 0, argc > 0 ? argc : 1);\n \t\t\tmatches = match_pathspec(pathspec, ent->name, ent->len,\n \t\t\t\t\t\t baselen, seen);\n \t\t} else {\n-- \n1.5.4.rc3-dirty\n"},{"id":"65159","messageId":"20080112090546.GA8284@coredump.intra.peff.net","threadId":"11598","inReplyTo":"20080112090432.GA6134@coredump.intra.peff.net","subject":"Re: [ANNOUNCE] GIT 1.5.4-rc3","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2008-01-12T09:05:46Z","receivedAt":"2008-01-12T09:05:46Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sat, Jan 12, 2008 at 04:04:32AM -0500, Jeff King wrote:\n\n> On Sat, Jan 12, 2008 at 09:47:48AM +0200, Ismail Dönmez wrote:\n> \n> > Removing part3.c\n> > ./test-lib.sh: line 193: 19413 Aborted                 git-clean\n> > * FAIL 5: git-clean with prefix\n> \n> Junio, can you please sanity check this fix (it stops the valgrind\n> error, but I want to make sure my assumptions about match_pathspec are\n> right).\n\nOh, and Ismail, can you please confirm that this causes t7300 to pass\nfor you?\n\n-Peff\n"},{"id":"65166","messageId":"20080112111044.GA24257@coredump.intra.peff.net","threadId":"11598","inReplyTo":"20080112090432.GA6134@coredump.intra.peff.net","subject":"valgrind test script integration","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2008-01-12T11:10:44Z","receivedAt":"2008-01-12T11:10:44Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sat, Jan 12, 2008 at 04:04:32AM -0500, Jeff King wrote:\n\n> I couldn't reproduce this just running the test, but running it under\n> valgrind showed a memory access error. Fix is below.\n\nBTW, this could have been caught automagically if we had valgrind\nintegration in the test scripts. Below is a rudimentary patch to do so.\nI'm not that familiar with valgrind, so input from those more\nknowledgeable is appreciated, and maybe we can get something official\npost-1.5.4.\n\nYou can use it like \"./t7300-clean.sh -m\"; each call to 'git' is run\nthrough valgrind, and returns an error if the original program had an\nerror, or if valgrind turned up any errors.\n\nIt of course runs horribly slowly. I've just kicked off a\n\n  make GIT_TEST_OPTS='-i -m'\n\nnow. A few caveats:\n\n - It barfs on _any_ valgrind error. On my Debian unstable system,\n   anything that touches nss ends up with an error deep in the dlopen\n   code.  Therefore to make this useful, I had to put\n\n     {\n       dl hack\n       Memcheck:Addr4\n       obj:/lib/ld-2.7.so\n     }\n\n   into /usr/lib/valgrind/default.supp\n\n   We should maybe have a 'git.supp' error suppression file, but in this\n   case, the error really seems to be platform-specific.\n\n - We only catch calls to 'git', not 'git-foo' (and in fact for that\n   reason this doesn't catch the t7300 bug by itself, since that uses\n   git-clean). A follow-on patch will deal with this.\n\n---\n t/test-lib.sh |    8 ++++++++\n 1 files changed, 8 insertions(+), 0 deletions(-)\n\ndiff --git a/t/test-lib.sh b/t/test-lib.sh\nindex 90b6844..415e918 100644\n--- a/t/test-lib.sh\n+++ b/t/test-lib.sh\n@@ -84,6 +84,8 @@ do\n \t--no-python)\n \t\t# noop now...\n \t\tshift ;;\n+\t-m|--m|--me|--mem|--memc|--memch|--memche|--memchec|--memcheck)\n+\t\talias git='memcheck git'; shift ;;\n \t*)\n \t\tbreak ;;\n \tesac\n@@ -120,6 +122,12 @@ say () {\n \tsay_color info \"$*\"\n }\n \n+memcheck() {\n+\tvalgrind -q --error-exitcode=1 --leak-check=no \"$@\" && return 0\n+\techo >&2 valgrind failure: \"$@\"\n+\treturn 1\n+}\n+\n test \"${test_description}\" != \"\" ||\n error \"Test script did not set test_description.\"\n \n-- \n1.5.4.rc3.1.g027628-dirty\n"},{"id":"65168","messageId":"20080112113608.GB24589@coredump.intra.peff.net","threadId":"11598","inReplyTo":"20080112111044.GA24257@coredump.intra.peff.net","subject":"Re: valgrind test script integration","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2008-01-12T11:36:09Z","receivedAt":"2008-01-12T11:36:09Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sat, Jan 12, 2008 at 06:10:44AM -0500, Jeff King wrote:\n\n>  - We only catch calls to 'git', not 'git-foo' (and in fact for that\n>    reason this doesn't catch the t7300 bug by itself, since that uses\n>    git-clean). A follow-on patch will deal with this.\n\nAnd here it is.\n\nThis replaces all usage of \"git-foo\" with \"git foo\" in the\ntest scripts. The replacement was done semi-manually; a\nfully automatic replacement won't work because the pattern\n\"git-\" appears in several other contexts (e.g.,\n\"--git-dir=\", ref names, filenames, etc).\n\nObviously another route would be intercepting git-* calls,\nas well, but my impression is that we are ultimately heading\ntowards a \"git foo is the right way\" situation, in which\ncase this cleanup is eventually necessary anyway.\n\n[the original got eaten by the list since the patch is almost 150K;\n the diffstat is below, and I am making the patch available at\n\n   git://repo.or.cz/git/peff.git master\n]\n\n t/t1400-update-ref.sh                  |   10 +-\n t/t2005-checkout-index-symlinks.sh     |    4 +-\n t/t2050-git-dir-relative.sh            |    4 +-\n t/t2102-update-index-symlinks.sh       |    2 +-\n t/t2200-add-update.sh                  |   12 +-\n t/t3020-ls-files-error-unmatch.sh      |    2 +-\n t/t3030-merge-recursive.sh             |   14 +-\n t/t3200-branch.sh                      |   16 +-\n t/t3210-pack-refs.sh                   |    4 +-\n t/t3400-rebase.sh                      |    6 +-\n t/t3401-rebase-partial.sh              |   20 +-\n t/t3500-cherry.sh                      |   12 +-\n t/t3600-rm.sh                          |    4 +-\n t/t3800-mktag.sh                       |    8 +-\n t/t3900-i18n-commit.sh                 |    6 +-\n t/t3901-i18n-patch.sh                  |   16 +-\n t/t4012-diff-binary.sh                 |    2 +-\n t/t4103-apply-binary.sh                |   26 ++--\n t/t5300-pack-object.sh                 |   14 +-\n t/t5301-sliding-window.sh              |    4 +-\n t/t5302-pack-index.sh                  |   10 +-\n t/t5400-send-pack.sh                   |   30 ++--\n t/t5401-update-hooks.sh                |    4 +-\n t/t5402-post-merge-hook.sh             |    4 +-\n t/t5403-post-checkout-hook.sh          |    4 +-\n t/t5500-fetch-pack.sh                  |    4 +-\n t/t5510-fetch.sh                       |    2 +-\n t/t5530-upload-pack-error.sh           |    4 +-\n t/t5600-clone-fail-cleanup.sh          |    6 +-\n t/t6006-rev-list-format.sh             |    6 +-\n t/t6025-merge-symlinks.sh              |   32 ++--\n t/t6026-merge-attr.sh                  |   12 +-\n t/t6030-bisect-porcelain.sh            |    2 +-\n t/t6120-describe.sh                    |   30 ++--\n t/t6300-for-each-ref.sh                |   28 ++--\n t/t7001-mv.sh                          |   12 +-\n t/t7003-filter-branch.sh               |   18 +-\n t/t7004-tag.sh                         |  316 ++++++++++++++++----------------\n t/t7101-reset.sh                       |    6 +-\n t/t7300-clean.sh                       |   38 ++--\n t/t7400-submodule-basic.sh             |   46 +++---\n t/t7501-commit.sh                      |   44 +++---\n t/t9100-git-svn-basic.sh               |   44 +++---\n t/t9101-git-svn-props.sh               |   62 +++---\n t/t9102-git-svn-deep-rmdir.sh          |    6 +-\n t/t9104-git-svn-follow-parent.sh       |   36 ++--\n t/t9105-git-svn-commit-diff.sh         |    8 +-\n t/t9106-git-svn-commit-diff-clobber.sh |   12 +-\n t/t9107-git-svn-migrate.sh             |   16 +-\n t/t9108-git-svn-glob.sh                |    4 +-\n t/t9110-git-svn-use-svm-props.sh       |    8 +-\n t/t9111-git-svn-use-svnsync-props.sh   |    8 +-\n t/t9112-git-svn-md5less-file.sh        |    4 +-\n t/t9116-git-svn-log.sh                 |    4 +-\n t/t9119-git-svn-info.sh                |  120 ++++++------\n t/t9200-git-cvsexportcommit.sh         |   10 +-\n t/t9300-fast-import.sh                 |   64 ++++----\n t/t9400-git-cvsserver-server.sh        |   30 ++--\n 58 files changed, 640 insertions(+), 640 deletions(-)\n"},{"id":"65172","messageId":"4788BA15.3050804@lsrfire.ath.cx","threadId":"11598","inReplyTo":"20080112090432.GA6134@coredump.intra.peff.net","subject":"Re: [ANNOUNCE] GIT 1.5.4-rc3","fromName":"René Scharfe","fromEmail":"rene.scharfe@lsrfire.ath.cx","sentAt":"2008-01-12T13:01:09Z","receivedAt":"2008-01-12T13:01:09Z","isPatch":false,"sender":{"key":"l.s.r@web.de","avatar":"https://avatars.githubusercontent.com/u/26122331?v=4"},"body":"Jeff King schrieb:\n> Thus allocating \"seen\" based upon just argc is wrong, since\n> if argc == 0, then we still have one pathspec, the prefix,\n> but we don't allocate any space in \"seen\".\n\nYes, all the other callers count the number of elements in pathspec\nand allocate seen accordingly.  We could do that.  Or we could\nextend match_pathspec() to allow seen to be a NULL pointer, for\nthose cases where this result isn't needed.\n\nThis patch is for discussion, only, because it touches central,\nnon-buggy code and where in bugfix only mode.  And I'm not really\nsure git-clean ignoring non-matching pathspecs (as it does now,\neven without this patch) is really what we want.\n\n builtin-clean.c |    8 +-------\n dir.c           |   26 ++++++++++++++++----------\n 2 files changed, 17 insertions(+), 17 deletions(-)\n\ndiff --git a/builtin-clean.c b/builtin-clean.c\nindex 6cad8ea..40d976c 100644\n--- a/builtin-clean.c\n+++ b/builtin-clean.c\n@@ -35,7 +35,6 @@ int cmd_clean(int argc, const char **argv, const char *prefix)\n \tconst char *path, *base;\n \tstatic const char **pathspec;\n \tint prefix_offset = 0;\n-\tchar *seen = NULL;\n \tstruct option options[] = {\n \t\tOPT__QUIET(&quiet),\n \t\tOPT__DRY_RUN(&show_only),\n@@ -89,9 +88,6 @@ int cmd_clean(int argc, const char **argv, const char *prefix)\n \tread_directory(&dir, path, base, baselen, pathspec);\n \tstrbuf_init(&directory, 0);\n \n-\tif (pathspec)\n-\t\tseen = xmalloc(argc);\n-\n \tfor (i = 0; i < dir.nr; i++) {\n \t\tstruct dir_entry *ent = dir.entries[i];\n \t\tint len, pos, matches;\n@@ -125,9 +121,8 @@ int cmd_clean(int argc, const char **argv, const char *prefix)\n \t\t\tcontinue;\n \n \t\tif (pathspec) {\n-\t\t\tmemset(seen, 0, argc);\n \t\t\tmatches = match_pathspec(pathspec, ent->name, ent->len,\n-\t\t\t\t\t\t baselen, seen);\n+\t\t\t\t\t\t baselen, NULL);\n \t\t} else {\n \t\t\tmatches = 0;\n \t\t}\n@@ -165,7 +160,6 @@ int cmd_clean(int argc, const char **argv, const char *prefix)\n \t\t\tunlink(ent->name);\n \t\t}\n \t}\n-\tfree(seen);\n \n \tstrbuf_release(&directory);\n \treturn 0;\ndiff --git a/dir.c b/dir.c\nindex 3e345c2..6af70ac 100644\n--- a/dir.c\n+++ b/dir.c\n@@ -88,32 +88,38 @@ static int match_one(const char *match, const char *name, int namelen)\n \n /*\n  * Given a name and a list of pathspecs, see if the name matches\n- * any of the pathspecs.  The caller is also interested in seeing\n- * all pathspec matches some names it calls this function with\n- * (otherwise the user could have mistyped the unmatched pathspec),\n- * and a mark is left in seen[] array for pathspec element that\n- * actually matched anything.\n+ * any of the pathspecs.\n+ * If the caller is interested in which of the pathspecs matched,\n+ * seen needs to point to a char array with as many members as there\n+ * are pathspecs.  A mark is left at the nth element of the nth\n+ * pathspec matched the name.  The marks are not reset, so the\n+ * caller can check, after matching a list of files, if there are\n+ * any unmatched pathspecs (which might have been mistyped).\n  */\n int match_pathspec(const char **pathspec, const char *name, int namelen, int prefix, char *seen)\n {\n-\tint retval;\n-\tconst char *match;\n+\tint retval = 0;\n \n \tname += prefix;\n \tnamelen -= prefix;\n \n-\tfor (retval = 0; (match = *pathspec++) != NULL; seen++) {\n+\twhile (*pathspec) {\n+\t\tconst char *match = *pathspec++;\n \t\tint how;\n-\t\tif (retval && *seen == MATCHED_EXACTLY)\n+\n+\t\tif (retval && seen && *seen == MATCHED_EXACTLY)\n \t\t\tcontinue;\n+\n \t\tmatch += prefix;\n \t\thow = match_one(match, name, namelen);\n \t\tif (how) {\n \t\t\tif (retval < how)\n \t\t\t\tretval = how;\n-\t\t\tif (*seen < how)\n+\t\t\tif (seen && *seen < how)\n \t\t\t\t*seen = how;\n \t\t}\n+\t\tif (seen)\n+\t\t\tseen++;\n \t}\n \treturn retval;\n }\n"},{"id":"65173","messageId":"200801121510.41501.ismail@pardus.org.tr","threadId":"11598","inReplyTo":"20080112090432.GA6134@coredump.intra.peff.net","subject":"Re: [ANNOUNCE] GIT 1.5.4-rc3","fromName":"Ismail Dönmez","fromEmail":"ismail@pardus.org.tr","sentAt":"2008-01-12T13:10:41Z","receivedAt":"2008-01-12T13:10:41Z","isPatch":false,"sender":{"key":"ismail@pardus.org.tr","avatar":null},"body":"Saturday 12 January 2008 11:04:32 tarihinde Jeff King şunları yazmıştı:\n> On Sat, Jan 12, 2008 at 09:47:48AM +0200, Ismail Dönmez wrote:\n> > So looks like tests no longer work as root, so I run make test as normal\n> > user and I now see t7300-clean.sh fail, this time a real failure:\n> >\n> > Removing part3.c\n> > ./test-lib.sh: line 193: 19413 Aborted                 git-clean\n> > * FAIL 5: git-clean with prefix\n>\n> I couldn't reproduce this just running the test, but running it under\n> valgrind showed a memory access error. Fix is below.\n>\n> Junio, can you please sanity check this fix (it stops the valgrind\n> error, but I want to make sure my assumptions about match_pathspec are\n> right).\n>\n> -- >8 --\n> git-clean: fix off-by-one memory access when given no arguments\n>\n> The \"seen\" variable is used by match_pathspec, and must have\n> as many elements as there are in the given pathspec. We\n> create the pathspec either from the command line arguments\n> _or_ from just the current prefix.\n>\n> Thus allocating \"seen\" based upon just argc is wrong, since\n> if argc == 0, then we still have one pathspec, the prefix,\n> but we don't allocate any space in \"seen\".\n>\n> Signed-off-by: Jeff King <peff@peff.net>\n\nThanks Jefff, this fixes t7300-clean.sh for me.\n\nTested-by: İsmail Dönmez <ismail@pardus.org.tr>\n\nRegards,\nismail\n\n\n-- \nNever learn by your mistakes, if you do you may never dare to try again.\n"},{"id":"65177","messageId":"4788CDAC.5030409@intelinet.com.br","threadId":"11598","inReplyTo":"7vsl13wmas.fsf@gitster.siamese.dyndns.org","subject":"Re: [ANNOUNCE] GIT 1.5.4-rc3","fromName":"Roger C. Soares","fromEmail":"rogersoares@intelinet.com.br","sentAt":"2008-01-12T14:24:44Z","receivedAt":"2008-01-12T14:24:44Z","isPatch":false,"sender":{"key":"rogersoares@intelinet.com.br","avatar":null},"body":"\nJunio C Hamano escreveu:\n> The third rc for the next feature release GIT 1.5.4 is available\n> at the usual places:\n>\n>   http://www.kernel.org/pub/software/scm/git/\n>\n>   git-1.5.4.rc3.tar.{gz,bz2}\t\t\t(tarball)\n>   git-htmldocs-1.5.4.rc3.tar.{gz,bz2}\t\t(preformatted docs)\n>   git-manpages-1.5.4.rc3.tar.{gz,bz2}\t\t(preformatted docs)\n>   testing/git-*-1.5.4.rc3-1.$arch.rpm\t(RPM)\n>   \nDon't know if you already have some recomendation for RHEL5 users, so \njust reporting what I had to do to install the rpms.\n\nTo start, I already had git installed from EPEL.\nDownloaded perl-Error from \nhttp://dag.wieers.com/rpm/packages/perl-Error/ to satisfy dependencies. \nThere was another dependacy for git-arch I think, but as I don't need it \nI just deleted this one.\nWhen trying to install perl-Error it conflicted with perl-Git from EPEL. \nI think they included perl-Error files inside their perl-Git rpm.\nSo, after uninstalling all git rpms from EPEL, installing perl-Error \nfrom dag.wieers, the rc3 git rpms installed successfully.\n\n[]s,\nRoger.\n"},{"id":"65191","messageId":"alpine.LSU.1.00.0801121756400.8333@wbgn129.biozentrum.uni-wuerzburg.de","threadId":"11598","inReplyTo":"20080112090432.GA6134@coredump.intra.peff.net","subject":"Re: [ANNOUNCE] GIT 1.5.4-rc3","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2008-01-12T16:57:49Z","receivedAt":"2008-01-12T16:57:49Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Sat, 12 Jan 2008, Jeff King wrote:\n\n> diff --git a/builtin-clean.c b/builtin-clean.c\n> index 6cad8ea..eb853a3 100644\n> --- a/builtin-clean.c\n> +++ b/builtin-clean.c\n> @@ -90,7 +90,7 @@ int cmd_clean(int argc, const char **argv, const char *prefix)\n>  \tstrbuf_init(&directory, 0);\n>  \n>  \tif (pathspec)\n> -\t\tseen = xmalloc(argc);\n> +\t\tseen = xmalloc(argc > 0 ? argc : 1);\n>  \n>  \tfor (i = 0; i < dir.nr; i++) {\n>  \t\tstruct dir_entry *ent = dir.entries[i];\n> @@ -125,7 +125,7 @@ int cmd_clean(int argc, const char **argv, const char *prefix)\n>  \t\t\tcontinue;\n>  \n>  \t\tif (pathspec) {\n> -\t\t\tmemset(seen, 0, argc);\n> +\t\t\tmemset(seen, 0, argc > 0 ? argc : 1);\n>  \t\t\tmatches = match_pathspec(pathspec, ent->name, ent->len,\n>  \t\t\t\t\t\t baselen, seen);\n>  \t\t} else {\n\nWould it not be better to guard the memset by an \"if (argc)\", and set \n\"seen\" to NULL by default?\n\nCiao,\nDscho\n"},{"id":"65192","messageId":"alpine.LSU.1.00.0801121808150.8333@wbgn129.biozentrum.uni-wuerzburg.de","threadId":"11598","inReplyTo":"20080112113608.GB24589@coredump.intra.peff.net","subject":"Re: valgrind test script integration","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2008-01-12T17:10:30Z","receivedAt":"2008-01-12T17:10:30Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Sat, 12 Jan 2008, Jeff King wrote:\n\n> On Sat, Jan 12, 2008 at 06:10:44AM -0500, Jeff King wrote:\n> \n> >  - We only catch calls to 'git', not 'git-foo' (and in fact for that\n> >    reason this doesn't catch the t7300 bug by itself, since that uses\n> >    git-clean). A follow-on patch will deal with this.\n> \n> And here it is.\n> \n> [...]\n> \n> Obviously another route would be intercepting git-* calls, as well, but \n> my impression is that we are ultimately heading towards a \"git foo is \n> the right way\" situation, in which case this cleanup is eventually \n> necessary anyway.\n\nNevertheless, I think that would be better.\n\nBTW does your first patch cope with scripts properly? (I.e. also valgrind \nthe git programs called by the script)\n\nCiao,\nDscho\n"},{"id":"65200","messageId":"20080112180943.GA32732@coredump.intra.peff.net","threadId":"11598","inReplyTo":"alpine.LSU.1.00.0801121756400.8333@wbgn129.biozentrum.uni-wuerzburg.de","subject":"Re: [ANNOUNCE] GIT 1.5.4-rc3","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2008-01-12T18:09:43Z","receivedAt":"2008-01-12T18:09:43Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sat, Jan 12, 2008 at 05:57:49PM +0100, Johannes Schindelin wrote:\n\n> >  \t\tif (pathspec) {\n> > -\t\t\tmemset(seen, 0, argc);\n> > +\t\t\tmemset(seen, 0, argc > 0 ? argc : 1);\n> >  \t\t\tmatches = match_pathspec(pathspec, ent->name, ent->len,\n> >  \t\t\t\t\t\t baselen, seen);\n> >  \t\t} else {\n> \n> Would it not be better to guard the memset by an \"if (argc)\", and set \n> \"seen\" to NULL by default?\n\nI am not sure what you mean by \"guard with if (argc)\"; it needs to be\nmemset in either case (either with N slots, or with 1 if no argc). Seen\ncould not be NULL previously, but Rene's patch makes that possible.\n\n-Peff\n"},{"id":"65201","messageId":"20080112181240.GB32732@coredump.intra.peff.net","threadId":"11598","inReplyTo":"alpine.LSU.1.00.0801121808150.8333@wbgn129.biozentrum.uni-wuerzburg.de","subject":"Re: valgrind test script integration","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2008-01-12T18:12:40Z","receivedAt":"2008-01-12T18:12:40Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sat, Jan 12, 2008 at 06:10:30PM +0100, Johannes Schindelin wrote:\n\n> Nevertheless, I think that would be better.\n> \n> BTW does your first patch cope with scripts properly? (I.e. also valgrind \n> the git programs called by the script)\n\nNo. To do that, you would need to set up an alternate directory at the\nhead of the PATH with 'git' in it (and git-*, for everything we want to\nintercept, which I think would be all builtins, but probably not scripts\n(unless you want to run valgrind on perl or bash, which is probably not\nuseful to us)).\n\nI started down that route, but it was a little ugly. How do we make that\ndirectory? Where is it stored? Is it generated each time the test script\nis run, or part of the Makefile?\n\n-Peff\n"},{"id":"65206","messageId":"7vhchiuahs.fsf@gitster.siamese.dyndns.org","threadId":"11598","inReplyTo":"20080112090432.GA6134@coredump.intra.peff.net","subject":"Re: [ANNOUNCE] GIT 1.5.4-rc3","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-01-12T19:09:19Z","receivedAt":"2008-01-12T19:09:19Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> It might be more readable to actually set a variable pathspec_size and\n> use that.\n\nAhh.\n\nYes, the \"seen\" thing as Réne suggests is moderately painful to\nget right and in the longer run I think we need an API clean-up\naround pathspec handling.  In any case, the fix looks correct.\n\nThanks for catching this.\n"},{"id":"65207","messageId":"7v8x2uuaaq.fsf@gitster.siamese.dyndns.org","threadId":"11598","inReplyTo":"4788CDAC.5030409@intelinet.com.br","subject":"Re: [ANNOUNCE] GIT 1.5.4-rc3","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-01-12T19:13:33Z","receivedAt":"2008-01-12T19:13:33Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Roger C. Soares\" <rogersoares@intelinet.com.br> writes:\n\n> To start, I already had git installed from EPEL.\n> Downloaded perl-Error from\n> http://dag.wieers.com/rpm/packages/perl-Error/ to satisfy\n> dependencies. There was another dependacy for git-arch I think, but as\n> I don't need it I just deleted this one.\n> When trying to install perl-Error it conflicted with perl-Git from\n> EPEL. I think they included perl-Error files inside their perl-Git rpm.\n> So, after uninstalling all git rpms from EPEL, installing perl-Error\n> from dag.wieers, the rc3 git rpms installed successfully.\n\nThanks for your report.\n\nI do not know what EPEL is (sorry, I do not live in RPM land),\nbut I think a package perl-Git that includes perl-Error is\nmisbuilt.  We are not the official source of where the users\nshould get perl-Error from.\n"},{"id":"65244","messageId":"E02B6B93-FD6F-470B-B7E4-43A5BD8F9B54@zib.de","threadId":"11598","inReplyTo":"7vsl13wmas.fsf-jO8aZxhGsIagbBziECNbOZn29agUkmeCHZ5vskTnxNA@public.gmane.org","subject":"Re: [ANNOUNCE] GIT 1.5.4-rc3","fromName":"Steffen Prohaska","fromEmail":"prohaska-wjoc1khpmeg@public.gmane.org","sentAt":"2008-01-13T14:41:13Z","receivedAt":"2008-01-13T14:41:13Z","isPatch":false,"sender":{"key":"prohaska-wjoc1khpmeg@public.gmane.org","avatar":null},"body":"\n\nOn Jan 12, 2008, at 8:11 AM, Junio C Hamano wrote:\n\n> The third rc for the next feature release GIT 1.5.4 is available\n> at the usual places:\n\n\nThe msysgit setup is available at:\n\n   http://code.google.com/p/msysgit/downloads/\n\n\tSteffen\n"},{"id":"66067","messageId":"7vsl0r3nvc.fsf@gitster.siamese.dyndns.org","threadId":"11598","inReplyTo":"7vsl13wmas.fsf@gitster.siamese.dyndns.org","subject":"[ANNOUNCE] GIT 1.5.4-rc4","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-01-21T02:37:27Z","receivedAt":"2008-01-21T02:37:27Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"The fourth rc for the next feature release GIT 1.5.4 is available\nat the usual places:\n\n  http://www.kernel.org/pub/software/scm/git/\n\n  git-1.5.4.rc4.tar.{gz,bz2}\t\t\t(tarball)\n  git-htmldocs-1.5.4.rc4.tar.{gz,bz2}\t\t(preformatted docs)\n  git-manpages-1.5.4.rc4.tar.{gz,bz2}\t\t(preformatted docs)\n  RPMS/$arch/git-*-1.5.4.rc4-1.$arch.rpm\t(RPM)\n\nI was hoping that this would be the last rc before 1.5.4 final,\nand in fact the change between -rc3 and -rc4 is fairly small.\n\nNotable fixes are:\n\n * http-push fixes (Grégoire Barbier);\n * fix to performance regression during partial commit (Linus);\n * ref/heads are now enforced to point at commit (Linus);\n * fix for fast-import reading some part of its own output (Shawn);\n * \"diff --color-words\" showed unchanged lines in metainfo color (Jeff King);\n\nAlso we have a handful gitk and git-gui updates.\n\nThis however still lacks two patches that I think we might want\nin the final (please see \"What's not in 'master'\" message). I\nasked for comments but I guess they were lost in the noise or\nsomething.  It's not a very good sign that we had too many\ndiscussions on the list that are totally unrelated to 1.5.4, and\nI had to scroll back more than 1000 articles to skip them to\nfind the announcement for the -rc3 X-<.  So we will either have\nanother rc to include those two fixes after getting feedbacks,\nor ship the final one with two known breakages.  The former\nwould be preferred, and it would be better if they can be done\nearlier.\n\nEven though we had some RPM specfile changes that I cannot\neasily check myself, nobody reported breakages after -rc3.  I am\ntaking this as \"no news is a good news\", but it may turn out\nthat nobody has been testing/double-checking, and it may come\nback and bite us when we do the final one.  That's also\nsomething I cannot do much about.\n\nBut other than that, I think we are in good shape.\n\n----------------------------------------------------------------\n\nChanges since v1.5.4-rc3 are as follows:\n\nBill Lear (1):\n      Correct spelling in diff.c comment\n\nBrandon Casey (4):\n      close_lock_file(): new function in the lockfile API\n      Improve use of lockfile API\n      refs.c: rework ref_locks by abstracting from underlying struct lock_file\n      fast-import.c: don't try to commit marks file if write failed\n\nChristian Couder (2):\n      git-gui: Initial french translation\n      git-gui: add french glossary: glossary/fr.po\n\nChristian Stimming (4):\n      git-gui: Update glossary: add term \"hunk\"\n      git-gui: Update German translation\n      git-gui: Fix broken revert confirmation.\n      git-gui: Improve German translation.\n\nDan McGee (3):\n      Remove usage of git- (dash) commands from email hook\n      cvsimport: remove last use of repo-config from git standard tools\n      Update git-completion for new 'remote rm' option\n\nDave Peticolas (1):\n      Documentation: fix and clarify grammar in git-merge docs.\n\nDmitry Potapov (1):\n      treat any file with NUL as binary\n\nEric Wong (1):\n      git-svn: handle leading/trailing whitespace from svnsync revprops\n\nGrégoire Barbier (4):\n      http-push: disable http-push without USE_CURL_MULTI\n      http-push: fix webdav lock leak.\n      http-push: fail when info/refs exists and is already locked\n      http-push and http-fetch: handle URLs without trailing /\n\nJakub Narebski (1):\n      autoconf: Add checking for unsetenv function\n\nJean-Luc Herren (1):\n      Make default pre-commit hook less noisy\n\nJeff King (5):\n      git-clean: fix off-by-one memory access when given no arguments\n      color unchanged lines as \"plain\" in \"diff --color-words\"\n      send-email: detect invocation errors earlier\n      send-email: validate patches before sending anything\n      send-email: add no-validate option\n\nJim Meyering (2):\n      fast-import: Don't use a maybe-clobbered errno value\n      doc typo: s/prior committing/prior to committing/\n\nJohannes Schindelin (1):\n      gitk: make Ctrl \"+\" really increase the font size\n\nJunio C Hamano (8):\n      builtin-commit.c: remove useless check added by faulty cut and paste\n      Revert \"builtin-commit.c: remove useless check added by faulty cut and paste\"\n      Fix git-rerere documentation\n      Squelch bogus progress output from git-rebase--interactive\n      Document lockfile API\n      Officially deprecate repo-config.\n      http-push: clarify the reason of error from the initial PROPFIND request\n      GIT 1.5.4-rc4\n\nKristian Høgsberg (1):\n      git-commit: fix double close(2) that can close a wrong file descriptor\n\nLars Hjemli (1):\n      Move sha1_file_to_archive into libgit\n\nLinus Torvalds (4):\n      Fix performance regression for partial commits\n      Make builtin-commit.c more careful about parenthood\n      Make 'git fsck' complain about non-commit branches\n      Be more careful about updating refs\n\nMark Drago (1):\n      hg-to-git: improve popen calls\n\nMark Levedahl (1):\n      git-gui: Makefile - Handle $DESTDIR on Cygwin\n\nMartin Koegler (1):\n      parse_commit_buffer: tighten checks while parsing\n\nMiklos Vajna (3):\n      Add using merge subtree How-To\n      ls-remote: add -t and -h options.\n      Include rev-list options in git-log manpage.\n\nPeter Karlsson (1):\n      git-gui: Updated Swedish translation after mailing list review.\n\nShawn O. Pearce (3):\n      git-gui: Allow 'Create New Repository' on existing directories\n      git-gui: Refresh file status description after hunk application\n      Fix random fast-import errors when compiled with NO_MMAP\n\nThomas Zander (1):\n      core-tutorial typofix\n"},{"id":"66216","messageId":"BB330DC7-9F38-4D41-85A2-D475701B6083@zib.de","threadId":"11598","inReplyTo":"7vsl0r3nvc.fsf-jO8aZxhGsIagbBziECNbOZn29agUkmeCHZ5vskTnxNA@public.gmane.org","subject":"Re: [ANNOUNCE] GIT 1.5.4-rc4","fromName":"Steffen Prohaska","fromEmail":"prohaska-wjoc1khpmeg@public.gmane.org","sentAt":"2008-01-21T22:22:22Z","receivedAt":"2008-01-21T22:22:22Z","isPatch":false,"sender":{"key":"prohaska-wjoc1khpmeg@public.gmane.org","avatar":null},"body":"\n\nOn Jan 21, 2008, at 3:37 AM, Junio C Hamano wrote:\n\n> The fourth rc for the next feature release GIT 1.5.4 is available\n> at the usual places:\n\nThe matching msysgit setup is available at\n\n   http://code.google.com/p/msysgit/downloads/\n\nCommands that are not yet supported on Windows are no longer\nincluded in the setup.  If you find any commands that should\nnot be included, please report this to the msysgit list.\n\nI haven't pushed the branches because repo.or.cz seems to have\nproblems.\n\n\tSteffen\n"},{"id":"66251","messageId":"alpine.LSU.1.00.0801220121300.5731@racer.site","threadId":"11598","inReplyTo":"BB330DC7-9F38-4D41-85A2-D475701B6083-wjoc1KHpMeg@public.gmane.org","subject":"Re: [ANNOUNCE] GIT 1.5.4-rc4","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin-mmb7mzphnfy@public.gmane.org","sentAt":"2008-01-22T01:21:56Z","receivedAt":"2008-01-22T01:21:56Z","isPatch":false,"sender":{"key":"johannes.schindelin-mmb7mzphnfy@public.gmane.org","avatar":null},"body":"\nHi,\n\nOn Mon, 21 Jan 2008, Steffen Prohaska wrote:\n\n> I haven't pushed the branches because repo.or.cz seems to have problems.\n\nCan you elaborate?  What kind of problems?\n\nCiao,\nDscho\n"},{"id":"66278","messageId":"E4060387-3AC5-474A-9D57-15885C29702B@zib.de","threadId":"11598","inReplyTo":"alpine.LSU.1.00.0801220121300.5731-OGWIkrnhIhzN0uC3ymp8PA@public.gmane.org","subject":"Re: [ANNOUNCE] GIT 1.5.4-rc4","fromName":"Steffen Prohaska","fromEmail":"prohaska-wjoc1khpmeg@public.gmane.org","sentAt":"2008-01-22T05:50:41Z","receivedAt":"2008-01-22T05:50:41Z","isPatch":false,"sender":{"key":"prohaska-wjoc1khpmeg@public.gmane.org","avatar":null},"body":"\n\nOn Jan 22, 2008, at 2:21 AM, Johannes Schindelin wrote:\n\n> Hi,\n>\n> On Mon, 21 Jan 2008, Steffen Prohaska wrote:\n>\n>> I haven't pushed the branches because repo.or.cz seems to have  \n>> problems.\n>\n> Can you elaborate?  What kind of problems?\n\nI got DNS lookup failures and could not connect.  Now it works\nand I pushed.\n\n\tSteffen\n"},{"id":"66737","messageId":"7vk5lutdzq.fsf@gitster.siamese.dyndns.org","threadId":"11598","inReplyTo":"7vsl0r3nvc.fsf@gitster.siamese.dyndns.org","subject":"[ANNOUNCE] GIT 1.5.4-rc5","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-01-28T10:56:41Z","receivedAt":"2008-01-28T10:56:41Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"The fifth and hopefully the last rc for the next feature release\nGIT 1.5.4 is available at the usual places:\n\n  http://www.kernel.org/pub/software/scm/git/\n\n  git-1.5.4.rc5.tar.{gz,bz2}\t\t\t(tarball)\n  git-htmldocs-1.5.4.rc5.tar.{gz,bz2}\t\t(preformatted docs)\n  git-manpages-1.5.4.rc5.tar.{gz,bz2}\t\t(preformatted docs)\n  RPMS/$arch/git-*-1.5.4.rc5-1.$arch.rpm\t(RPM)\n\nThe changes since -rc4 are quite small, and except for git-gui\nupdates they are all reasonably trivial fixes.  Please give it a\ngood testing.\n\n----------------------------------------------------------------\n\nChanges since v1.5.4-rc4 are as follows:\n\n Documentation/RelNotes-1.5.4.txt |   37 ++++++---\n Documentation/fetch-options.txt  |   12 ++-\n Documentation/git-clone.txt      |    8 ++\n Documentation/git-http-push.txt  |    3 +\n Documentation/git-pull.txt       |    7 ++-\n Documentation/git-send-email.txt |    2 +\n Documentation/git-submodule.txt  |    5 +-\n Documentation/git-svn.txt        |   11 ++-\n GIT-VERSION-GEN                  |    2 +-\n Makefile                         |   18 ++++-\n builtin-commit.c                 |   15 +++-\n builtin-pack-objects.c           |    3 +-\n config.mak.in                    |    1 +\n configure.ac                     |    6 ++\n fast-import.c                    |   65 ++++++++++++++-\n git-compat-util.h                |    2 +\n git-cvsserver.perl               |    9 ++-\n git-gui/Makefile                 |    5 +-\n git-gui/git-gui.sh               |   28 ++++++\n git-gui/lib/choose_rev.tcl       |    3 +-\n git-gui/lib/commit.tcl           |  149 +++++++++++++++++++++------------\n git-gui/lib/error.tcl            |   18 ++--\n git-gui/po/glossary/fr.po        |   26 +++---\n git-gui/po/po2msg.sh             |   25 +++++-\n git-pull.sh                      |   12 +++-\n git-send-email.perl              |    2 +-\n git-submodule.sh                 |  169 +++++++++++++++++++++++++++-----------\n git-svn.perl                     |   10 +--\n http.h                           |    8 ++\n parse-options.c                  |   30 ++++++-\n t/t0040-parse-options.sh         |   11 +++\n t/t5520-pull.sh                  |   17 ++++\n t/t5710-info-alternate.sh        |   12 ++-\n t/t7400-submodule-basic.sh       |   56 ++++++------\n t/t9400-git-cvsserver-server.sh  |   17 +++-\n test-parse-options.c             |    1 +\n 36 files changed, 596 insertions(+), 209 deletions(-)\n\nAlex Riesen (1):\n      Make t5710 more strict when creating nested repos\n\nBrandon Casey (1):\n      git-commit: exit non-zero if we fail to commit the index\n\nEric Wong (1):\n      git-svn: default to repacking every 1000 commits\n\nGustaf Hendeby (1):\n      send-email, fix breakage in combination with --compose\n\nJakub Narebski (1):\n      autoconf: define NO_SYS_SELECT_H on systems without <sys/select.h>.\n\nJohannes Schindelin (1):\n      pull --rebase: be cleverer with rebased upstream branches\n\nJunio C Hamano (5):\n      git-submodule: rename shell functions for consistency\n      git-submodule: fix subcommand parser\n      git-submodule: add test for the subcommand parser fix\n      Clarify that http-push being temporarily disabled with older cURL\n      GIT 1.5.4-rc5\n\nMike Hommey (2):\n      Add a missing dependency on http.h\n      Documentation: add a bit about sendemail.to configuration\n\nMiklos Vajna (2):\n      git-clone -s: document problems with git gc --prune\n      git pull manpage: don't include -n from fetch-options.txt\n\nNicolas Pitre (1):\n      pack-objects: Fix segfault when object count is less than thread count\n\nPierre Habouzit (1):\n      parse-options: catch likely typo in presense of aggregated options.\n\nRobert Schiele (2):\n      pre-POSIX.1-2001 systems do not have <sys/select.h>\n      Makefile: customization for supporting HP-UX\n\nSam Vilain (1):\n      git-svn(1): update instructions for resuming a git-svn clone\n\nShawn O. Pearce (10):\n      git-gui: Honor the standard commit-msg hook\n      git-gui: Correct window title for hook failure dialogs\n      git-gui: Consolidate hook execution code into a single function\n      git-gui: Correct encoding of glossary/fr.po to UTF-8\n      Teach fast-import to honor pack.compression and pack.depth\n      Document the hairy gfi_unpack_entry part of fast-import\n      git-gui: Work around random missing scrollbar in revision list\n      git-gui: Fallback to Tcl based po2msg.sh if msgfmt isn't available\n      git-gui: Make the statistics of po2msg match those of msgfmt\n      git-gui: Correctly cleanup msgfmt '1 message untranslated' output\n\nSteffen Prohaska (3):\n      submodule: Document the details of the command line syntax\n      t9400-git-cvsserver-server: Wrap setup into test case\n      cvsserver: Fix for histories with multiple roots\n"},{"id":"66754","messageId":"20080128183851.GB31140@coredump.intra.peff.net","threadId":"11598","inReplyTo":"7vk5lutdzq.fsf@gitster.siamese.dyndns.org","subject":"Re: [ANNOUNCE] GIT 1.5.4-rc5","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2008-01-28T18:38:51Z","receivedAt":"2008-01-28T18:38:51Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Mon, Jan 28, 2008 at 02:56:41AM -0800, Junio C Hamano wrote:\n\n> Gustaf Hendeby (1):\n>       send-email, fix breakage in combination with --compose\n\nI submitted a followup test for this problem, but there was no\nresponse. Can I please get an ACK/NAK/\"resend after 1.5.4\"?\n\nFor reference, the original message-id was:\n\n  <20080122032353.GB24758@coredump.intra.peff.net>\n\n-Peff\n"},{"id":"66767","messageId":"479E751A.1080308@isy.liu.se","threadId":"11598","inReplyTo":"20080128183851.GB31140@coredump.intra.peff.net","subject":"Re: [ANNOUNCE] GIT 1.5.4-rc5","fromName":"Gustaf Hendeby","fromEmail":"hendeby@isy.liu.se","sentAt":"2008-01-29T00:36:42Z","receivedAt":"2008-01-29T00:36:42Z","isPatch":false,"sender":{"key":"hendeby@isy.liu.se","avatar":"https://avatars.githubusercontent.com/u/730316?v=4"},"body":"On 01/28/2008 07:38 PM, Jeff King wrote:\n> On Mon, Jan 28, 2008 at 02:56:41AM -0800, Junio C Hamano wrote:\n> \n>> Gustaf Hendeby (1):\n>>       send-email, fix breakage in combination with --compose\n> \n> I submitted a followup test for this problem, but there was no\n> response. Can I please get an ACK/NAK/\"resend after 1.5.4\"?\n\nFWIW, I think it looks like a good extension to the test suit,\nbut the added option should probably put it post 1.5.4 just to\nplay it safe?  I also think it is the right thing to do not to\ndocument that new option.\n\nThe last patch also needs a trivial fix-up to apply nicely.\n\n/Gustaf\n\n> \n> For reference, the original message-id was:\n> \n>   <20080122032353.GB24758@coredump.intra.peff.net>\n"},{"id":"66769","messageId":"7vprvls9ro.fsf@gitster.siamese.dyndns.org","threadId":"11598","inReplyTo":"20080128183851.GB31140@coredump.intra.peff.net","subject":"Re: [ANNOUNCE] GIT 1.5.4-rc5","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-01-29T01:25:31Z","receivedAt":"2008-01-29T01:25:31Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> On Mon, Jan 28, 2008 at 02:56:41AM -0800, Junio C Hamano wrote:\n>\n>> Gustaf Hendeby (1):\n>>       send-email, fix breakage in combination with --compose\n>\n> I submitted a followup test for this problem, but there was no\n> response. Can I please get an ACK/NAK/\"resend after 1.5.4\"?\n>\n> For reference, the original message-id was:\n>\n>   <20080122032353.GB24758@coredump.intra.peff.net>\n\nHeh, that's aonly a week ago but already you need to dig almost\n500 messages back to get there.  That MacOSX thread really\nkilled our human performance.\n\n[1/3] is Ok, probably even for 1.5.4.\n\n[2/3] The use of \"test -e\" slightly ticked my compatibility\nworry (instead use \"test -f\" or \"test -d\" when able) but non\nprehistoric POSIX systems should grok it just fine these days.\n\n[3/3] as you said was questionable in its introduction of a flag\nthat used primarily for testing.  Since the whole point of [2/3]\nis to make [3/3] possible, I was inclined to put both on hold.\n"},{"id":"66771","messageId":"20080129012945.GA7884@coredump.intra.peff.net","threadId":"11598","inReplyTo":"7vprvls9ro.fsf@gitster.siamese.dyndns.org","subject":"Re: [ANNOUNCE] GIT 1.5.4-rc5","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2008-01-29T01:29:45Z","receivedAt":"2008-01-29T01:29:45Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Mon, Jan 28, 2008 at 05:25:31PM -0800, Junio C Hamano wrote:\n\n> Heh, that's aonly a week ago but already you need to dig almost\n> 500 messages back to get there.  That MacOSX thread really\n> killed our human performance.\n> \n> [1/3] is Ok, probably even for 1.5.4.\n> \n> [2/3] The use of \"test -e\" slightly ticked my compatibility\n> worry (instead use \"test -f\" or \"test -d\" when able) but non\n> prehistoric POSIX systems should grok it just fine these days.\n> \n> [3/3] as you said was questionable in its introduction of a flag\n> that used primarily for testing.  Since the whole point of [2/3]\n> is to make [3/3] possible, I was inclined to put both on hold.\n\nThat all sounds reasonable. I will rebase and resubmit after 1.5.4, with\n2/3 using \"test -f\" and 3/3 matching Gustaf's fix (and 1/3 included if\nyou do not apply it beforehand).\n\nThanks for the response.\n\n-Peff\n"},{"id":"66814","messageId":"4A756EBB-5EF8-4F3B-BE96-639EA74F9FE0@zib.de","threadId":"11598","inReplyTo":"7vk5lutdzq.fsf@gitster.siamese.dyndns.org","subject":"Re: [ANNOUNCE] GIT 1.5.4-rc5","fromName":"Steffen Prohaska","fromEmail":"prohaska@zib.de","sentAt":"2008-01-29T06:06:03Z","receivedAt":"2008-01-29T06:06:03Z","isPatch":false,"sender":{"key":"prohaska@zib.de","avatar":"https://avatars.githubusercontent.com/u/217580?v=4"},"body":"\nOn Jan 28, 2008, at 11:56 AM, Junio C Hamano wrote:\n\n> The fifth and hopefully the last rc for the next feature release\n> GIT 1.5.4 is available at the usual places:\n\nmsysgit's Windows setup is now available at\n\n    http://code.google.com/p/msysgit/downloads\n\n\tSteffen\n"}]}