{"thread":{"id":"14019","subject":"[ANNOUNCE] GIT 1.5.6","startedAt":"2008-06-18T23:24:22Z","lastAt":"2008-07-14T05:51:35Z","messageCount":15,"participants":["Junio C Hamano","Steffen Prohaska","Stephan Beyer","Miklos Vajna"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"80263","messageId":"7vmylixr6h.fsf@gitster.siamese.dyndns.org","threadId":"14019","inReplyTo":null,"subject":"[ANNOUNCE] GIT 1.5.6","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-06-18T23:24:22Z","receivedAt":"2008-06-18T23:24:22Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"The latest feature release GIT 1.5.6 is available at the usual\nplaces:\n\n  http://www.kernel.org/pub/software/scm/git/\n\n  git-1.5.6.tar.{gz,bz2}\t\t\t(tarball)\n  git-htmldocs-1.5.6.tar.{gz,bz2}\t\t(preformatted docs)\n  git-manpages-1.5.6.tar.{gz,bz2}\t\t(preformatted docs)\n  RPMS/$arch/git-*-1.5.6-1.$arch.rpm\t(RPM)\n\nAs promised, this cycle was short and the release is with only relatively\nsmall impact changes.\n\n----------------------------------------------------------------\nGIT v1.5.6 Release Notes\n========================\n\nUpdates since v1.5.5\n--------------------\n\n(subsystems)\n\n* Comes with updated gitk and git-gui.\n\n(portability)\n\n* git will build on AIX better than before now.\n\n* core.ignorecase configuration variable can be used to work better on\n  filesystems that are not case sensitive.\n\n* \"git init\" now autodetects the case sensitivity of the filesystem and\n  sets core.ignorecase accordingly.\n\n* cpio is no longer used; neither \"curl\" binary (libcurl is still used).\n\n(documentation)\n\n* Many freestanding documentation pages have been converted and made\n  available to \"git help\" (aka \"man git<something>\") as section 7 of\n  the manual pages. This means bookmarks to some HTML documentation\n  files may need to be updated (eg \"tutorial.html\" became\n  \"gittutorial.html\").\n\n(performance)\n\n* \"git clone\" was rewritten in C.  This will hopefully help cloning a\n  repository with insane number of refs.\n\n* \"git rebase --onto $there $from $branch\" used to switch to the tip of\n  $branch only to immediately reset back to $from, smudging work tree\n  files unnecessarily.  This has been optimized.\n\n* Object creation codepath in \"git-svn\" has been optimized by enhancing\n  plumbing commands git-cat-file and git-hash-object.\n\n(usability, bells and whistles)\n\n* \"git add -p\" (and the \"patch\" subcommand of \"git add -i\") can choose to\n  apply (or not apply) mode changes independently from contents changes.\n\n* \"git bisect help\" gives longer and more helpful usage information.\n\n* \"git bisect\" does not use a special branch \"bisect\" anymore; instead, it\n  does its work on a detached HEAD.\n\n* \"git branch\" (and \"git checkout -b\") can be told to set up\n  branch.<name>.rebase automatically, so that later you can say \"git pull\"\n  and magically cause \"git pull --rebase\" to happen.\n\n* \"git branch --merged\" and \"git branch --no-merged\" can be used to list\n  branches that have already been merged (or not yet merged) to the\n  current branch.\n\n* \"git cherry-pick\" and \"git revert\" can add a sign-off.\n\n* \"git commit\" mentions the author identity when you are committing\n  somebody else's changes.\n\n* \"git diff/log --dirstat\" output is consistent between binary and textual\n  changes.\n\n* \"git filter-branch\" rewrites signed tags by demoting them to annotated.\n\n* \"git format-patch --no-binary\" can produce a patch that lack binary\n  changes (i.e. cannot be used to propagate the whole changes) meant only\n  for reviewing.\n\n* \"git init --bare\" is a synonym for \"git --bare init\" now.\n\n* \"git gc --auto\" honors a new pre-auto-gc hook to temporarily disable it.\n\n* \"git log --pretty=tformat:<custom format>\" gives a LF after each entry,\n  instead of giving a LF between each pair of entries which is how\n  \"git log --pretty=format:<custom format>\" works.\n\n* \"git log\" and friends learned the \"--graph\" option to show the ancestry\n  graph at the left margin of the output.\n\n* \"git log\" and friends can be told to use date format that is different\n  from the default via 'log.date' configuration variable.\n\n* \"git send-email\" now can send out messages outside a git repository.\n\n* \"git send-email --compose\" was made aware of rfc2047 quoting.\n\n* \"git status\" can optionally include output from \"git submodule\n  summary\".\n\n* \"git svn\" learned --add-author-from option to propagate the authorship\n  by munging the commit log message.\n\n* new object creation and looking up in \"git svn\" has been optimized.\n\n* \"gitweb\" can read from a system-wide configuration file.\n\n(internal)\n\n* \"git unpack-objects\" and \"git receive-pack\" is now more strict about\n  detecting breakage in the objects they receive over the wire.\n\n\nFixes since v1.5.5\n------------------\n\nAll of the fixes in v1.5.5 maintenance series are included in\nthis release, unless otherwise noted.\n\nAnd there are too numerous small fixes to otherwise note here ;-)\n\n\n----------------------------------------------------------------\n\nChanges since v1.5.5 are as follows:\n\nA Large Angry SCM (1):\n      git-repack: re-enable parsing of -n command line option\n\nAdam Roben (11):\n      Add tests for git cat-file\n      git-cat-file: Small refactor of cmd_cat_file\n      git-cat-file: Make option parsing a little more flexible\n      git-cat-file: Add --batch-check option\n      git-cat-file: Add --batch option\n      Move git-hash-object tests from t5303 to t1007\n      Add more tests for git hash-object\n      git-hash-object: Add --stdin-paths option\n      Git.pm: Add command_bidi_pipe and command_close_bidi_pipe\n      Git.pm: Add hash_and_insert_object and cat_blob\n      git-svn: Speed up fetch\n\nAdam Simpkins (15):\n      Remove dead code: show_log() sep argument and diff_options.msg_sep\n      log: print log entry terminator even if the message is empty\n      revision API: split parent rewriting and parent printing options\n      Add history graph API\n      log and rev-list: add --graph option\n      graph API: eliminate unnecessary indentation\n      graph API: fix graph mis-alignment after uninteresting commits\n      graph API: don't print branch lines for uninteresting merge parents\n      log --graph --left-right: show left/right information in place of '*'\n      Fix output of \"git log --graph --boundary\"\n      get_revision(): honor the topo_order flag for boundary commits\n      graph API: improve display of merge commits\n      graph API: avoid printing unnecessary padding before some octopus merges\n      graph API: fix \"git log --graph --first-parent\"\n      git log --graph: print '*' for all commits, including merges\n\nAlberto Bertogli (1):\n      builtin-apply: Show a more descriptive error on failure when opening a patch\n\nAlejandro Mery (1):\n      git-am: head -1 is obsolete and doesn't work on some new systems\n\nAlex Riesen (13):\n      Use \"=\" instead of \"==\" in condition as it is more portable\n      Fix use after free() in builtin-fetch\n      Use the modern syntax of git-diff-files in t2002-checkout-cache-u.sh\n      Improve reporting of errors in config file routines\n      Make the exit code of add_file_to_index actually useful\n      Extend interface of add_files_to_cache to allow ignore indexing errors\n      Add --ignore-errors to git-add to allow it to skip files with read errors\n      Add a test for git-add --ignore-errors\n      Add a config option to ignore errors for git-add\n      Ensure that a test is run in the trash directory\n      Fix t6031 on filesystems without working exec bit\n      Fix t3701 if core.filemode disabled\n      Fix t5516 on cygwin: it does not like double slashes at the beginning of a path\n\nAnders Waldenborg (1):\n      gitweb: Convert string to internal form before chopping in chop_str\n\nAndy Parkins (1):\n      post-receive-email: fix accidental removal of a trailing space in signature line\n\nAriel Badichi (2):\n      copy.c: copy_fd - correctly report write errors\n      archive.c: format_subst - fixed bogus argument to memchr\n\nAsk Bjørn Hansen (2):\n      gitweb setup instruction: rewrite HEAD and root as well\n      send-email: Allow the envelope sender to be set via configuration\n\nAvery Pennarun (5):\n      git-svn: add documentation for --use-log-author option.\n      git-svn: Add --add-author-from option.\n      git-svn: add documentation for --add-author-from option.\n      git-svn: don't append extra newlines at the end of commit messages.\n      git-svn: test that extra blank lines aren't inserted in commit messages.\n\nBart Trojanowski (1):\n      make git-status use a pager\n\nBjörn Steinbrink (2):\n      Fix section about backdating tags in the git-tag docs\n      name-rev: Fix segmentation fault when using --all\n\nBoyd Lynn Gerber (2):\n      progress.c: avoid use of dynamic-sized array\n      Port to 12 other Platforms.\n\nBrandon Casey (8):\n      filter-branch.sh: support nearly proper tag name filtering\n      git-clone.txt: Adjust note to --shared for new pruning behavior of git-gc\n      compat/fopen.c: avoid clobbering the system defined fopen macro\n      repack: modify behavior of -A option to leave unreferenced objects unpacked\n      git-gc: always use -A when manually repacking\n      builtin-gc.c: deprecate --prune, it now really has no effect\n      builtin-clone.c: Need to closedir() in copy_or_link_directory()\n      t/Makefile: \"trash\" directory was renamed recently\n\nBryan Donlan (10):\n      git-rebase.sh: Fix --merge --abort failures when path contains whitespace\n      config.c: Escape backslashes in section names properly\n      git-send-email.perl: Handle shell metacharacters in $EDITOR properly\n      test-lib.sh: Add a test_set_editor function to safely set $VISUAL\n      Use test_set_editor in t9001-send-email.sh\n      test-lib.sh: Fix some missing path quoting\n      lib-git-svn.sh: Fix quoting issues with paths containing shell metacharacters\n      Don't use the 'export NAME=value' in the test scripts.\n      Fix tests breaking when checkout path contains shell metacharacters\n      Rename the test trash directory to contain spaces.\n\nCaio Marcelo de Oliveira Filho (1):\n      git-format-patch: add --no-binary to omit binary changes in the patch.\n\nCarlos Rica (2):\n      Fix documentation syntax of optional arguments in short options.\n      core-tutorial.txt: Fix showing the current behaviour.\n\nChris Frey (2):\n      Documentation/git-prune.txt: document unpacked logic\n      Documentation/git-repack.txt: document new -A behaviour\n\nChris Parsons (1):\n      Updated status to show 'Not currently on any branch' in red\n\nChris Ridd (1):\n      Improve sed portability\n\nChristian Couder (32):\n      bisect: add \"git bisect help\" subcommand to get a long usage string\n      bisect: fix bad rev checking in \"git bisect good\"\n      bisect: report bad rev better\n      bisect: squelch \"fatal: ref HEAD not a symref\" misleading message\n      git-bisect: make \"start\", \"good\" and \"skip\" succeed or fail atomically\n      help: use man viewer path from \"man.<tool>.path\" config var\n      documentation: help: add \"man.<tool>.path\" config variable\n      help: use \"man.<tool>.cmd\" as custom man viewer command\n      documentation: help: add info about \"man.<tool>.cmd\" config var\n      documentation: web--browse: add a note about konqueror\n      rev-parse: teach \"--verify\" to be quiet when using \"-q\" or \"--quiet\"\n      rev-parse: fix --verify to error out when passed junk after a good rev\n      Documentation: hooks: fix missing verb in pre-applypatch description\n      Documentation: rename \"hooks.txt\" to \"githooks.txt\" and make it a man page\n      Documentation: improve \"add\", \"pull\" and \"format-patch\" examples\n      Documentation: bisect: add a few \"git bisect run\" examples\n      bisect: print an error message when \"git rev-list --bisect-vars\" fails\n      rev-parse: add test script for \"--verify\"\n      rev-parse: fix using \"--default\" with \"--verify\"\n      rev-parse --verify: do not output anything on error\n      Documentation: rev-parse: add a few \"--verify\" and \"--default\" examples\n      bisect: add test cases to check that \"git bisect start\" is atomic\n      bisect: fix left over \"BISECT_START\" file when starting with junk rev\n      bisect: trap critical errors in \"bisect_start\"\n      bisect: use a detached HEAD to bisect\n      Documentation: convert tutorials to man pages\n      bisect: use \"$GIT_DIR/BISECT_START\" to check if we are bisecting\n      Documentation: convert \"glossary\" and \"core-tutorial\" to man pages\n      documentation: convert \"diffcore\" and \"repository-layout\" to man pages\n      documentation: move git(7) to git(1)\n      documentation: bisect: remove bits talking about a bisection branch\n      Documentation: RelNotes-1.5.6: talk about renamed HTML files\n\nChristian Engwer (1):\n      git-svn fails in prop_walk if $self->{path} is not empty\n\nChristian Stimming (3):\n      git-gui: Update German translation\n      gitk: Update German translation\n      gitk: German translation again updated\n\nClemens Buchacher (2):\n      Reset the signal being handled\n      http-push: remove remote locks on exit signals\n\nClifford Caoile (2):\n      Docs gitk: Explicitly mention the files that gitk uses (~/.gitk)\n      git.el: Set process-environment instead of invoking env\n\nDan McGee (4):\n      completion: allow 'git remote' subcommand completion\n      completion: remove use of dashed git commands\n      Allow cherry-pick (and revert) to add signoff line\n      Remove 'header' from --signoff option description\n\nDaniel Barkalow (14):\n      Fix config key miscount in url.*.insteadOf\n      Make walker.fetch_ref() take a struct ref.\n      Make ls-remote http://... list HEAD, like for git://...\n      Mark the list of refs to fetch as const\n      Add a lockfile function to append to a file\n      Add a library function to add an alternate to the alternates file\n      Have a constant extern refspec for \"--tags\"\n      Allow for having for_each_ref() list extra refs\n      Add a function to set a non-default work tree\n      Provide API access to init_db()\n      Build in clone\n      clone: fall back to copying if hardlinking fails\n      Test that --reference actually suppresses fetching referenced objects\n      Use nonrelative paths instead of absolute paths for cloned repositories\n\nDirk Suesserott (2):\n      Documentation/git-request-pull: Fixed a typo (\"send\" -> \"end\")\n      Documentation/git-mailsplit: Enhanced description of -o option\n\nDmitry Potapov (2):\n      git-gc --prune is deprecated\n      git-init: autodetect core.ignorecase\n\nDmitry V. Levin (1):\n      builtin-fetch.c (store_updated_refs): Honor update_local_ref() return value\n\nDustin Sallings (3):\n      Documentation/config.txt: Mention branch.<name>.rebase applies to \"git pull\"\n      Allow tracking branches to set up rebase by default.\n      Allow tracking branches to set up rebase by default.\n\nEric Wong (1):\n      git-svn: fix cloning of HTTP URLs with '+' in their path\n\nFlavio Poletti (1):\n      git-instaweb: improve auto-discovery of httpd and call conventions.\n\nFlorian Ragwitz (1):\n      filter-branch: Documentation fix.\n\nFrank Lichtenheld (4):\n      var: Don't require to be in a git repository.\n      Git.pm: Don't require a repository instance for config\n      Git.pm: Don't require repository instance for ident\n      send-email: Don't require to be called in a repository\n\nFred Maranhão (1):\n      fix typo in tutorial\n\nGeoffrey Irving (1):\n      doc: adding gitman.info and *.texi to .gitignore\n\nGerrit Pape (7):\n      gitweb: fallback to system-wide config file if default config does not exist\n      gitweb: fallback to system-wide config file (fixup)\n      diff-options.txt: document the new \"--dirstat\" option\n      gitk: Makefile/install: force permissions when installing files and dirs\n      git-bisect.sh: don't accidentally override existing branch \"bisect\"\n      Documentation/git-bundle.txt: fix synopsis\n      commit --interactive: properly update the index before commiting\n\nGovind Salinas (1):\n      pretty.c: add %x00 format specifier.\n\nGustaf Hendeby (6):\n      git-svn: Make create-ignore use git add -f\n      Documentation: Add create-ignore to git svn manual\n      Documentation/config.txt: Add git-gui options\n      Documentation: Add missing git svn commands\n      Documentation: Fix skipped section level\n      Make git add -n and git -u -n output consistent\n\nHeikki Orsila (8):\n      Make core.sharedRepository more generic\n      Document functions xmemdupz(), xread() and xwrite()\n      Die for an early EOF in a file reading loop\n      Make read_in_full() and write_in_full() consistent with xread() and xwrite()\n      Cleanup xread() loops to use read_in_full()\n      Add missing \"short\" alternative to --date in rev-list-options.txt\n      Add log.date config variable\n      Remove redundant code, eliminate one static variable\n\nHorst H. von Brand (1):\n      Fix recipient santitization\n\nIan Hilt (1):\n      Documentation/git-describe.txt: make description more readable\n\nImran M Yousuf (1):\n      Use '-f' option to point to the .gitmodules file\n\nJakub Narebski (7):\n      gitweb: Fix 'history' view for deleted files with history\n      gitweb: Use feed link according to current view\n      gitweb: Remove gitweb/test/ directory\n      gitweb: Fix \"next\" link on bottom of page\n      gitweb: Add charset info to \"raw\" output of 'text/plain' blobs\n      gitweb: Make it work with $GIT containing spaces\n      Use 'trash directory' thoroughly in t/test-lib.sh\n\nJamis Buck (1):\n      git-reset: honor -q and do not show progress message\n\nJeff King (30):\n      add--interactive: ignore mode change in 'p'atch command\n      add--interactive: allow user to choose mode update\n      git-fetch: fix status output when not storing tracking ref\n      git-fetch: always show status of non-tracking-ref fetches\n      git-remote: show all remotes with \"git remote show\"\n      Don't force imap.host to be set when imap.tunnel is set\n      t5516: remove ambiguity test (1)\n      doc/git-gc: add a note about what is collected\n      push: allow unqualified dest refspecs to DWIM\n      remote: create fetch config lines with '+'\n      fix reflog approxidate parsing bug\n      cvsimport: always pass user data to \"system\" as a list\n      Documentation: point git-prune users to git-gc\n      add merge.renamelimit config option\n      bump rename limit defaults\n      diff: make \"too many files\" rename warning optional\n      checkout: don't rfc2047-encode oneline on detached HEAD\n      doc: clarify definition of \"update\" for git-add -u\n      fix bsd shell negation\n      t5000: tar portability fix\n      clone: bsd shell portability fix\n      filter-branch: fix variable export logic\n      doc/git-daemon: s/uploadarchive/uploadarch/\n      git-am: fix typo in usage message\n      send-email: specify content-type of --compose body\n      send-email: rfc2047-quote subject lines with non-ascii characters\n      clone: make sure we support the transport type\n      Fix \"git clone http://$URL\" to check out the worktree when asked\n      document --pretty=tformat: option\n      clean up error conventions of remote.c:match_explicit\n\nJohan Herland (5):\n      Add a test for another combination of --reference\n      Add test for cloning with \"--reference\" repo being a subset of source repo\n      cpio is no longer used by git-clone\n      Consistency: Use \"libcurl\" instead of \"cURL library\" and \"curl\"\n      The \"curl\" executable is no longer required\n\nJohannes Schindelin (12):\n      Provide git_config with a callback-data parameter\n      builtin-clone: fix initial checkout\n      cvsexportcommit: chomp only removes trailing whitespace\n      diff options: Introduce --ignore-submodules\n      Teach update-index about --ignore-submodules\n      Ignore dirty submodule states during rebase and stash\n      cvsexportcommit: introduce -W for shared working trees (between Git and CVS)\n      submodule update: add convenience option --init\n      pull --rebase: exit early when the working directory is dirty\n      mailsplit and mailinfo: gracefully handle NUL characters\n      hg-to-git: add --verbose option\n      merge-recursive: respect core.autocrlf when writing out the result\n\nJohannes Sixt (11):\n      Document option --only of git commit\n      builtin-commit.c: Remove a redundant assignment.\n      git-gui: Report less precise object estimates for database compression\n      compat-util: avoid macro redefinition warning\n      wt-status.h: declare global variables as extern\n      rev-parse --symbolic-full-name: don't print '^' if SHA1 is not a ref\n      t5700-clone-reference: Quote $U\n      Revert \"filter-branch: subdirectory filter needs --full-history\"\n      rebase --interactive: Compute upstream SHA1 before switching branches\n      make_nonrelative_path: Use is_absolute_path()\n      Remove exec bit from builtin-fast-export.c\n\nJohn J. Franey (1):\n      Clarify description of <repository> argument to pull/fetch for naming remotes.\n\nJon Loeliger (4):\n      Clarify and fix English in \"git-rm\" documentation\n      Add otherwise missing --strict option to unpack-objects summary.\n      git-filter-branch: Clarify file removal example.\n      git-show.txt: Not very stubby these days.\n\nJonas Fonseca (1):\n      git-remote: reject adding remotes with invalid names\n\nJunio C Hamano (80):\n      Optimize rename detection for a huge diff\n      t5300: add test for \"unpack-objects --strict\"\n      unpack-objects: fix --strict handling\n      rebase [--onto O] A B: omit needless checkout\n      sha1-lookup: more memory efficient search in sorted list of SHA-1\n      diff: make --dirstat binary-file safe\n      sha1-lookup: make selection of 'middle' less aggressive\n      log: teach \"terminator\" vs \"separator\" mode to \"--pretty=format\"\n      Document -w option to shortlog\n      Documentation/git-submodule: typofix\n      git_config_bool_or_int()\n      t7401: squelch garbage output\n      write_index(): optimize ce_smudge_racily_clean_entry() calls with CE_UPTODATE\n      diff-files: mark an index entry we know is up-to-date as such\n      Fix git_config_bool_or_int\n      rebase: do not munge commit log message\n      git-am: minor cleanup\n      am: POSIX portability fix\n      GIT 1.5.5.1\n      First batch of post 1.5.5 updates\n      write-tree: properly detect failure to write tree objects\n      clone: detect and fail on excess parameters\n      fetch-pack: brown paper bag fix\n      diff: a submodule not checked out is not modified\n      diff-lib.c: rename check_work_tree_entity()\n      is_racy_timestamp(): do not check timestamp for gitlinks\n      git-svn: add test for --add-author-from and --use-log-author\n      builtin-apply: typofix\n      builtin-apply: accept patch to an empty file\n      builtin-apply: do not declare patch is creation when we do not know it\n      unpack-trees: allow Porcelain to give different error messages\n      \"git-add -n -u\" should not add but just report\n      tests: do not use implicit \"git diff --no-index\"\n      diff-files: do not play --no-index games\n      \"git diff\": do not ignore index without --no-index\n      mailinfo: apply the same fix not to lose NULs in BASE64 and QP codepaths\n      mailsplit: minor clean-up in read_line_with_nul()\n      Update draft release notes for 1.5.6\n      log --graph: do not accept log --graphbogus\n      log --pretty: do not accept bogus \"--prettyshort\"\n      Release Notes for 1.5.5.2\n      Documentation/git.txt: link to 1.5.5.2 documentation.\n      Makefile: fix dependency on wt-status.h\n      show-branch --current: do not barf on detached HEAD\n      git-diff: allow  --no-index semantics a bit more\n      git diff --no-index: default to page like other diff frontends\n      GIT 1.5.5.3\n      t5100: Avoid filename \"nul\"\n      Git::cat_blob: allow using an empty blob to fix git-svn breakage\n      fix sha1_pack_index_name()\n      Manual subsection to refer to other pages is SEE ALSO\n      Documentation: git-cherry uses git-patch-id\n      \"git checkout -- paths...\" should error out when paths cannot be written\n      checkout: make reset_clean_to_new() not die by itself\n      checkout: consolidate reset_{to_new,clean_to_new}()\n      unpack_trees(): allow callers to differentiate worktree errors from merge errors\n      checkout: \"best effort\" checkout\n      commit: drop duplicated parents\n      GIT v1.5.6-rc1\n      t7502: do not globally unset GIT_COMMITTER_* environment variables\n      t7502: tighten loosely written test sequence\n      Documentation: git-log cannot use rev-list specific options\n      t7502: honor SHELL_PATH\n      GIT 1.5.5.4\n      GIT 1.5.6-rc2\n      http-push.c: remove duplicated code\n      \"remote prune\": be quiet when there is nothing to prune\n      Documentation/git-pull.txt: Use more standard [NOTE] markup\n      Documentation: exclude @pxref{[REMOTES]} from texinfo intermediate output\n      user-manual: describe how higher stages are set during a merge\n      t4126: fix test that happened to work due to timing\n      sha1_file.c: dead code removal\n      GIT 1.5.6-rc3\n      Makefile: update check-docs target\n      Update RPM spec to drop curl executable requirement\n      diff.c: fix emit_line() again not to add extra line\n      create_tempfile: make sure that leading directories can be accessible by peers\n      sha1_file.c: simplify parse_pack_index()\n      builtin-rerere: fix a small leak\n      GIT 1.5.6\n\nJörg Sommer (1):\n      post-merge: Add it's not executed if merge failed.\n\nKarl Hasselström (3):\n      Add some tests for git update-ref -d\n      Fix path duplication in git svn commit-diff\n      Revert \"git.el: Set process-environment instead of invoking env\"\n\nKevin Ballard (1):\n      Documentation/git-filter-branch.txt: Fix description of --commit-filter\n\nKrzysztof Kowalczyk (1):\n      alloc_ref_from_str(): factor out a common pattern of alloc_ref from string\n\nLars Hjemli (8):\n      Add platform-independent .git \"symlink\"\n      Teach resolve_gitlink_ref() about the .git file\n      Teach git-submodule.sh about the .git file\n      Teach GIT-VERSION-GEN about the .git file\n      git-branch: add support for --merged and --no-merged\n      git-branch.txt: compare --contains, --merged and --no-merged\n      Add tests for `branch --[no-]merged`\n      revision.c: really honor --first-parent\n\nLea Wiemann (13):\n      gitweb: only display \"next\" links in logs if there is a next page\n      t/test-lib.sh: resolve symlinks in working directory, for pathname comparisons\n      Git.pm: fix documentation of hash_object\n      glossary: improve a few links\n      Git.pm: fix return value of config method\n      cat-file --batch: flush stdout also when objects are missing\n      git-for-each-ref.txt: minor improvements\n      t1006-cat-file.sh: typo\n      cat-file --batch / --batch-check: do not exit if hashes are missing\n      Documentation/git-cat-file.txt: add missing line break\n      t/.gitattributes: only ignore whitespace errors in test files\n      gitweb: quote commands properly when calling the shell\n      gitweb: remove unused parse_ref method\n\nLinus Torvalds (22):\n      Make unpack_trees_options bit flags actual bitfields\n      Move name hashing functions into a file of its own\n      Make \"index_name_exists()\" return the cache_entry it found\n      Make hash_name_lookup able to do case-independent lookups\n      Add 'core.ignorecase' option\n      Make branch merging aware of underlying case-insensitive filsystems\n      Make unpack-tree update removed files before any updated files\n      When adding files to the index, add support for case-independent matches\n      Make git-add behave more sensibly in a case-insensitive environment\n      Ignore leading empty lines while summarizing merges\n      git-am: cope better with an empty Subject: line\n      Optimize match_pathspec() to avoid fnmatch()\n      fetch-pack: do not stop traversing an already parsed commit\n      Avoid some unnecessary lstat() calls\n      Optimize symlink/directory detection\n      Make pack creation always fsync() the result\n      Remove now unnecessary 'sync()' calls\n      Consolidate SHA1 object file close\n      Avoid cross-directory renames and linking on object creation\n      Make loose object file reading more careful\n      Simplify and rename find_sha1_file()\n      write_loose_object: don't bother trying to read an old object\n\nLiu Yubao (1):\n      Documentation on --git-dir and --work-tree\n\nLuciano Rocha (1):\n      git-init: accept --bare option\n\nMarcel Koeppen (2):\n      Replace in-place sed in t7502-commit\n      Fix prepare-commit-msg hook and replace in-place sed\n\nMarius Storm-Olsen (3):\n      Clearify the documentation for core.ignoreStat\n      Add shortcut in refresh_cache_ent() for marked entries.\n      Add testcase for merging in a CRLF repo\n\nMark Hills (1):\n      Be more careful with objects directory permissions on clone\n\nMark Levedahl (2):\n      git-submodule - possibly use branch name to describe a module\n      git-submodule - Fix errors regarding resolve_relative_url\n\nMartin Koegler (3):\n      unpack-objects: prevent writing of inconsistent objects\n      receive-pack: allow using --strict mode for unpacking objects\n      t5300: add test for \"index-pack --strict\"\n\nMatt Graham (1):\n      Linked glossary from cvs-migration page\n\nMatthew Ogilvie (4):\n      gitattributes: Fix subdirectory attributes specified from root directory\n      git-cvsserver: add mechanism for managing working tree and current directory\n      implement gitcvs.usecrlfattr\n      git-cvsserver: add ability to guess -kb from contents\n\nMatthias Kestenholz (1):\n      Use color.ui variable in scripts too\n\nMatthieu Moy (2):\n      Document that WebDAV doesn't need git on the server, and works over SSL\n      git-svn: detect and fail gracefully when dcommitting to a void\n\nMichael Dressel (1):\n      describe: match pattern for lightweight tags too\n\nMichael Weber (1):\n      svn-git: Use binmode for reading/writing binary rev maps\n\nMichele Ballabio (6):\n      revision.c: make --date-order overriddable\n      gitk: Disable \"Reset %s branch to here\" when on a detached head\n      gitk: Move es.po where it belongs\n      builtin-cat-file.c: use parse_options()\n      change quoting in test t1006-cat-file.sh\n      Documentation: fix graph in git-rev-parse.txt\n\nMikael Magnusson (1):\n      Typo in RelNotes.\n\nMike Hommey (1):\n      Don't allocate too much memory in quote_ref_url\n\nMike Ralphson (1):\n      Makefile: update the default build options for AIX\n\nMiklos Vajna (19):\n      git-gc --auto: add pre-auto-gc hook\n      Documentation/hooks: add pre-auto-gc hook\n      contrib/hooks: add an example pre-auto-gc hook\n      diff options documentation: refer to --diff-filter in --name-status\n      git checkout: add -t alias for --track\n      git-format-patch: add a new format.cc configuration variable\n      git-send-email: add a new sendemail.cc configuration variable\n      Add tests for sendemail.cc configuration variable\n      INSTALL: add a note about GNU interactive tools has been renamed\n      git-fast-import: rename cmd_*() functions to parse_*()\n      git-merge: exclude unnecessary options from OPTIONS_SPEC\n      CodingGuidelines: Add a note to avoid assignments inside if()\n      Revision walking documentation: document most important functions\n      Strbuf documentation: document most functions\n      Remove unused code in parse_commit_buffer()\n      git-rebase -i: mention the short command aliases in the todo list\n      git-read-tree: document -v option.\n      run-command documentation: fix \"memset()\" parameter\n      path-list documentation: document all functions and data structures\n\nNicolas Pitre (10):\n      pack-objects: small cleanup\n      pack-objects: remove some double negative logic\n      pack-objects: simplify the condition associated with --all-progress\n      pack-objects: clean up write_object() a bit\n      pack-objects: move compression code in a separate function\n      pack-objects: allow for early delta deflating\n      pack-objects: fix early eviction for max depth delta objects\n      add a force_object_loose() function\n      let pack-objects do the writing of unreachable objects as loose objects\n      make verify-pack a bit more useful with bad packs\n\nOlivier Marin (5):\n      remote show: fix the -n option\n      builtin-remote: split show_or_prune() in two separate functions\n      remote prune: print the list of pruned branches\n      remote show: list tracked remote branches with -n\n      Fix approxidate(\"never\") to always return 0\n\nPaolo Bonzini (3):\n      Add a remote.*.mirror configuration option\n      add special \"matching refs\" refspec\n      rollback lock files on more signals than just SIGINT\n\nPaul Mackerras (41):\n      gitk: Use git log without --topo-order and reorganize the commits ourselves\n      gitk: Fix bug in assigning row numbers to arcs\n      gitk: Fix bug in parsing multiple revision arguments\n      gitk: Compute row numbers and order tokens lazily\n      gitk: Fix a couple of bugs\n      gitk: Fix more bugs resulting in Tcl \"no such element in array\" errors\n      gitk: More bug fixes and cleanups\n      gitk: Implement date mode in the new framework\n      gitk: Fix another collection of bugs\n      gitk: Don't try to show local changes from a head that isn't shown\n      gitk: Keep the same commits visible as other commits come in\n      gitk: Fix some corner cases in the targetid/targetrow stuff\n      gitk: Fix a couple of bugs in the find function\n      gitk: Fix potential bug with fake commit IDs in renumbervarc\n      gitk: Index [fnvr]highlights by id rather than row\n      gitk: Fix handling of flag arguments\n      gitk: Fix a bug in make_disporder\n      gitk: Select head of current branch by default\n      gitk: Select something appropriate on cherry-pick, branch reset and checkout\n      gitk: Fix bug where editing an existing view would cause an infinite loop\n      gitk: Fix bug causing Tcl error when no commits are selected\n      gitk: Fix cherry-picking to insert a real row not a fake row\n      gitk: Cope better with getting commits that we have already seen\n      gitk: Fix bug where arcs could get lost\n      gitk: Handle updating with path limiting better\n      gitk: Fix problems with target row stuff\n      gitk: Don't filter view arguments through git rev-parse\n      gitk: Correct a few strings and comments to say \"git log\"\n      gitk: Fix some corner cases in computing vrowmod and displayorder\n      gitk: Avoid a crash in selectline if commitinfo($id) isn't set\n      gitk: Fix problem with target row not being in scroll region\n      gitk: Reorganize processing of arguments for git log\n      gitk: Fix handling of tree file list with special chars in names\n      gitk: Make updates go faster\n      gitk: Synchronize highlighting in file view for 'f' and 'b' commands\n      gitk: Show current row number and total number of rows\n      gitk: Add a progress bar for checking out a head\n      gitk: Fix \"wrong # coordinates\" error on reload\n      gitk: Fix bug where current row number display stops working\n      gitk: Fix bug introduced by \"gitk: Fix \"wrong # coordinates\" error on reload\"\n      gitk: Handle detached heads better\n\nPaul Oliver (1):\n      Make git-cvsimport remove ['s from tags, as bad_ref_char doesn't allow them.\n\nPedro Melo (1):\n      Force the medium pretty format on calls to git log\n\nPeter Karlsson (1):\n      gitk: Initial Swedish translation.\n\nPhilippe Bruhat (BooK) (1):\n      git-cvsimport: do not fail when CVSROOT is /\n\nPierre Habouzit (1):\n      Make git reflog expire honour core.sharedRepository.\n\nPieter de Bie (2):\n      builtin-fast-export: Only output a single parent per line\n      git-send-email: allow whitespace in addressee list\n\nPing Yin (6):\n      git-submodule: Avoid 'fatal: cannot describe' message\n      git-submodule summary: --for-status option\n      builtin-status: submodule summary support\n      builtin-status: Add tests for submodule summary\n      t4027: test diff for submodule with empty directory\n      Add t7506 to test submodule related functions for git-status\n\nRafael Garcia-Suarez (1):\n      Spelling fixes in the gitweb documentation\n\nRené Scharfe (2):\n      git-archive: ignore prefix when checking file attribute\n      Ignore .gitattributes in bare repositories\n\nRichard Quirk (2):\n      bash: Add completion for gitk --merge\n      Documentation gitk: Describe what --merge does\n\nSZEDER Gábor (8):\n      doc: moved merge.* config variables into separate merge-config.txt\n      merge, pull: introduce '--(no-)stat' option\n      add 'merge.stat' config variable\n      fmt-merge-msg: add '--(no-)log' options and 'merge.log' config variable\n      merge, pull: add '--(no-)log' command line option\n      git add: add long equivalents of '-u' and '-f' options\n      completion: add more 'git add' options\n      diff: reset color before printing newline\n\nSam Vilain (1):\n      Amend git-push refspec documentation\n\nSanti Béjar (3):\n      Preparation to call determine_author_info from prepare_to_commit\n      commit: Show author if different from committer\n      commit: Show committer if automatic\n\nSantiago Gala (1):\n      gitk: Spanish translation of gitk\n\nScott Collins (1):\n      Clarify documentation of git-cvsserver, particularly in relation to git-shell\n\nSebastian Schuberth (1):\n      mergetool: Make ECMerge use the settings as specified by the user in the GUI\n\nSeth Falcon (1):\n      Add a --dry-run option to git-svn rebase\n\nShawn Bohrer (2):\n      git clean: Don't automatically remove directories when run within subdirectory\n      git clean: Add test to verify directories aren't removed with a prefix\n\nShawn O. Pearce (13):\n      git-gui: Don't use '$$cr master' with aspell earlier than 0.60\n      git-gui: Setup branch.remote,merge for shorthand git-pull\n      git-gui: Delete branches with 'git branch -D' to clear config\n      git-gui: Add a --trace command line option\n      git-gui: Handle workdir detection when CYGWIN=nowinsymlinks\n      Clarify repack -n documentation\n      Don't diff empty tree on branch creation in paranoid update hook\n      Don't load missing ACL files in paranoid update hook\n      Ignore no-op changes in paranoid update hook\n      Remove unused remote_prefix member in builtin-remote\n      Make \"git-remote prune\" delete refs according to fetch specs\n      Make \"git-remote rm\" delete refs acccording to fetch specs\n      fast-export: Correctly generate initial commits with no parents\n\nSitaram Chamarty (1):\n      builtin-commit.c: add -u as short name for --untracked-files\n\nSteffen Prohaska (4):\n      t0050: Test autodetect core.ignorecase\n      t0050: Set core.ignorecase case to activate case insensitivity\n      t0050: Add test for case insensitive add\n      t0050: Fix merge test on case sensitive file systems\n\nStephan Beyer (9):\n      builtin-apply.c: use git_config_string() to get apply_default_whitespace\n      Add test cases for git-am\n      Merge t4150-am-subdir.sh and t4151-am.sh into t4150-am.sh\n      git-commit.txt: Correct option alternatives\n      git-commit.txt: Add missing long/short options\n      Docs: Use \"-l::\\n--long\\n\" format in OPTIONS sections\n      Docs: add some long/short options\n      git-describe.txt: document --always\n      git-name-rev.txt: document --no-undefined and --always\n\nStephen R. van den Berg (2):\n      Simplify and fix --first-parent implementation\n      git-svn: Same default as cvsimport when using --use-log-author\n\nSteven Grimm (1):\n      Add svn-compatible \"blame\" output format to git-svn\n\nTeemu Likonen (3):\n      bash: Add completion for git diff --base --ours --theirs\n      Documentation/git-web--browse.txt: fix small typo\n      Print info about \"git help COMMAND\" on git's main usage pages\n\nThomas Arcila (1):\n      gitk: Allow users to view diffs in external diff viewer\n\nThomas Guyot-Sionnest (1):\n      git-svn bug with blank commits and author file\n\nTrent Piepho (1):\n      cvsexportcommit: Create config option for CVS dir\n\nTwiinz (1):\n      git-gui: Vertically align textboxes with labels\n\nmartin f. krafft (2):\n      Escape project name in regexp\n      Escape project names before creating pathinfo URLs\n"},{"id":"80292","messageId":"7vbq1xx4y8.fsf@gitster.siamese.dyndns.org","threadId":"14019","inReplyTo":"7vmylixr6h.fsf@gitster.siamese.dyndns.org","subject":"A note from the maintainer","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-06-19T07:24:31Z","receivedAt":"2008-06-19T07:24:31Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Welcome to git community.\n\nThis message talks about how git.git is managed, and how you can work\nwith it.\n\n* IRC and Mailing list\n\nMany active members of development community hang around on #git\nIRC channel on Freenode.  Its log is available at:\n\n        http://colabti.org/irclogger/irclogger_log/git\n\nThe development however is primarily done on the git mailing list\n(git@vger.kernel.org).  If you have patches, please send them to the\nlist, following Documentation/SubmittingPatches.\n\nI usually try to read all patches posted to the list, and follow\nalmost all the discussions on the list, unless the topic is about an\nobscure corner that I do not personally use.  But I am obviously not\nperfect.  If you sent a patch that you did not hear from anybody for\nthree days, that is a very good indication that it was dropped on the\nfloor --- please do not hesitate to remind me.\n\nThe list archive is available at a few public sites as well:\n\n        http://news.gmane.org/gmane.comp.version-control.git/\n        http://marc.theaimsgroup.com/?l=git\n        http://www.spinics.net/lists/git/\n\nand some people seem to prefer to read it over NNTP:\n\n        nntp://news.gmane.org/gmane.comp.version-control.git\n\nWhen you point at a message in a mailing list archive, using\ngmane is often the easiest to follow by readers, like this:\n\n        http://thread.gmane.org/gmane.comp.version-control.git/27/focus=217\n\nas it also allows people who subscribe to the mailing list as\ngmane newsgroup to \"jump to\" the article.\n\n* Repositories, branches and documentation.\n\nMy public git.git repository is at:\n\n        git://git.kernel.org/pub/scm/git/git.git/\n\nImmediately after I publish to the primary repository at kernel.org, I\nalso push into an alternate here:\n\n        git://repo.or.cz/alt-git.git/\n\nImpatient people might have better luck with the latter one.\n\nTheir gitweb interfaces are found at:\n\n        http://git.kernel.org/?p=git/git.git\n        http://repo.or.cz/w/alt-git.git\n\nThere are three branches in git.git repository that are not\nabout the source tree of git: \"todo\", \"html\" and \"man\".  The\nfirst one was meant to contain TODO list for me, but I am not\ngood at maintaining such a list and it is not as often updated as\nit could/should be.  It also contains some helper scripts I use\nto maintain git.\n\nThe \"html\" and \"man\" are autogenerated documentation from the\ntip of the \"master\" branch; the tip of \"html\" is extracted to be\nvisible at kernel.org at:\n\n        http://www.kernel.org/pub/software/scm/git/docs/\n\nThe above URL is the top-level documentation page, and it has\nlinks to documentation of older releases.\n\nThe script to maintain these two documentation branches are\nfound in \"todo\" branch as dodoc.sh, if you are interested.  It\nis a good demonstration of how to use an update hook to automate\na task.\n\nThere are four branches in git.git repository that track the\nsource tree of git: \"master\", \"maint\", \"next\", and \"pu\".  I may\nadd more maintenance branches (e.g. \"maint-1.5.4\") if we have\nhugely backward incompatible feature updates in the future to keep\nan older release alive; I may not, but the distributed nature of\ngit means any volunteer can run a stable-tree like that herself.\n\nThe \"master\" branch is meant to contain what are very well\ntested and ready to be used in a production setting.  There\ncould occasionally be minor breakages or brown paper bag bugs\nbut they are not expected to be anything major, and more\nimportantly quickly and trivially fixable.  Every now and\nthen, a \"feature release\" is cut from the tip of this branch and\nthey typically are named with three dotted decimal digits.  The\nlast such release was 1.5.6 done on Jun 18th this year.  You\ncan expect that the tip of the \"master\" branch is always more\nstable than any of the released versions.\n\nWhenever a feature release is made, \"maint\" branch is forked off\nfrom \"master\" at that point.  Obvious, safe and urgent fixes\nafter a feature release are applied to this branch and\nmaintenance releases are cut from it.  The maintenance releases\nare named with four dotted decimal, named after the feature\nrelease they are updates to; the last such release was 1.5.5.4.\nNew features never go to this branch.  This branch is also\nmerged into \"master\" to propagate the fixes forward.\n\nA trivial and safe enhancement goes directly on top of \"master\".\nA new development, either initiated by myself or more often by\nsomebody who found his or her own itch to scratch, does not\nusually happen on \"master\", however.  Instead, a separate topic\nbranch is forked from the tip of \"master\", and it first is\ntested in isolation; I may make minimum fixups at this point.\nUsually there are a handful such topic branches that are running\nahead of \"master\" in git.git repository.  I do not publish the\ntip of these branches in my public repository, however, partly\nto keep the number of branches that downstream developers need\nto worry about low, and primarily because I am lazy.\n\nThe quality of topic branches are judged primarily by the mailing list\ndiscussions.  Some of them start out as \"good idea but obviously is\nbroken in some areas (e.g. breaks the existing testsuite)\" and then\nwith some more work (either by the original contributor's effort or\nhelp from other people on the list) becomes \"more or less done and can\nnow be tested by wider audience\".  Luckily, most of them start out in\nthe latter, better shape.\n\nThe \"next\" branch is to merge and test topic branches in the\nlatter category.  In general, the branch always contains the tip\nof \"master\".  It might not be quite rock-solid production ready,\nbut is expected to work more or less without major breakage.  I\nusually use \"next\" version of git for my own work, so it cannot\nbe _that_ broken to prevent me from pushing the changes out.\nThe \"next\" branch is where new and exciting things take place.\n\nThe two branches \"master\" and \"maint\" are never rewound, and\n\"next\" usually will not be either (this automatically means the\ntopics that have been merged into \"next\" are usually not\nrebased, and you can find the tip of topic branches you are\ninterested in from the output of \"git log next\"). You should be\nable to safely track them.\n\nAfter a feature release is made from \"master\", however, \"next\"\nwill be rebuilt from the tip of \"master\" using the surviving\ntopics.  The commit that replaces the tip of the \"next\" will\nhave the identical tree, but it will have different ancestry\nfrom the tip of \"master\".  An announcement will be made to warn\npeople about such a rebasing.\n\nThe \"pu\" (proposed updates) branch bundles all the remainder of\ntopic branches.  The \"pu\" branch, and topic branches that are\nonly in \"pu\", are subject to rebasing in general.  By the above\ndefinition of how \"next\" works, you can tell that this branch\nwill contain quite experimental and obviously broken stuff.\n\nWhen a topic that was in \"pu\" proves to be in testable shape, it\ngraduates to \"next\".  I do this with:\n\n        git checkout next\n        git merge that-topic-branch\n\nSometimes, an idea that looked promising turns out to be not so\ngood and the topic can be dropped from \"pu\" in such a case.\n\nA topic that is in \"next\" is expected to be tweaked and fixed to\nperfection before it is merged to \"master\" (that's why \"master\"\ncan be expected to stay very stable).  Similarly to the above, I\ndo it with this:\n\n        git checkout master\n        git merge that-topic-branch\n        git branch -d that-topic-branch\n\nNote that being in \"next\" is not a guarantee to appear in the\nnext release (being in \"master\" is such a guarantee, unless it\nis later found seriously broken and reverted), or even in any\nfuture release.  There even were cases that topics needed\nreverting a few commits in them before graduating to \"master\",\nor a topic that already was in \"next\" were entirely reverted\nfrom \"next\" because fatal flaws were found in them later.\n\nStarting from v1.5.0, \"master\" and \"maint\" have release notes\nfor the next release in Documentation/RelNotes-* files, so that\nI do not have to run around summarizing what happened just\nbefore the release.\n\n\n* Other people's trees, trusted lieutenants and credits.\n\nDocumentation/SubmittingPatches outlines who your changes should\nbe sent to.  As described in contrib/README, I would delegate\nfixes and enhancements in contrib/ area to primary contributors\nof them.\n\nAlthough the following are included in git.git repository, they\nhave their own authoritative repository and maintainers:\n\n - git-gui/ comes from Shawn Pearce's git-gui project:\n\n        git://repo.or.cz/git-gui.git\n\n - gitk-git/ comes from Paul Mackerras's gitk project:\n\n        git://git.kernel.org/pub/scm/gitk/gitk.git\n\nI would like to thank everybody who helped to raise git into the\ncurrent shape.  Especially I would like to thank the git list\nregulars whose help I have relied on and expect to continue\nrelying on heavily:\n\n - Linus on general design issues.\n\n - Linus, Shawn Pearce, Johannes Schindelin, Nicolas Pitre,\n   René Scharfe and Jeff King on general implementation issues.\n\n - Shawn and Nicolas Pitre on pack issues.\n\n - Martin Langhoff and Frank Lichtenheld on cvsserver and cvsimport.\n\n - Paul Mackerras on gitk.\n\n - Eric Wong on git-svn.\n\n - Simon Hausmann on git-p4.\n\n - Jakub Narebski, Petr Baudis, and Luben Tuikov on gitweb.\n\n - J. Bruce Fields on documentaton issues.\n\n - Johannes Schindelin, Johannes Sixt and others for their effort\n   to move things forward on the Windows front.  Although my\n   repository does not have much from the effort of MinGW team,\n   I expect a merge into mainline will happen so that everybody\n   can work from the same codebase.\n\n - People on non-Linux platforms for keeping their eyes on\n   portability; especially, Randal Schwartz, Theodore Ts'o,\n   Jason Riedy, Thomas Glanzmann, but countless others as well.\n\n* This document\n\nThe latest copy of this document is found in git.git repository,\non 'todo' branch, as MaintNotes.\n"},{"id":"80302","messageId":"7vzlphvl69.fsf_-_@gitster.siamese.dyndns.org","threadId":"14019","inReplyTo":"7vbq1xx4y8.fsf@gitster.siamese.dyndns.org","subject":"'next' will be rewound shortly","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-06-19T09:17:02Z","receivedAt":"2008-06-19T09:17:02Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Following the new tradition we began a few releases ago, I'll rewind the\ntip of 'next' shortly.  Two topics will be kicked back to 'pu' while we\nare at it (jc/send-pack-tell-me-more and js/rebase-i-sequencer).\n\nThis is just an advance warning.\n"},{"id":"80627","messageId":"2305738E-573B-4058-9327-B50B89FA7A96@zib.de","threadId":"14019","inReplyTo":"7vmylixr6h.fsf@gitster.siamese.dyndns.org","subject":"Re: [ANNOUNCE] GIT 1.5.6","fromName":"Steffen Prohaska","fromEmail":"prohaska@zib.de","sentAt":"2008-06-22T16:54:58Z","receivedAt":"2008-06-22T16:54:58Z","isPatch":false,"sender":{"key":"prohaska@zib.de","avatar":"https://avatars.githubusercontent.com/u/217580?v=4"},"body":"\n\nOn Jun 19, 2008, at 1:24 AM, Junio C Hamano wrote:\n\n> The latest feature release GIT 1.5.6 is available at the usual\n> places:\n\n\nThe msysgit Windows installer is available at\n\n    http://code.google.com/p/msysgit/downloads\n\n\tSteffen\n"},{"id":"81241","messageId":"7v3an0u367.fsf@gitster.siamese.dyndns.org","threadId":"14019","inReplyTo":"7vmylixr6h.fsf@gitster.siamese.dyndns.org","subject":"[ANNOUNCE] GIT 1.5.6.1","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-06-26T06:21:36Z","receivedAt":"2008-06-26T06:21:36Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"The latest maintenance release GIT 1.5.6.1 is available at the\nusual places:\n\n  http://www.kernel.org/pub/software/scm/git/\n\n  git-1.5.6.1.tar.{gz,bz2}\t\t\t(tarball)\n  git-htmldocs-1.5.6.1.tar.{gz,bz2}\t\t(preformatted docs)\n  git-manpages-1.5.6.1.tar.{gz,bz2}\t\t(preformatted docs)\n  RPMS/$arch/git-*-1.5.6.1-1.$arch.rpm\t(RPM)\n\nGIT v1.5.6.1 Release Notes\n==========================\n\nFixes since v1.5.6\n------------------\n\n* Last minute change broke loose object creation on AIX.\n\n* (performance fix) We used to make $GIT_DIR absolute path early in the\n  programs but keeping it relative to the current directory internally\n  gives 1-3 per-cent performance boost.\n\n* bash completion knows the new --graph option to git-log family.\n\n\n* git-diff -c/--cc showed unnecessary \"deletion\" lines at the context\n  boundary.\n\n* git-for-each-ref ignored %(object) and %(type) requests for tag\n  objects.\n\n* git-merge usage had a typo.\n\n* Rebuilding of git-svn metainfo database did not take rewriteRoot\n  option into account.\n\n* Running \"git-rebase --continue/--skip/--abort\" before starting a\n  rebase gave nonsense error messages.\n\n----------------------------------------------------------------\n\nChanges since v1.5.6 are as follows:\n\nBrandon Casey (2):\n      git-merge.sh: fix typo in usage message: sucesses --> succeeds\n      t7502-commit.sh: test_must_fail doesn't work with inline environment variables\n\nDan McGee (1):\n      completion: add --graph to log command completion\n\nDmitry Potapov (1):\n      fix update-hook-example to work with packed tag references\n\nJan Krüger (2):\n      Documentation: fix formatting in git-svn\n      git-svn: make rebuild respect rewriteRoot option\n\nJeff King (2):\n      for-each-ref: implement missing tag values\n      clone: create intermediate directories of destination repo\n\nJunio C Hamano (2):\n      diff -c/--cc: do not include uninteresting deletion before leading context\n      GIT 1.5.6.1\n\nLinus Torvalds (1):\n      Make git_dir a path relative to work_tree in setup_work_tree()\n\nMichele Ballabio (1):\n      parse-options.c: fix documentation syntax of optional arguments\n\nPatrick Higgins (1):\n      Workaround for AIX mkstemp()\n\nStephan Beyer (4):\n      git-rebase.sh: Add check if rebase is in progress\n      api-builtin.txt: update and fix typo\n      api-parse-options.txt: Introduce documentation for parse options API\n      Extend parse-options test suite\n"},{"id":"81416","messageId":"20080627161220.GB6201@leksak.fem-net","threadId":"14019","inReplyTo":"7vzlphvl69.fsf_-_@gitster.siamese.dyndns.org","subject":"Re: 'next' will be rewound shortly","fromName":"Stephan Beyer","fromEmail":"s-beyer@gmx.net","sentAt":"2008-06-27T16:12:20Z","receivedAt":"2008-06-27T16:12:20Z","isPatch":false,"sender":{"key":"s-beyer@gmx.net","avatar":"https://avatars.githubusercontent.com/u/143889?v=4"},"body":"Hi Junio,\n\n> Following the new tradition we began a few releases ago, I'll rewind the\n> tip of 'next' shortly.  Two topics will be kicked back to 'pu' while we\n> are at it (jc/send-pack-tell-me-more and js/rebase-i-sequencer).\n\nI wonder why the bugfix commit\n\n\taec7e9cd\tDon't append default merge message to -m message\n\nhas disappeared or why/if this belongs to js/rebase-i-sequencer.\n\nI noticed this because a test case of sequencer failed during rebasing\nto pure \"master\"/\"next\" without js/rebase-i-sequencer.\n\n\nI also have a question:\nmy development branch for the sequencer prototype is based on next,\nthen:\n\t* Merge js/rebase-i-sequencer\n\t* ... development ...\n\nThe only reason that makes js/rebase-i-sequencer important (besides\naec7e9cd which is mentioned above), is for the last patch\n(\"Migrate rebase-i to use sequencer\") in the patchset that I want to\nsend to the list.  (Otherwise a lot of work of Joerg Sommer would be\nannotated to me.)\nSo I wanted to\n 1. send a patchset based on \"master\"/\"next\" without the rebase-i\n    feature extentions of Joerg Sommer, and\n 2. resend the last patch (the one about rebase-i) based on \"pu\",\n    where js/rebase-i-sequencer is still merged into.\nIs this sane?\n\n(The other variant could be that I send the \"Merge js/rebase-i-sequencer\"\n commit as a patch to the list, but this sounds insane to me.)\n\nRegards,\n  Stephan\n\n-- \nStephan Beyer <s-beyer@gmx.net>, PGP 0x6EDDD207FCC5040F\n"},{"id":"81433","messageId":"20080627163411.GA2058@genesis.frugalware.org","threadId":"14019","inReplyTo":"20080627161220.GB6201@leksak.fem-net","subject":"Re: 'next' will be rewound shortly","fromName":"Miklos Vajna","fromEmail":"vmiklos@frugalware.org","sentAt":"2008-06-27T16:34:11Z","receivedAt":"2008-06-27T16:34:11Z","isPatch":false,"sender":{"key":"vmiklos@frugalware.org","avatar":"https://gravatar.com/avatar/401c1cbbb3a5d13e650c691a2c71d6fd0b80df1a01bc74d9f1972675dd58f2bd?d=mp&s=160"},"body":"On Fri, Jun 27, 2008 at 06:12:20PM +0200, Stephan Beyer <s-beyer@gmx.net> wrote:\n> I wonder why the bugfix commit\n> \n> \taec7e9cd\tDon't append default merge message to -m message\n> \n> has disappeared or why/if this belongs to js/rebase-i-sequencer.\n\nI think it its current form that is not a bugfix. The user may want to\nprepend a custom message and may want to replace the original message\nwith a custom one, and I would not consider either of them as \"buggy\".\n\nFunny enough, I just sent a patch:\n\nhttp://thread.gmane.org/gmane.comp.version-control.git/86584/focus=86589\n\nthat tests the original behaviour. ;-)\n"},{"id":"81443","messageId":"20080627171948.GC6201@leksak.fem-net","threadId":"14019","inReplyTo":"20080627163411.GA2058@genesis.frugalware.org","subject":"Re: 'next' will be rewound shortly","fromName":"Stephan Beyer","fromEmail":"s-beyer@gmx.net","sentAt":"2008-06-27T17:19:48Z","receivedAt":"2008-06-27T17:19:48Z","isPatch":false,"sender":{"key":"s-beyer@gmx.net","avatar":"https://avatars.githubusercontent.com/u/143889?v=4"},"body":"Hi,\n\nI just looked how you solved that and wanted to start a discussion but\nyou've swooped in first, find. ;-)\n\n> I think it its current form that is not a bugfix. The user may want to\n> prepend a custom message and may want to replace the original message\n> with a custom one, and I would not consider either of them as \"buggy\".\n\nWell, when I do -m <msg>, I expect that my commit message is exactly\n<msg>, and not <msg> with appended stuff.\nOf course, it doesn't matter what I expect, but I think what the\ndocumentation says matters.\nThis is (in \"master\" and in \"builtin-merge\" of vmiklos.git):\n\n-m <msg>::\n\tThe commit message to be used for the merge commit (in case\n\tit is created). The `git-fmt-merge-msg` script can be used\n\tto give a good default for automated `git-merge` invocations.\n\nSo it is not mentioned that a standard message is appended, and thus the\noriginal behavior is somehow \"buggy\" :)\n\nRegards,\n  Stephan\n\n-- \nStephan Beyer <s-beyer@gmx.net>, PGP 0x6EDDD207FCC5040F\n"},{"id":"81464","messageId":"20080627192819.GC2058@genesis.frugalware.org","threadId":"14019","inReplyTo":"20080627171948.GC6201@leksak.fem-net","subject":"Re: 'next' will be rewound shortly","fromName":"Miklos Vajna","fromEmail":"vmiklos@frugalware.org","sentAt":"2008-06-27T19:28:19Z","receivedAt":"2008-06-27T19:28:19Z","isPatch":false,"sender":{"key":"vmiklos@frugalware.org","avatar":"https://gravatar.com/avatar/401c1cbbb3a5d13e650c691a2c71d6fd0b80df1a01bc74d9f1972675dd58f2bd?d=mp&s=160"},"body":"On Fri, Jun 27, 2008 at 07:19:48PM +0200, Stephan Beyer <s-beyer@gmx.net> wrote:\n> -m <msg>::\n> \tThe commit message to be used for the merge commit (in case\n> \tit is created). The `git-fmt-merge-msg` script can be used\n> \tto give a good default for automated `git-merge` invocations.\n> \n> So it is not mentioned that a standard message is appended, and thus the\n> original behavior is somehow \"buggy\" :)\n\nAh, OK. Then the code and the documentation differs and that's a bug,\nsure.\n\nFrom git-merge.sh:\n\n# All the rest are the commits being merged; prepare\n# the standard merge summary message to be appended to\n# the given message.\n\nI did builtin-merge based on git-merge.sh, not the manpage. ;-)\n"},{"id":"81473","messageId":"7vd4m2r2iq.fsf@gitster.siamese.dyndns.org","threadId":"14019","inReplyTo":"20080627192819.GC2058@genesis.frugalware.org","subject":"Re: 'next' will be rewound shortly","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-06-27T21:28:29Z","receivedAt":"2008-06-27T21:28:29Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Miklos Vajna <vmiklos@frugalware.org> writes:\n\n> On Fri, Jun 27, 2008 at 07:19:48PM +0200, Stephan Beyer <s-beyer@gmx.net> wrote:\n>> -m <msg>::\n>> \tThe commit message to be used for the merge commit (in case\n>> \tit is created). The `git-fmt-merge-msg` script can be used\n>> \tto give a good default for automated `git-merge` invocations.\n>> \n>> So it is not mentioned that a standard message is appended, and thus the\n>> original behavior is somehow \"buggy\" :)\n>\n> Ah, OK. Then the code and the documentation differs and that's a bug,\n> sure.\n>\n> From git-merge.sh:\n>\n> # All the rest are the commits being merged; prepare\n> # the standard merge summary message to be appended to\n> # the given message.\n>\n> I did builtin-merge based on git-merge.sh, not the manpage. ;-)\n\nFollowing git tradition, manpage came after the command's behaviour has\nbeen long established.  It will be a behaviour change, and it is open to\ndebate if the new behaviour is better or if the proposed change of\nbehaviour hurts existing users.\n"},{"id":"81475","messageId":"20080627213605.GD2058@genesis.frugalware.org","threadId":"14019","inReplyTo":"7vd4m2r2iq.fsf@gitster.siamese.dyndns.org","subject":"Re: 'next' will be rewound shortly","fromName":"Miklos Vajna","fromEmail":"vmiklos@frugalware.org","sentAt":"2008-06-27T21:36:05Z","receivedAt":"2008-06-27T21:36:05Z","isPatch":false,"sender":{"key":"vmiklos@frugalware.org","avatar":"https://gravatar.com/avatar/401c1cbbb3a5d13e650c691a2c71d6fd0b80df1a01bc74d9f1972675dd58f2bd?d=mp&s=160"},"body":"On Fri, Jun 27, 2008 at 02:28:29PM -0700, Junio C Hamano <gitster@pobox.com> wrote:\n> Following git tradition, manpage came after the command's behaviour has\n> been long established.  It will be a behaviour change, and it is open to\n> debate if the new behaviour is better or if the proposed change of\n> behaviour hurts existing users.\n\nIf my opinion counts, I like the current (\"prepend\") one, and I think\nthe best would be to add a new option (and/or make it configurable) for\nthe new (\"replace\") one.\n"},{"id":"81518","messageId":"20080627234104.68810@gmx.net","threadId":"14019","inReplyTo":"20080627213605.GD2058@genesis.frugalware.org","subject":"Re: 'next' will be rewound shortly","fromName":"Stephan Beyer","fromEmail":"s-beyer@gmx.net","sentAt":"2008-06-27T23:41:04Z","receivedAt":"2008-06-27T23:41:04Z","isPatch":false,"sender":{"key":"s-beyer@gmx.net","avatar":"https://avatars.githubusercontent.com/u/143889?v=4"},"body":"Hi,\n\n> <gitster@pobox.com> wrote:\n> > Following git tradition, manpage came after the command's behaviour has\n> > been long established.  It will be a behaviour change, and it is open to\n> > debate if the new behaviour is better or if the proposed change of\n> > behaviour hurts existing users.\n> \n> If my opinion counts, I like the current (\"prepend\") one, and I think\n> the best would be to add a new option (and/or make it configurable) for\n> the new (\"replace\") one.\n\nWell, perhaps I am different, but I sometimes have temporary branches\nnamed like \"first-silly-experiment\" and I do not expect having a\n    Merge branch 'another-silly-experiment' into 'first-silly-experiment'\nappended, when I do a\n    git merge -m \"Merge a lot of useful stuff... blabla\" another-silly-experiment.\n\n(btw, I don't *really* name my branches like this..it's just an example.)\n\nWell, I see this from a \"sequencer author point of view\", where\n     merge silly-experiment\nwill invoke an editor,\n     merge --standard silly-experiment\ngenerates some kind of the typical standard (or default) message,\nand\n     merge --message \"Merge blabla\" silly-experiment\ndoes the \"obvious\". (For me this is the obvious since I've never\nexperienced another behavior. All my merges have been using the\nnow disappeared commit.)\n\nSo I'd vote for a \"replace\" behavior by default on -m, and an \n\"append standard message\" option, but if there is *one* person\nwho relies on the prepend feature, I'd also take the \"prepend\"\ndefault and would like to vote for an option that does the\nreplacement.\n\nFor the current state of the art, it seems that I have to merge\nwith whatever message and then do a commit -m \"...\" --amend.\n\nRegards,\n  Stephan Beyer\n\nPS: Currently using webmail. So sorry for any too long lines\nor whatever.\n-- \nGMX startet ShortView.de. Hier findest Du Leute mit Deinen Interessen!\nJetzt dabei sein: http://www.shortview.de/wasistshortview.php?mc=sv_ext_mf@gmx\n"},{"id":"81520","messageId":"7vd4m2mnj3.fsf@gitster.siamese.dyndns.org","threadId":"14019","inReplyTo":"20080627213605.GD2058@genesis.frugalware.org","subject":"Re: 'next' will be rewound shortly","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-06-28T00:05:52Z","receivedAt":"2008-06-28T00:05:52Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Miklos Vajna <vmiklos@frugalware.org> writes:\n\n> On Fri, Jun 27, 2008 at 02:28:29PM -0700, Junio C Hamano <gitster@pobox.com> wrote:\n>> Following git tradition, manpage came after the command's behaviour has\n>> been long established.  It will be a behaviour change, and it is open to\n>> debate if the new behaviour is better or if the proposed change of\n>> behaviour hurts existing users.\n>\n> If my opinion counts, I like the current (\"prepend\") one,...\n\nWell, I do not think you are alone --- otherwise the original behaviour\nwould not be such ;-)\n\nIn any case, what is more important is that the proposed change is a\nchange in behaviour and the burden of proof that it does not hurt people's\nexisting scripts is on the party that wants to change it.\n"},{"id":"81863","messageId":"3675460F-F3DE-4EE4-B6E9-0FFE36B8A5BC@zib.de","threadId":"14019","inReplyTo":"7v3an0u367.fsf@gitster.siamese.dyndns.org","subject":"Re: [ANNOUNCE] GIT 1.5.6.1","fromName":"Steffen Prohaska","fromEmail":"prohaska@zib.de","sentAt":"2008-07-01T11:29:26Z","receivedAt":"2008-07-01T11:29:26Z","isPatch":false,"sender":{"key":"prohaska@zib.de","avatar":"https://avatars.githubusercontent.com/u/217580?v=4"},"body":"\n\nOn Jun 26, 2008, at 8:21 AM, Junio C Hamano wrote:\n\n> The latest maintenance release GIT 1.5.6.1 is available at the\n> usual places:\n\n\nThe msysgit release is available at\n\n    http://code.google.com/p/msysgit/downloads\n\nBesides GIT 1.5.6.1, the installer also brings an updated\nmsys-1.0.dll that works on Vista.\n\n\tSteffen\n"},{"id":"83216","messageId":"7viqv9j9nc.fsf@gitster.siamese.dyndns.org","threadId":"14019","inReplyTo":"7vbq1xx4y8.fsf@gitster.siamese.dyndns.org","subject":"A note from the maintainer","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-07-14T05:51:35Z","receivedAt":"2008-07-14T05:51:35Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Welcome to git community.\n\nThis message talks about how git.git is managed, and how you can work\nwith it.\n\n* IRC and Mailing list\n\nMany active members of development community hang around on #git\nIRC channel on Freenode.  Its log is available at:\n\n        http://colabti.org/irclogger/irclogger_log/git\n\nThe development however is primarily done on the git mailing list\n(git@vger.kernel.org).  If you have patches, please send them to the\nlist, following Documentation/SubmittingPatches.\n\nI usually try to read all patches posted to the list, and follow\nalmost all the discussions on the list, unless the topic is about an\nobscure corner that I do not personally use.  But I am obviously not\nperfect.  If you sent a patch that you did not hear from anybody for\nthree days, that is a very good indication that it was dropped on the\nfloor --- please do not hesitate to remind me.\n\nThe list archive is available at a few public sites as well:\n\n        http://news.gmane.org/gmane.comp.version-control.git/\n        http://marc.theaimsgroup.com/?l=git\n        http://www.spinics.net/lists/git/\n\nand some people seem to prefer to read it over NNTP:\n\n        nntp://news.gmane.org/gmane.comp.version-control.git\n\nWhen you point at a message in a mailing list archive, using\ngmane is often the easiest to follow by readers, like this:\n\n        http://thread.gmane.org/gmane.comp.version-control.git/27/focus=217\n\nas it also allows people who subscribe to the mailing list as\ngmane newsgroup to \"jump to\" the article.\n\n* Repositories, branches and documentation.\n\nMy public git.git repository is at:\n\n        git://git.kernel.org/pub/scm/git/git.git/\n\nImmediately after I publish to the primary repository at kernel.org, I\nalso push into an alternate here:\n\n        git://repo.or.cz/alt-git.git/\n\nImpatient people might have better luck with the latter one.\n\nTheir gitweb interfaces are found at:\n\n        http://git.kernel.org/?p=git/git.git\n        http://repo.or.cz/w/alt-git.git\n\nThere are three branches in git.git repository that are not\nabout the source tree of git: \"todo\", \"html\" and \"man\".  The\nfirst one was meant to contain TODO list for me, but I am not\ngood at maintaining such a list and it is not as often updated as\nit could/should be.  It also contains some helper scripts I use\nto maintain git.\n\nThe \"html\" and \"man\" are autogenerated documentation from the\ntip of the \"master\" branch; the tip of \"html\" is extracted to be\nvisible at kernel.org at:\n\n        http://www.kernel.org/pub/software/scm/git/docs/\n\nThe above URL is the top-level documentation page, and it has\nlinks to documentation of older releases.\n\nThe script to maintain these two documentation branches are\nfound in \"todo\" branch as dodoc.sh, if you are interested.  It\nis a good demonstration of how to use an update hook to automate\na task.\n\nThere are four branches in git.git repository that track the\nsource tree of git: \"master\", \"maint\", \"next\", and \"pu\".  I may\nadd more maintenance branches (e.g. \"maint-1.5.4\") if we have\nhugely backward incompatible feature updates in the future to keep\nan older release alive; I may not, but the distributed nature of\ngit means any volunteer can run a stable-tree like that herself.\n\nThe \"master\" branch is meant to contain what are very well\ntested and ready to be used in a production setting.  There\ncould occasionally be minor breakages or brown paper bag bugs\nbut they are not expected to be anything major, and more\nimportantly quickly and trivially fixable.  Every now and\nthen, a \"feature release\" is cut from the tip of this branch and\nthey typically are named with three dotted decimal digits.  The\nlast such release was 1.5.6 done on Jun 18th this year.  You\ncan expect that the tip of the \"master\" branch is always more\nstable than any of the released versions.\n\nWhenever a feature release is made, \"maint\" branch is forked off\nfrom \"master\" at that point.  Obvious, safe and urgent fixes\nafter a feature release are applied to this branch and\nmaintenance releases are cut from it.  The maintenance releases\nare named with four dotted decimal, named after the feature\nrelease they are updates to; the last such release was 1.5.6.3.\nNew features never go to this branch.  This branch is also\nmerged into \"master\" to propagate the fixes forward.\n\nA trivial and safe enhancement goes directly on top of \"master\".\nA new development, either initiated by myself or more often by\nsomebody who found his or her own itch to scratch, does not\nusually happen on \"master\", however.  Instead, a separate topic\nbranch is forked from the tip of \"master\", and it first is\ntested in isolation; I may make minimum fixups at this point.\nUsually there are a handful such topic branches that are running\nahead of \"master\" in git.git repository.  I do not publish the\ntip of these branches in my public repository, however, partly\nto keep the number of branches that downstream developers need\nto worry about low, and primarily because I am lazy.\n\nThe quality of topic branches are judged primarily by the mailing list\ndiscussions.  Some of them start out as \"good idea but obviously is\nbroken in some areas (e.g. breaks the existing testsuite)\" and then\nwith some more work (either by the original contributor's effort or\nhelp from other people on the list) becomes \"more or less done and can\nnow be tested by wider audience\".  Luckily, most of them start out in\nthe latter, better shape.\n\nThe \"next\" branch is to merge and test topic branches in the\nlatter category.  In general, the branch always contains the tip\nof \"master\".  It might not be quite rock-solid production ready,\nbut is expected to work more or less without major breakage.  I\nusually use \"next\" version of git for my own work, so it cannot\nbe _that_ broken to prevent me from pushing the changes out.\nThe \"next\" branch is where new and exciting things take place.\n\nThe two branches \"master\" and \"maint\" are never rewound, and\n\"next\" usually will not be either (this automatically means the\ntopics that have been merged into \"next\" are usually not\nrebased, and you can find the tip of topic branches you are\ninterested in from the output of \"git log next\"). You should be\nable to safely track them.\n\nAfter a feature release is made from \"master\", however, \"next\"\nwill be rebuilt from the tip of \"master\" using the surviving\ntopics.  The commit that replaces the tip of the \"next\" will\nhave the identical tree, but it will have different ancestry\nfrom the tip of \"master\".  An announcement will be made to warn\npeople about such a rebasing.\n\nThe \"pu\" (proposed updates) branch bundles all the remainder of\ntopic branches.  The \"pu\" branch, and topic branches that are\nonly in \"pu\", are subject to rebasing in general.  By the above\ndefinition of how \"next\" works, you can tell that this branch\nwill contain quite experimental and obviously broken stuff.\n\nWhen a topic that was in \"pu\" proves to be in testable shape, it\ngraduates to \"next\".  I do this with:\n\n        git checkout next\n        git merge that-topic-branch\n\nSometimes, an idea that looked promising turns out to be not so\ngood and the topic can be dropped from \"pu\" in such a case.\n\nA topic that is in \"next\" is expected to be tweaked and fixed to\nperfection before it is merged to \"master\" (that's why \"master\"\ncan be expected to stay very stable).  Similarly to the above, I\ndo it with this:\n\n        git checkout master\n        git merge that-topic-branch\n        git branch -d that-topic-branch\n\nNote that being in \"next\" is not a guarantee to appear in the\nnext release (being in \"master\" is such a guarantee, unless it\nis later found seriously broken and reverted), or even in any\nfuture release.  There even were cases that topics needed\nreverting a few commits in them before graduating to \"master\",\nor a topic that already was in \"next\" were entirely reverted\nfrom \"next\" because fatal flaws were found in them later.\n\nStarting from v1.5.0, \"master\" and \"maint\" have release notes\nfor the next release in Documentation/RelNotes-* files, so that\nI do not have to run around summarizing what happened just\nbefore the release.\n\n\n* Other people's trees, trusted lieutenants and credits.\n\nDocumentation/SubmittingPatches outlines who your changes should\nbe sent to.  As described in contrib/README, I would delegate\nfixes and enhancements in contrib/ area to primary contributors\nof them.\n\nAlthough the following are included in git.git repository, they\nhave their own authoritative repository and maintainers:\n\n - git-gui/ comes from Shawn Pearce's git-gui project:\n\n        git://repo.or.cz/git-gui.git\n\n - gitk-git/ comes from Paul Mackerras's gitk project:\n\n        git://git.kernel.org/pub/scm/gitk/gitk.git\n\nI would like to thank everybody who helped to raise git into the\ncurrent shape.  Especially I would like to thank the git list\nregulars whose help I have relied on and expect to continue\nrelying on heavily:\n\n - Linus on general design issues.\n\n - Linus, Shawn Pearce, Johannes Schindelin, Nicolas Pitre,\n   René Scharfe and Jeff King on general implementation issues.\n\n - Shawn and Nicolas Pitre on pack issues.\n\n - Martin Langhoff and Frank Lichtenheld on cvsserver and cvsimport.\n\n - Paul Mackerras on gitk.\n\n - Eric Wong on git-svn.\n\n - Simon Hausmann on git-p4.\n\n - Jakub Narebski, Petr Baudis, and Luben Tuikov on gitweb.\n\n - J. Bruce Fields on documentaton issues.\n\n - Johannes Schindelin, Johannes Sixt and others for their effort\n   to move things forward on the Windows front.  Most of the fruits\n   from their porting efforts have been merged to the mainline git.git\n   repository in 1.6.0 release.\n\n - People on non-Linux platforms for keeping their eyes on\n   portability; especially, Randal Schwartz, Theodore Ts'o,\n   Jason Riedy, Thomas Glanzmann, but countless others as well.\n\n* This document\n\nThe latest copy of this document is found in git.git repository,\non 'todo' branch, as MaintNotes.\n"}]}