{"thread":{"id":"8233","subject":"[ANNOUNCE] GIT 1.5.2","startedAt":"2007-05-20T09:08:53Z","lastAt":"2007-05-20T13:52:33Z","messageCount":7,"participants":["Junio C Hamano","Thomas Glanzmann","Dave Hanson"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"42676","messageId":"7vsl9rq2u2.fsf@assigned-by-dhcp.cox.net","threadId":"8233","inReplyTo":null,"subject":"[ANNOUNCE] GIT 1.5.2","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2007-05-20T09:08:53Z","receivedAt":"2007-05-20T09:08:53Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"The latest feature release GIT 1.5.2 is available at the usual\nplaces:\n\n  http://www.kernel.org/pub/software/scm/git/\n\n  git-1.5.2.tar.{gz,bz2}\t\t\t(tarball)\n  git-htmldocs-1.5.2.tar.{gz,bz2}\t\t(preformatted docs)\n  git-manpages-1.5.2.tar.{gz,bz2}\t\t(preformatted docs)\n  RPMS/$arch/git-*-1.5.2-1.$arch.rpm\t(RPM)\n\nGIT v1.5.2 Release Notes\n========================\n\nUpdates since v1.5.1\n--------------------\n\n* Plumbing level superproject support.\n\n  You can include a subdirectory that has an independent git\n  repository in your index and tree objects of your project\n  (\"superproject\").  This plumbing (i.e. \"core\") level\n  superproject support explicitly excludes recursive behaviour.\n\n  The \"subproject\" entries in the index and trees of a superproject\n  are incompatible with older versions of git.  Experimenting with\n  the plumbing level support is encouraged, but be warned that\n  unless everybody in your project updates to this release or\n  later, using this feature would make your project\n  inaccessible by people with older versions of git.\n\n* Plumbing level gitattributes support.\n\n  The gitattributes mechanism allows you to add 'attributes' to\n  paths in your project, and affect the way certain git\n  operations work.  Currently you can influence if a path is\n  considered a binary or text (the former would be treated by\n  'git diff' not to produce textual output; the latter can go\n  through the line endings conversion process in repositories\n  with core.autocrlf set), expand and unexpand '$Id$' keyword\n  with blob object name, specify a custom 3-way merge driver,\n  and specify a custom diff driver.  You can also apply\n  arbitrary filter to contents on check-in/check-out codepath\n  but this feature is an extremely sharp-edged razor and needs\n  to be handled with caution (do not use it unless you\n  understand the earlier mailing list discussion on keyword\n  expansion).  These conversions apply when checking files in\n  or out, and exporting via git-archive.\n\n* The packfile format now optionally suports 64-bit index.\n\n  This release supports the \"version 2\" format of the .idx\n  file.  This is automatically enabled when a huge packfile\n  needs more than 32-bit to express offsets of objects in the\n  pack.\n\n* Comes with an updated git-gui 0.7.1\n\n* Updated gitweb:\n\n  - can show combined diff for merges;\n  - uses font size of user's preference, not hardcoded in pixels;\n  - can now 'grep';\n\n* New commands and options.\n\n  - \"git bisect start\" can optionally take a single bad commit and\n    zero or more good commits on the command line.\n\n  - \"git shortlog\" can optionally be told to wrap its output.\n\n  - \"subtree\" merge strategy allows another project to be merged in as\n    your subdirectory.\n\n  - \"git format-patch\" learned a new --subject-prefix=<string>\n    option, to override the built-in \"[PATCH]\".\n\n  - \"git add -u\" is a quick way to do the first stage of \"git\n    commit -a\" (i.e. update the index to match the working\n    tree); it obviously does not make a commit.\n\n  - \"git clean\" honors a new configuration, \"clean.requireforce\".  When\n    set to true, this makes \"git clean\" a no-op, preventing you\n    from losing files by typing \"git clean\" when you meant to\n    say \"make clean\".  You can still say \"git clean -f\" to\n    override this.\n\n  - \"git log\" family of commands learned --date={local,relative,default}\n    option.  --date=relative is synonym to the --relative-date.\n    --date=local gives the timestamp in local timezone.\n\n* Updated behavior of existing commands.\n\n  - When $GIT_COMMITTER_EMAIL or $GIT_AUTHOR_EMAIL is not set\n    but $EMAIL is set, the latter is used as a substitute.\n\n  - \"git diff --stat\" shows size of preimage and postimage blobs\n    for binary contents.  Earlier it only said \"Bin\".\n\n  - \"git lost-found\" shows stuff that are unreachable except\n    from reflogs.\n\n  - \"git checkout branch^0\" now detaches HEAD at the tip commit\n    on the named branch, instead of just switching to the\n    branch (use \"git checkout branch\" to switch to the branch,\n    as before).\n\n  - \"git bisect next\" can be used after giving only a bad commit\n    without giving a good one (this starts bisection half-way to\n    the root commit).  We used to refuse to operate without a\n    good and a bad commit.\n\n  - \"git push\", when pushing into more than one repository, does\n    not stop at the first error.\n\n  - \"git archive\" does not insist you to give --format parameter\n    anymore; it defaults to \"tar\".\n\n  - \"git cvsserver\" can use backends other than sqlite.\n\n  - \"gitview\" (in contrib/ section) learned to better support\n    \"git-annotate\".\n\n  - \"git diff $commit1:$path2 $commit2:$path2\" can now report\n    mode changes between the two blobs.\n\n  - Local \"git fetch\" from a repository whose object store is\n    one of the alternates (e.g. fetching from the origin in a\n    repository created with \"git clone -l -s\") avoids\n    downloading objects unnecessarily.\n\n  - \"git blame\" uses .mailmap to canonicalize the author name\n    just like \"git shortlog\" does.\n\n  - \"git pack-objects\" pays attention to pack.depth\n    configuration variable.\n\n  - \"git cherry-pick\" and \"git revert\" does not use .msg file in\n    the working tree to prepare commit message; instead it uses\n    $GIT_DIR/MERGE_MSG as other commands do.\n\n* Builds\n\n  - git-p4import has never been installed; now there is an\n    installation option to do so.\n\n  - gitk and git-gui can be configured out.\n\n  - Generated documentation pages automatically get version\n    information from GIT_VERSION.\n\n  - Parallel build with \"make -j\" descending into subdirectory\n    was fixed.\n\n* Performance Tweaks\n\n  - Optimized \"git-rev-list --bisect\" (hence \"git-bisect\").\n\n  - Optimized \"git-add $path\" in a large directory, most of\n    whose contents are ignored.\n\n  - Optimized \"git-diff-tree\" for reduced memory footprint.\n\n  - The recursive merge strategy updated a worktree file that\n    was changed identically in two branches, when one of them\n    renamed it.  We do not do that when there is no rename, so\n    match that behaviour.  This avoids excessive rebuilds.\n\n  - The default pack depth has been increased to 50, as the\n    recent addition of delta_base_cache makes deeper delta chains\n    much less expensive to access.  Depending on the project, it was\n    reported that this reduces the resulting pack file by 10%\n    or so.\n\n\nFixes since v1.5.1\n------------------\n\nAll of the fixes in v1.5.1 maintenance series are included in\nthis release, unless otherwise noted.\n\n* Bugfixes\n\n  - Switching branches with \"git checkout\" refused to work when\n    a path changes from a file to a directory between the\n    current branch and the new branch, in order not to lose\n    possible local changes in the directory that is being turned\n    into a file with the switch.  We now allow such a branch\n    switch after making sure that there is no locally modified\n    file nor un-ignored file in the directory.  This has not\n    been backported to 1.5.1.x series, as it is rather an\n    intrusive change.\n\n  - Merging branches that have a file in one and a directory in\n    another at the same path used to get quite confused.  We\n    handle such a case a bit more carefully, even though that is\n    still left as a conflict for the user to sort out.  This\n    will not be backported to 1.5.1.x series, as it is rather an\n    intrusive change.\n\n  - git-fetch had trouble with a remote with insanely large number\n    of refs.\n\n  - \"git clean -d -X\" now does not remove non-excluded directories.\n\n  - rebasing (without -m) a series that changes a symlink to a directory\n    in the middle of a path confused git-apply greatly and refused to\n    operate.\n\n----------------------------------------------------------------\n\nChanges since v1.5.1 are as follows:\n\nAdam Roben (5):\n      Remove usernames from all commit messages, not just when using svmprops\n      git-svn: Don't rely on $_ after making a function call\n      git-svn: Ignore usernames in URLs in find_by_url\n      git-svn: Added 'find-rev' command\n      git-svn: Add 'find-rev' command\n\nAlex Riesen (22):\n      Fix passing of TCLTK_PATH to git-gui\n      Use rev-list --reverse in git-rebase.sh\n      Document -g (--walk-reflogs) option of git-log\n      Fix t4201: accidental arithmetic expansion\n      Fix permissions on test scripts\n      Fix overwriting of files when applying contextually independent diffs\n      Tests for core subproject support\n      Simplify calling of CR/LF conversion routines\n      Fix a typo in crlf conversion code\n      Fix crash in t0020 (crlf conversion)\n      Fix handle leak in write_tree\n      Avoid excessive rewrites in merge-recursive\n      Add a test for merging changed and rename-changed branches\n      Ignore merged status of the file-level merge\n      Use strlcpy instead of strncpy in mailmap.c\n      Fix read_mailmap to handle a caller uninterested in repo abbreviation\n      Remove pointless calls to access(2) when checking for .mailmap\n      Include mailmap.h in mailmap.c to catch mailmap interface changes\n      Small correction in reading of commit headers\n      Handle return code of parse_commit in revision machinery\n      Use GIT_OBJECT_DIR for temporary files of pack-objects\n      Allow fetching references from any namespace\n\nAlexandre Julliard (2):\n      git.el: Add a commit description to the reflog.\n      http-fetch: Disable use of curl multi support for libcurl < 7.16.\n\nAmos Waterland (1):\n      wcwidth redeclaration\n\nAndrew Ruder (17):\n      Add policy on user-interface changes\n      Update git-am documentation\n      Update git-applymbox documentation\n      Update git-apply documentation\n      Update git-annotate/git-blame documentation\n      Update git-archive documentation\n      Update git-cherry-pick documentation\n      Fix unmatched emphasis tag in git-tutorial\n      Update git-config documentation\n      Removing -n option from git-diff-files documentation\n      Document additional options for git-fetch\n      Update git-fmt-merge documentation\n      Update git-grep documentation\n      Update -L documentation for git-blame/git-annotate\n      Update git-http-push documentation\n      Update git-local-fetch documentation\n      Update git-http-fetch documentation\n\nAndy Parkins (6):\n      Show binary file size change in diff --stat\n      post-receive-email example hook: fastforward should have been fast_forward\n      post-receive-email example hook: detect rewind-only updates and output sensible message\n      post-receive-email example hook: sed command for getting description was wrong\n      Use $Id$ as the ident attribute keyword rather than $ident$ to be consistent with other VCSs\n      Fix crlf attribute handling to match documentation\n\nAndy Whitcroft (2):\n      fix up strtoul_ui error handling\n      git name-rev writes beyond the end of malloc() with large generations\n\nAneesh Kumar K.V (1):\n      gitview: annotation support\n\nArjen Laarhoven (5):\n      usermanual.txt: some capitalization nits\n      t3200-branch.sh: small language nit\n      t5300-pack-object.sh: portability issue using /usr/bin/stat\n      Makefile: iconv() on Darwin has the old interface\n      Document 'opendiff' value in config.txt and git-mergetool.txt\n\nBrian Gernhardt (7):\n      Remove unused WITH_OWN_SUBPROCESS_PY from RPM spec\n      Fix t4200-rerere for white-space from \"wc -l\"\n      Document --left-right option to rev-list.\n      Distinguish branches by more than case in tests.\n      Remove case-sensitive file in t3030-merge-recursive.\n      Reverse the order of -b and --track in the man page.\n      Ignore all man sections as they are generated files.\n\nBryan Larsen (2):\n      Allow PERL_PATH=\"/usr/bin/env perl\"\n      posix compatibility for t4200\n\nCarl Worth (1):\n      Mention version 1.5.1 in tutorial and user-manual\n\nCarlos Rica (1):\n      Use const qualifier for 'sha1' parameter in delete_ref function\n\nChristian Couder (4):\n      Bisect: teach \"bisect start\" to optionally use one bad and many good revs.\n      Documentation: bisect: \"start\" accepts one bad and many good commits\n      Bisect: simplify \"bisect start\" logging.\n      Bisect: rename \"t/t6030-bisect-run.sh\" to \"t/t6030-bisect-porcelain.sh\".\n\nDana L. How (2):\n      Fix lseek(2) calls with args 2 and 3 swapped\n      Create pack-write.c for common pack writing code\n\nDaniel Barkalow (1):\n      Make xstrndup common\n\nEric Wong (14):\n      git-svn: bail out on incorrect command-line options\n      git-svn: bail out on incorrect command-line options\n      git-svn: dcommit/rebase confused by patches with git-svn-id: lines\n      git-svn: fix log command to avoid infinite loop on long commit messages\n      git-svn: respect lower bound of -r/--revision when following parent\n      git-svn: quiet some warnings when run only with --version/--help\n      git-svn: don't allow globs to match regular files\n      perl: install private Error.pm if the site version is older than our own\n      git-svn: don't drop the username from URLs when dcommit is run\n      git-svn: clean up caching of SVN::Ra functions\n      git-svn: fix segfaults due to initial SVN pool being cleared\n      git-svn: don't attempt to minimize URLs by default\n      git-svn: avoid crashing svnserve when creating new directories\n      git-svn: don't minimize-url when doing an init that tracks multiple paths\n\nEygene Ryabinkin (13):\n      Teach gitk to use the user-defined UI font everywhere.\n      Improve look-and-feel of the gitk tool.\n      Add the WITH_P4IMPORT knob to the Makefile.\n      Added git-p4 package to the list of git RPMs.\n      Added correct Python path to the RPM specfile.\n      NO_TCLTK\n      Add --with-tcltk and --without-tcltk to configure.\n      Rewrite Tcl/Tk interpreter path for the GUI tools.\n      Eliminate checks of user-specified Tcl/Tk interpreter.\n      Allow wish interpreter to be defined with TCLTK_PATH\n      Teach git-gui to use the user-defined UI font everywhere.\n      Improve look-and-feel of the git-gui tool.\n      Do not break git-gui messages into multiple lines.\n\nFernando J. Pereda (1):\n      Makefile: Add '+' to QUIET_SUBDIR0 to fix parallel make.\n\nFrank Lichtenheld (35):\n      cvsserver: Introduce new state variable 'method'\n      cvsserver: Handle three part keys in git config correctly\n      cvsserver: Allow to override the configuration per access method\n      cvsserver: Make the database backend configurable\n      cvsserver: Abort if connect to database fails\n      Documentation: Replace @@GIT_VERSION@@ in documentation\n      Documentation: Add version information to man pages\n      cvsserver: Use DBI->table_info instead of DBI->tables\n      cvsimport: sync usage lines with existing options\n      cvsimport: Improve documentation of CVSROOT and CVS module determination\n      cvsimport: Improve usage error reporting\n      cvsimport: Reorder options in documentation for better understanding\n      cvsimport: Improve formating consistency\n      cvsserver: small corrections to asciidoc documentation\n      cvsserver: Corrections to the database backend configuration\n      cvsserver: Add asciidoc documentation for new database backend configuration\n      gitweb: Allow forks with project list file\n      gitweb: Allow configuring the default projects order and add order 'none'\n      cvsserver: Fix handling of diappeared files on update\n      cvsserver: Allow to \"add\" a removed file\n      cvsserver: Reword documentation on necessity of write access\n      cvsserver: Document the GIT branches -> CVS modules mapping more prominently\n      config.txt: Document gitcvs.allbinary\n      config.txt: Document core.autocrlf\n      config.txt: Change pserver to server in description of gitcvs.*\n      config.txt: Fix grammatical error in description of http.noEPSV\n      config.txt: Add gitcvs.db* variables\n      git-shortlog: Fix two formatting errors in asciidoc documentation\n      cvsserver: Handle re-added files correctly\n      cvsserver: Add test cases for git-cvsserver\n      cvsserver: Limit config parser to needed options\n      cvsserver: Don't send mixed messages to clients\n      builtin-log.c: Fix typo in comment\n      Documentation: format-patch has no --mbox option\n      git-am: Clean up the asciidoc documentation\n\nGeert Bosch (1):\n      Fix renaming branch without config file\n\nGerrit Pape (5):\n      rename contrib/hooks/post-receieve-email to contrib/hooks/post-receive-email.\n      variable $projectdesc needs to be set before checking against unchanged default.\n      Have sample update hook not refuse deleting a branch through push.\n      Documentation/git-reset.txt: suggest git commit --amend in example.\n      gitweb: choose appropriate view for file type if a= parameter missing\n\nIsmail Dönmez (1):\n      gitweb: use decode_utf8 directly\n\nJ. Bruce Fields (28):\n      Documentation: minor edits of git-lost-found manpage\n      Documentation: clarify git-checkout -f, minor editing\n      Documentation: clarify track/no-track option.\n      user-manual: fix discussion of default clone\n      user-manual: detached HEAD\n      user-manual: start revising \"internals\" chapter\n      user-manual: use detached head when rewriting history\n      user-manual: more discussion of detached heads, fix typos\n      user-manual: add section ID's\n      user-manual: clean up fast-forward and dangling-objects sections\n      user-manual: fix .gitconfig editing examples\n      user-manual: miscellaneous editing\n      user-manual: stop deprecating the manual\n      user-manual: fix clone and fetch typos\n      user-manual: revise birdseye-view chapter\n      glossary: expand and clarify some definitions, prune cross-references\n      user-manual: move quick-start to an appendix\n      Documentation: remove howto's now incorporated into manual\n      user-manual: move howto/make-dist.txt into user manual\n      user-manual: move howto/using-topic-branches into manual\n      user-manual: add a \"counting commits\" example\n      user-manual: introduce git\n      user-manual: listing commits reachable from some refs not others\n      user-manual: reorganize public git repo discussion\n      tutorials: add user-manual links\n      tutorial: revise index introduction\n      user-manual: discourage shared repository\n      user-manual: finding commits referencing given file content\n\nJakub Narebski (20):\n      gitweb: Whitespace cleanup - tabs are for indent, spaces are for align (3)\n      gitweb: Quote hash keys, and do not use barewords keys\n      gitweb: Fix bug in \"blobdiff\" view for split (e.g. file to symlink) patches\n      diff format documentation: describe raw combined diff format\n      gitweb: Add parsing of raw combined diff format to parse_difftree_raw_line\n      gitweb: Add combined diff support to git_difftree_body\n      gitweb: Add combined diff support to git_patchset_body\n      gitweb: Make it possible to use pre-parsed info in git_difftree_body\n      gitweb: Show combined diff for merge commits in 'commitdiff' view\n      gitweb: Show combined diff for merge commits in 'commit' view\n      gitweb: Test if $from_id and $to_id are defined before comparison\n      gitweb: Check if requested object exists\n      gitweb: Fix \"Use of unitialized value\" warnings in empty repository\n      Documentation: Split description of pretty formats of commit log\n      gitweb: Add a few comments about %feature hash\n      gitweb: Do not use absolute font sizes\n      gitweb: Separate search regexp from search text\n      gitweb: Empty patch for merge means trivial merge, not no differences\n      gitweb: Fix error in git_patchset_body for deletion in merge commit\n      gitweb: Fix \"Use of uninitialized value\" warning in git_feed\n\nJames Bowes (2):\n      Document git-check-attr\n      Documentation: fix typo in git-remote.txt\n\nJan Hudec (2):\n      Updated documentation of hooks in git-receive-pack.\n      Minor fixup to documentation of hooks in git-receive-pack.\n\nJari Aalto (4):\n      Clarify SubmittingPatches Checklist\n      git.7: Mention preformatted html doc location\n      send-email documentation: clarify --smtp-server\n      SPECIFYING RANGES typo fix: it it => it is\n\nJeff King (4):\n      Documentation: don't reference non-existent 'git-cvsapplycommit'\n      git-add: allow path limiting with -u\n      Documentation/git-add: clarify -u with path limiting\n      format-patch: add MIME-Version header when we add content-type.\n\nJim Meyering (3):\n      (encode_85, decode_85): Mark source buffer pointer as \"const\".\n      sscanf/strtoul: parse integers robustly\n      sscanf/strtoul: parse integers robustly\n\nJohan Herland (3):\n      Fix signedness on return value from xread()\n      Ensure return value from xread() is always stored into an ssize_t\n      user-manual: Add section on ignoring files\n\nJohannes Schindelin (7):\n      Use print_wrapped_text() in shortlog\n      dir.c(common_prefix): Fix two bugs\n      t4201: Do not display weird characters on the terminal\n      import-tars: be nice to wrong directory modes\n      Teach import-tars about GNU tar's @LongLink extension.\n      import-tars: Use the \"Link indicator\" to identify directories\n      Add a birdview-on-the-source-code section to the user manual\n\nJohannes Sixt (1):\n      git-gui: Call changes \"Staged\" and \"Unstaged\" in file list titles.\n\nJonas Fonseca (1):\n      git-tag(1): -v option is a subcommand; fix code block\n\nJosh Triplett (5):\n      Add clean.requireForce option, and add -f option to git-clean to override it\n      Fix typo in git-am: s/Was is/Was it/\n      Create a sysconfdir variable, and use it for ETC_GITCONFIG\n      Add missing reference to GIT_COMMITTER_DATE in git-commit-tree documentation\n      Fall back to $EMAIL for missing GIT_AUTHOR_EMAIL and GIT_COMMITTER_EMAIL\n\nJulian Phillips (3):\n      Documentation: show-ref: document --exclude-existing\n      refs.c: add a function to sort a ref list, rather then sorting on add\n      http.c: Fix problem with repeated calls of http_init\n\nJunio C Hamano (151):\n      git-fetch: add --quiet\n      t6002: minor spelling fix.\n      git-rev-list: add --bisect-vars option.\n      git-rev-list --bisect: optimization\n      t6004: add a bit more path optimization test.\n      rev-list --bisect: Fix \"halfway\" optimization.\n      make the previous optimization work also on path-limited rev-list --bisect\n      Documentation: unbreak user-manual.\n      Optional Tck/Tk: ignore generated files.\n      checkout: allow detaching to HEAD even when switching to the tip of a branch\n      _GIT_INDEX_OUTPUT: allow plumbing to output to an alternative index file.\n      git-read-tree --index-output=<file>\n      add_cache_entry(): removal of file foo does not conflict with foo/bar\n      unpack_trees.c: pass unpack_trees_options structure to keep_entry() as well.\n      unpack-trees: get rid of *indpos parameter.\n      Fix read-tree --prefix=dir/.\n      Fix twoway_merge that passed d/f conflict marker to merged_entry().\n      Fix switching to a branch with D/F when current branch has file D.\n      rerere: make sorting really stable.\n      RPM spec: include git-p4 in the list of all packages.\n      Fix dependency of common-cmds.h\n      Fix bogus error message from merge-recursive error path\n      Propagate cache error internal to refresh_cache() via parameter.\n      Rename internal function \"add_file_to_cache\" in builtin-update-index.c\n      Rename static variable write_index to update_index in builtin-apply.c\n      Rename add_file_to_index() to add_file_to_cache()\n      git-bisect: modernization\n      t6030: add a bit more tests to git-bisect\n      git-bisect: allow bisecting with only one bad commit.\n      Documentation: tighten dependency for git.{html,txt}\n      git-push reports the URL after failing.\n      git-push to multiple locations does not stop at the first failure\n      A new merge stragety 'subtree'.\n      Prepare for 1.5.1.1\n      Start 1.5.2 cycle by prepareing RelNotes for it.\n      Add Documentation/cmd-list.made to .gitignore\n      shortlog -w: make wrap-line behaviour optional.\n      t1000: fix case table.\n      Treat D/F conflict entry more carefully in unpack-trees.c::threeway_merge()\n      merge-recursive: do not barf on \"to be removed\" entries.\n      merge-recursive: handle D/F conflict case more carefully.\n      t3030: merge-recursive backend test.\n      git-fetch--tool pick-rref\n      git-fetch: use fetch--tool pick-rref to avoid local fetch from alternate\n      fsck: do not complain on detached HEAD.\n      GIT 1.5.1.1\n      Add %m to '--pretty=format:'\n      Refactor patch-id filtering out of git-cherry and git-format-patch.\n      git-log --cherry-pick A...B\n      Documentation: --cherry-pick\n      Fix git {log,show,...} --pretty=email\n      Do not default to --no-index when given two directories.\n      Add basic infrastructure to assign attributes to paths\n      Define 'crlf' attribute.\n      Teach 'diff' about 'diff' attribute.\n      Fix 'crlf' attribute semantics.\n      Fix 'diff' attribute semantics.\n      Makefile: add patch-ids.h back in.\n      attribute macro support\n      Define a built-in attribute macro \"binary\".\n      Change attribute negation marker from '!' to '-'.\n      send-email: do not leave an empty CC: line if no cc is present.\n      Make sure quickfetch is not fooled with a previous, incomplete fetch.\n      Allow more than true/false to attributes.\n      merge-recursive: separate out xdl_merge() interface.\n      git-gui: Honor TCLTK_PATH if supplied\n      Allow specifying specialized merge-backend per path.\n      Add a demonstration/test of customized merge.\n      Start preparing for 1.5.1.2\n      Update draft release notes for 1.5.2 with accumulated changes.\n      Custom low-level merge driver support.\n      Allow the default low-level merge driver to be configured.\n      Custom low-level merge driver: change the configuration scheme.\n      Allow low-level driver to specify different behaviour during internal merge.\n      Fix funny types used in attribute value representation\n      Counto-fix in merge-recursive\n      Simplify code to find recursive merge driver.\n      Documentation: support manual section (5) - file formats.\n      Update 'crlf' attribute semantics.\n      Document gitattributes(5)\n      git-add -u: match the index with working tree.\n      git-clone: fix dumb protocol transport to clone from pack-pruned ref\n      Fix bogus linked-list management for user defined merge drivers.\n      convert.c: restructure the attribute checking part.\n      lockfile: record the primary process.\n      GIT 1.5.1.2\n      Update documentation links to point at v1.5.1.2\n      Documentation/Makefile: fix section (5) installation\n      Update draft release notes for v1.5.2\n      pack-objects: quickfix for permission modes.\n      Fix 'quickfix' on pack-objects.\n      Update tests not to assume that generated packfiles are writable.\n      pack-objects: make generated packfile read-only\n      Support 'diff=pgm' attribute\n      Move index-related variables into a structure.\n      Make read-cache.c \"the_index\" free.\n      Document \"diff=driver\" attribute\n      t5302: avoid using tail -c\n      t6030: grab commit object name as we go\n      Build RPM with ETC_GITCONFIG=/etc/gitconfig\n      Diff between two blobs should take mode changes into account now.\n      t/test-lib.sh: Protect ourselves from common misconfiguration\n      gitattributes documentation: clarify overriding\n      applymbox & quiltimport: typofix.\n      Add 'ident' conversion.\n      Add 'filter' attribute and external filter driver definition.\n      Add --date={local,relative,default}\n      Start preparing for 1.5.1.3\n      Do not barf on too long action description\n      Update .mailmap with \"Michael\"\n      Fix import-tars fix.\n      blame -s: suppress author name and time.\n      Split out mailmap handling out of shortlog\n      Apply mailmap in git-blame output.\n      Make macros to prevent double-inclusion in headers consistent.\n      Make sure test-genrandom and test-chmtime are builtas part of the main build.\n      Fix symlink handling in git-svn, related to PerlIO\n      GIT v1.5.1.3\n      GIT v1.5.2-rc1\n      blame: use .mailmap unconditionally\n      diff.c: fix \"size cache\" handling.\n      blame: Notice a wholesale incorporation of an existing file.\n      blame: -C -C -C\n      Add test for blame corner cases.\n      GIT v1.5.2-rc2\n      diff: release blobs after generating textual diff.\n      diff.c: do not use a separate \"size cache\".\n      diff -M: release the preimage candidate blobs after rename detection.\n      diff -S: release the image after looking for needle in it\n      GIT v1.5.1.4\n      Update documentation links to point at 1.5.1.4\n      t9400: skip cvsserver test if Perl SQLite interface is unavailable\n      git-clone: don't get fooled by $PWD\n      .mailmap: add some aliases\n      GIT v1.5.2-rc3\n      Minor copyediting on Release Notes for 1.5.2\n      Add has_symlink_leading_path() function.\n      apply: do not get confused by symlinks in the middle\n      read-tree -m -u: avoid getting confused by intermediate symlinks.\n      checkout: allow detaching to HEAD even when switching to the tip of a branch\n      git-config: do not forget seeing \"a.b.var\" means we are out of \"a.var\" section.\n      Link to HTML version of external doc if available\n      Fix git-clone buglet for remote case.\n      Prepare for 1.5.1.5 Release Notes\n      gitweb: fix another use of undefined value\n      GIT v1.5.1.5\n      Add link to 1.5.1.5 release notes.\n      Documentation/git.txt: Update links to older documentation pages.\n      GIT 1.5.1.6\n      git-cvsserver: exit with 1 upon \"I HATE YOU\"\n      GIT 1.5.2\n\nJunio Hamano (1):\n      t9400: Use the repository config and nothing else.\n\nKarl Hasselström (2):\n      Fix markup in git-svn man page\n      Add --no-rebase option to git-svn dcommit\n\nLars Hjemli (3):\n      rename_ref(): only print a warning when config-file update fails\n      Make builtin-branch.c handle the git config file\n      git-archive: don't die when repository uses subprojects\n\nLinus Torvalds (26):\n      Optimize directory listing with pathspec limiter.\n      diff-lib: use ce_mode_from_stat() rather than messing with modes manually\n      Avoid overflowing name buffer in deep directory structures\n      Add 'resolve_gitlink_ref()' helper function\n      Add \"S_IFDIRLNK\" file mode infrastructure for git links\n      Teach \"fsck\" not to follow subproject links\n      Teach core object handling functions about gitlinks\n      Fix thinko in subproject entry sorting\n      Teach directory traversal about subprojects\n      Teach git-update-index about gitlinks\n      Don't show gitlink directories when we want \"other\" files\n      Teach git list-objects logic not to follow gitlinks\n      Teach \"git-read-tree -u\" to check out submodules as a directory\n      Fix gitlink index entry filesystem matching\n      Teach git list-objects logic to not follow gitlinks\n      Teach \"git-read-tree -u\" to check out submodules as a directory\n      git-quiltimport complaining yet still working\n      Fix some \"git ls-files -o\" fallout from gitlinks\n      Expose subprojects as special files to \"git diff\" machinery\n      Add a generic \"object decorator\" interface, and make object refs use it\n      Add support for \"commit name decorations\" to log family of commands\n      Use proper object allocators for unknown object nodes too\n      Clean up object creation to use more common code\n      Fix working directory errno handling when unlinking a directory\n      Fix a copy-n-paste bug in the object decorator code.\n      Fix --boundary output\n\nLuiz Fernando N. Capitulino (7):\n      ident.c: Use const qualifier for 'struct passwd' parameters\n      ident.c: Use size_t (instead of int) to store sizes\n      remove_subtree(): Use strerror() when possible\n      entry.c: Use const qualifier for 'struct checkout' parameters\n      read_cache_from(): small simplification\n      core-tutorial: minor fixes\n      init_buffer(): Kill buf pointer\n\nMarco Costalba (1):\n      Fix an unmatched comment end in arm/sha1_arm.S\n\nMartin Koegler (7):\n      gitweb: Show \"no difference\" message for empty diff\n      Add S_IFINVALID mode\n      add get_sha1_with_mode\n      add add_object_array_with_mode\n      store mode in rev_list, if <tree>:<filename> syntax is used\n      use mode of the tree in git-diff, if <tree>:<file> syntax is used\n      Fix compilation of test-delta\n\nMatthias Kestenholz (2):\n      Documentation: Added [verse] to SYNOPSIS where necessary\n      Documentation: Reformatted SYNOPSIS for several commands\n\nMatthias Lederhofer (1):\n      handle_options in git wrapper miscounts the options it handled.\n\nMatthieu Castet (1):\n      Remove stale non-static-inline prototype for tree_entry_extract()\n\nMatthieu Moy (2):\n      Document git add -u introduced earlier.\n      Added a reference to git-add in the documentation for git-update-index\n\nMichael Hendricks (3):\n      Document 'git-log --decorate'\n      git-send-email: allow leading white space on mutt aliases\n      Document core.excludesfile for git-add\n\nMichael S. Tsirkin (1):\n      Display the subject of the commit just made.\n\nMichael Spang (4):\n      git-blame: Fix overrun in fake_working_tree_commit()\n      dir.c: Omit non-excluded directories with dir->show_ignored\n      t7300: Basic tests for git-clean\n      Fix minor documentation errors\n\nMichele Ballabio (1):\n      git shortlog documentation: add long options and fix a typo\n\nNicolas Pitre (33):\n      clean up and optimize nth_packed_object_sha1() usage\n      get rid of num_packed_objects()\n      make overflow test on delta base offset work regardless of variable size\n      add overflow tests on pack offset variables\n      compute a CRC32 for each object as stored in a pack\n      compute object CRC32 with index-pack\n      pack-objects: learn about pack index version 2\n      index-pack: learn about pack index version 2\n      sha1_file.c: learn about index version 2\n      show-index.c: learn about index v2\n      pack-redundant.c: learn about index v2\n      allow forcing index v2 and 64-bit offset treshold\n      validate reused pack data with CRC when possible\n      simple random data generator for tests\n      use test-genrandom in tests instead of /dev/urandom\n      tests for various pack index features\n      clean up add_object_entry()\n      pack-objects: optimize preferred base handling a bit\n      pack-objects: equal objects in size should delta against newer objects\n      pack-objects: rework check_delta_limit usage\n      pack-objects: clean up list sorting\n      pack-objects: get rid of reuse_cached_pack\n      pack-objects: get rid of create_final_object_list()\n      pack-objects: make in_pack_header_size a variable of its own\n      add get_size_from_delta()\n      pack-objects: better check_object() performances\n      pack-objects: remove obsolete comments\n      document --index-version for index-pack and pack-objects\n      common progress display support\n      make progress \"title\" part of the common progress interface\n      provide a facility for \"delayed\" progress reporting\n      delay progress display when checking out files\n      add file checkout progress\n\nOGAWA Hirofumi (1):\n      git-fetch: Fix \"argument list too long\"\n\nPaul Mackerras (1):\n      gitk: Allow user to choose whether to see the diff, old file, or new file\n\nPetr Baudis (7):\n      Git.pm: config_boolean() -> config_bool()\n      gitweb: Do not use absolute font sizes\n      gitweb: Normalize searchbar font size\n      gitweb: Add support for grep searches\n      gitweb: Allow arbitrary strings to be dug with pickaxe\n      Documentation: git-rev-list's \"patterns\"\n      gitweb: Remove redundant $searchtype setup\n\nQuy Tonthat (4):\n      Add howto files to rpm packages.\n      Added new git-gui library files to rpm spec\n      RPM spec: include files in technical/ to package.\n      Documentation/branch: fix small typo in -D example\n\nRené Scharfe (3):\n      Revert \"builtin-archive: use RUN_SETUP\"\n      git-archive: make tar the default format\n      git-archive: convert archive entries like checkouts do\n\nRichard P. Curnow (2):\n      Fix documentation of tag in git-fast-import.txt\n      Fix documentation of tag in git-fast-import.txt\n\nRobin H. Johnson (12):\n      Add custom subject prefix support to format-patch (take 3)\n      Add testcase for format-patch --subject-prefix (take 3)\n      Document --dry-run parameter to send-email.\n      Prefix Dry- to the message status to denote dry-runs.\n      Debugging cleanup improvements\n      Change the scope of the $cc variable as it is not needed outside of send_message.\n      Perform correct quoting of recipient names.\n      Validate @recipients before using it for sendmail and Net::SMTP.\n      Ensure clean addresses are always used with Net::SMTP\n      Allow users to optionally specify their envelope sender.\n      Document --dry-run and envelope-sender for git-send-email.\n      Sanitize @to recipients.\n\nSam Vilain (1):\n      git-tar-tree: complete deprecation conversion message\n\nSami Farin (1):\n      fast-import: size_t vs ssize_t\n\nShawn O. Pearce (50):\n      Always bind the return key to the default button\n      git-gui: Brown paper bag fix division by 0 in blame\n      Fix lost-found to show commits only referenced by reflogs\n      Honor -p<n> when applying git diffs\n      Don't yap about merge-subtree during make\n      git-gui: Display the directory basename in the title\n      Revert \"Allow wish interpreter to be defined with TCLTK_PATH\"\n      Contribute a fairly paranoid update hook\n      Kill the useless progress meter in merge-recursive\n      Don't repack existing objects in fast-import\n      Cleanup variables in cat-file\n      git-gui: Correctly handle UTF-8 encoded commit messages\n      Actually handle some-low memory conditions\n      Don't allow empty pathnames in fast-import\n      Catch empty pathnames in trees during fsck\n      git-gui: Allow spaces in path to 'wish'\n      git-gui: Include the subject in the status bar after commit\n      git-gui: Warn users before making an octopus merge\n      git-gui: Correct line wrapping for too many branch message\n      git-gui: Cleanup common font handling for font_ui\n      git-gui: Use option database defaults to set the font\n      git-gui: Refactor to use our git proc more often\n      git-gui: Track our own embedded values and rebuild when they change\n      Reuse fixup_pack_header_footer in index-pack\n      Don't use seq in tests, not everyone has it\n      Improve request-pull to handle non-rebased branches\n      Properly handle '0' filenames in import-tars\n      git-gui: Refactor into multiple files to save my sanity\n      git-gui: Move console procs into their own namespace\n      git-gui: Allow vi keys to scroll the diff/blame regions\n      git-gui: Move merge support into a namespace\n      git-gui: Show all possible branches for merge\n      git-gui: Include commit id/subject in merge choices\n      git-gui: Use vi-like keys in merge dialog\n      Remove duplicate exports from Makefile\n      git-gui: Allow shift-{k,j} to select a range of branches to merge\n      git-gui: Define a simple class/method system\n      git-gui: Convert browser, console to \"class\" format\n      git-gui: Don't attempt to inline array reads in methods\n      git-gui: Convert blame to the \"class\" way of doing things\n      git-gui: Use prefix if blame is run in a subdirectory\n      git-gui: Smarter command line parsing for browser, blame\n      git-gui: Generate blame on uncommitted working tree file\n      git-gui: Cleanup minor nits in blame code\n      git-gui: Format author/committer times in ISO format\n      Use .git/MERGE_MSG in cherry-pick/revert\n      git-gui: Paperbag fix blame in subdirectory\n      git gui 0.7.0\n      Correct error message in revert/cherry-pick\n      git-gui: Gracefully handle bad TCL_PATH at compile time\n\nSteffen Prohaska (4):\n      tiny fix in documentation of git-clone\n      git-config: test for 'do not forget \"a.b.var\" ends \"a.var\" section'.\n      Optimized cvsexportcommit: calling 'cvs status' once instead of once per touched file.\n      Fixed link in user-manual\n\nSteven Grimm (3):\n      Add --quiet option to suppress output of \"rm\" commands for removed files.\n      git-rm: Trivial fix for a comment typo.\n      Add --ignore-unmatch option to exit with zero status when no files are removed.\n\nTheodore Ts'o (2):\n      Add pack.depth option to git-pack-objects.\n      Increase pack.depth default to 50\n\nTomash Brechko (1):\n      cvsexportcommit -p : fix the usage of git-apply -C.\n\nUwe Kleine-König (1):\n      fix importing of subversion tars\n\nVille Skyttä (1):\n      DESTDIR support for git/contrib/emacs\n\nXavier Maillard (2):\n      git-blame.el: separate git-blame-mode to ease maintenance\n      git-blame.el: pick a set of random colors for each git-blame turn\n\nYOSHIFUJI Hideaki (1):\n      Avoid composing too long \"References\" header.\n"},{"id":"42677","messageId":"20070520093732.GA5015@cip.informatik.uni-erlangen.de","threadId":"8233","inReplyTo":"7vsl9rq2u2.fsf@assigned-by-dhcp.cox.net","subject":"Re: [ANNOUNCE] GIT 1.5.2","fromName":"Thomas Glanzmann","fromEmail":"thomas@glanzmann.de","sentAt":"2007-05-20T09:37:32Z","receivedAt":"2007-05-20T09:37:32Z","isPatch":false,"sender":{"key":"thomas@glanzmann.de","avatar":null},"body":"Hello,\n\n> The latest feature release GIT 1.5.2 is available\n\nIt does not compile for me on Solaris 10 with forte 12 with the\nfollowing error. Any ideas?\n\nexport PATH=\"/opt/forte12/SUNWspro/bin:/usr/ccs/bin:/usr/bin:/usr/openwin/bin\"\n\ncd git-1.5.2\n/opt/csw/bin/gmake \\\n        CFLAGS='-O' \\\n        CC=/opt/forte12/SUNWspro/bin/cc \\\n        DESTDIR=/var/tmp/sithglan-pkg/git-1.5.2-buildroot \\\n        ETC_GITCONFIG=/etc/gitconfig \\\n        INSTALL=/opt/csw/bin/ginstall \\\n        NO_CURL=1 \\\n        NO_EXPAT=1 \\\n        NO_ICONV=1 \\\n        NO_OPENSSL=1 \\\n        NO_TCLTK=1 \\\n        TAR=/opt/csw/bin/gtar \\\n        mandir=/usr/share/man \\\n        prefix=/usr \\\n        install\n...\ngmake[2]: Leaving directory `/var/tmp/sithglan-pkg/git-1.5.2/templates'\n/opt/forte12/SUNWspro/bin/cc -O  -D__EXTENSIONS__ -DNO_OPENSSL -DNO_ICONV -DSHA1_HEADER='\"mozilla-sha1/sha1.h\"' -DETC_GITCONFIG='\"/etc/gitconfig\"' -DNO_STRCASESTR -o test-chmtime   test-chmtime.c\nUndefined                       first referenced\nsymbol                             in file\ndie                                 test-chmtime.o\nrelease_pack_memory                 test-chmtime.o\nsane_ctype                          test-chmtime.o\nld: fatal: Symbol referencing errors. No output written to test-chmtime\ngmake[1]: *** [test-chmtime] Error 1\ngmake[1]: Leaving directory `/var/tmp/sithglan-pkg/git-1.5.2'\n\n\n        Thomas\n"},{"id":"42684","messageId":"7vejlbq0gf.fsf@assigned-by-dhcp.cox.net","threadId":"8233","inReplyTo":"20070520093732.GA5015@cip.informatik.uni-erlangen.de","subject":"Re: [ANNOUNCE] GIT 1.5.2","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2007-05-20T10:00:16Z","receivedAt":"2007-05-20T10:00:16Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Gaah.  I hate these last minute brown paper bags.\n\nIf your build needs anything from compat/ (more specifically, if\nyou have any of those things in git-compat-util.h that we have\nreplacement routines for platforms that need NO_IDONTHAVETHAT,\nthat would not build as the build rule for test-chmtime (and\nprobably test-genrandom) is screwed up.\n\nPlease add $(LIBS) at the end and try again.  Sorry.\n"},{"id":"42696","messageId":"20070520103057.GD5015@cip.informatik.uni-erlangen.de","threadId":"8233","inReplyTo":"7vejlbq0gf.fsf@assigned-by-dhcp.cox.net","subject":"Re: [ANNOUNCE] GIT 1.5.2","fromName":"Thomas Glanzmann","fromEmail":"thomas@glanzmann.de","sentAt":"2007-05-20T10:30:57Z","receivedAt":"2007-05-20T10:30:57Z","isPatch":false,"sender":{"key":"thomas@glanzmann.de","avatar":null},"body":"Hello Junio,\n\n> Please add $(LIBS) at the end and try again.  Sorry.\n\nthat fixes it.\n\n        Thomas\n"},{"id":"42711","messageId":"9fb1551c0705200646m62b61efegbae76e6f17b06799@mail.gmail.com","threadId":"8233","inReplyTo":"7vsl9rq2u2.fsf@assigned-by-dhcp.cox.net","subject":"Re: [ANNOUNCE] GIT 1.5.2","fromName":"Dave Hanson","fromEmail":"drh@drhanson.net","sentAt":"2007-05-20T13:46:19Z","receivedAt":"2007-05-20T13:46:19Z","isPatch":false,"sender":{"key":"drh@drhanson.net","avatar":"https://gravatar.com/avatar/44adb998476b2890df0b0f252bbbc32635a7022b67a2388a1c894818c6e94345?d=mp&s=160"},"body":"When I try building git 1.5.2 on Mac OS X 10.4.9, using \"make\nprefix=/usr/local\", it fails with:\n\n$ git checkout v1.5.2\n$ make prefix=/usr/local\n...\n    LINK git-http-fetch\n/usr/bin/ld: can't locate file for: -lexpat\ncollect2: ld returned 1 exit status\nmake: *** [git-http-fetch] Error 1\n\nBut the build succeeds when I use:\n\n$ make configure; ./configure --prefix=/usr/local; make\n\nthanks,\ndave h\n"},{"id":"42712","messageId":"9fb1551c0705200647j50e38e6bi6faabff5938cf51@mail.gmail.com","threadId":"8233","inReplyTo":"9fb1551c0705200646m62b61efegbae76e6f17b06799@mail.gmail.com","subject":"Re: [ANNOUNCE] GIT 1.5.2","fromName":"Dave Hanson","fromEmail":"drh@drhanson.net","sentAt":"2007-05-20T13:47:46Z","receivedAt":"2007-05-20T13:47:46Z","isPatch":false,"sender":{"key":"drh@drhanson.net","avatar":"https://gravatar.com/avatar/44adb998476b2890df0b0f252bbbc32635a7022b67a2388a1c894818c6e94345?d=mp&s=160"},"body":"ps: This error occurred only on the PowerPC; the build on the Intel\nMac worked fine.\n\nOn 5/20/07, Dave Hanson <drh@drhanson.net> wrote:\n> When I try building git 1.5.2 on Mac OS X 10.4.9, using \"make\n> prefix=/usr/local\", it fails with:\n>\n> $ git checkout v1.5.2\n> $ make prefix=/usr/local\n> ...\n>     LINK git-http-fetch\n> /usr/bin/ld: can't locate file for: -lexpat\n> collect2: ld returned 1 exit status\n> make: *** [git-http-fetch] Error 1\n>\n> But the build succeeds when I use:\n>\n> $ make configure; ./configure --prefix=/usr/local; make\n>\n> thanks,\n> dave h\n>\n"},{"id":"42713","messageId":"20070520135233.GE5015@cip.informatik.uni-erlangen.de","threadId":"8233","inReplyTo":"9fb1551c0705200646m62b61efegbae76e6f17b06799@mail.gmail.com","subject":"Re: [ANNOUNCE] GIT 1.5.2","fromName":"Thomas Glanzmann","fromEmail":"thomas@glanzmann.de","sentAt":"2007-05-20T13:52:33Z","receivedAt":"2007-05-20T13:52:33Z","isPatch":false,"sender":{"key":"thomas@glanzmann.de","avatar":null},"body":"Hello,\n\n> /usr/bin/ld: can't locate file for: -lexpat\n\nmake NO_EXPAT=1\n\nor if you have libexpat.so installed on your system you should provide\nit in the Linkerpath and Runtimepath.\n\n        Thomas\n"}]}