{"thread":{"id":"15060","subject":"[ANNOUNCE] GIT 1.6.0","startedAt":"2008-08-17T21:16:33Z","lastAt":"2008-08-17T23:58:17Z","messageCount":3,"participants":["Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"87498","messageId":"7v7iafpcjy.fsf@gitster.siamese.dyndns.org","threadId":"15060","inReplyTo":null,"subject":"[ANNOUNCE] GIT 1.6.0","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-08-17T21:16:33Z","receivedAt":"2008-08-17T21:16:33Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"The latest feature release GIT 1.6.0 is available at the usual\nplaces:\n\n  http://www.kernel.org/pub/software/scm/git/\n\n  git-1.6.0.tar.{gz,bz2}\t\t\t(source tarball)\n  git-htmldocs-1.6.0.tar.{gz,bz2}\t\t(preformatted docs)\n  git-manpages-1.6.0.tar.{gz,bz2}\t\t(preformatted docs)\n\nThe RPM binary packages for a few architectures are also provided\nas courtesy.\n\n  RPMS/$arch/*-1.6.0-1.fc9.$arch.rpm\t\t(RPM)\n\nGIT v1.6.0 Release Notes\n========================\n\nUser visible changes\n--------------------\n\nWith the default Makefile settings, most of the programs are now\ninstalled outside your $PATH, except for \"git\", \"gitk\" and\nsome server side programs that need to be accessible for technical\nreasons.  Invoking a git subcommand as \"git-xyzzy\" from the command\nline has been deprecated since early 2006 (and officially announced in\n1.5.4 release notes); use of them from your scripts after adding\noutput from \"git --exec-path\" to the $PATH is still supported in this\nrelease, but users are again strongly encouraged to adjust their\nscripts to use \"git xyzzy\" form, as we will stop installing\n\"git-xyzzy\" hardlinks for built-in commands in later releases.\n\nAn earlier change to page \"git status\" output was overwhelmingly unpopular\nand has been reverted.\n\nSource changes needed for porting to MinGW environment are now all in the\nmain git.git codebase.\n\nBy default, packfiles created with this version uses delta-base-offset\nencoding introduced in v1.4.4.  Pack idx files are using version 2 that\nallows larger packs and added robustness thanks to its CRC checking,\nintroduced in v1.5.2 and v1.4.4.5.  If you want to keep your repositories\nbackwards compatible past these versions, set repack.useDeltaBaseOffset\nto false or pack.indexVersion to 1, respectively.\n\nWe used to prevent sample hook scripts shipped in templates/ from\ntriggering by default by relying on the fact that we install them as\nunexecutable, but on some filesystems, this approach does not work.\nThey are now shipped with \".sample\" suffix.  If you want to activate\nany of these samples as-is, rename them to drop the \".sample\" suffix,\ninstead of running \"chmod +x\" on them.  For example, you can rename\nhooks/post-update.sample to hooks/post-update to enable the sample\nhook that runs update-server-info, in order to make repositories\nfriendly to dumb protocols (i.e. HTTP).\n\nGIT_CONFIG, which was only documented as affecting \"git config\", but\nactually affected all git commands, now only affects \"git config\".\nGIT_LOCAL_CONFIG, also only documented as affecting \"git config\" and\nnot different from GIT_CONFIG in a useful way, is removed.\n\nThe \".dotest\" temporary area \"git am\" and \"git rebase\" use is now moved\ninside the $GIT_DIR, to avoid mistakes of adding it to the project by\naccident.\n\nAn ancient merge strategy \"stupid\" has been removed.\n\n\nUpdates since v1.5.6\n--------------------\n\n(subsystems)\n\n* git-p4 in contrib learned \"allowSubmit\" configuration to control on\n  which branch to allow \"submit\" subcommand.\n\n* git-gui learned to stage changes per-line.\n\n(portability)\n\n* Changes for MinGW port have been merged, thanks to Johannes Sixt and\n  gangs.\n\n* Sample hook scripts shipped in templates/ are now suffixed with\n  *.sample.\n\n* perl's in-place edit (-i) does not work well without backup files on Windows;\n  some tests are rewritten to cope with this.\n\n(documentation)\n\n* Updated howto/update-hook-example\n\n* Got rid of usage of \"git-foo\" from the tutorial and made typography\n  more consistent.\n\n* Disambiguating \"--\" between revs and paths is finally documented.\n\n(performance, robustness, sanity etc.)\n\n* index-pack used too much memory when dealing with a deep delta chain.\n  This has been optimized.\n\n* reduced excessive inlining to shrink size of the \"git\" binary.\n\n* verify-pack checks the object CRC when using version 2 idx files.\n\n* When an object is corrupt in a pack, the object became unusable even\n  when the same object is available in a loose form,  We now try harder to\n  fall back to these redundant objects when able.  In particular, \"git\n  repack -a -f\" can be used to fix such a corruption as long as necessary\n  objects are available.\n\n* Performance of \"git-blame -C -C\" operation is vastly improved.\n\n* git-clone does not create refs in loose form anymore (it behaves as\n  if you immediately ran git-pack-refs after cloning).  This will help\n  repositories with insanely large number of refs.\n\n* core.fsyncobjectfiles configuration can be used to ensure that the loose\n  objects created will be fsync'ed (this is only useful on filesystems\n  that does not order data writes properly).\n\n* \"git commit-tree\" plumbing can make Octopus with more than 16 parents.\n  \"git commit\" has been capable of this for quite some time.\n\n(usability, bells and whistles)\n\n* even more documentation pages are now accessible via \"man\" and \"git help\".\n\n* A new environment variable GIT_CEILING_DIRECTORIES can be used to stop\n  the discovery process of the toplevel of working tree; this may be useful\n  when you are working in a slow network disk and are outside any working tree,\n  as bash-completion and \"git help\" may still need to run in these places.\n\n* By default, stash entries never expire.  Set reflogexpire in [gc\n  \"refs/stash\"] to a reasonable value to get traditional auto-expiration\n  behaviour back\n\n* Longstanding latency issue with bash completion script has been\n  addressed.  This will need to be backmerged to 'maint' later.\n\n* pager.<cmd> configuration variable can be used to enable/disable the\n  default paging behaviour per command.\n\n* \"git-add -i\" has a new action 'e/dit' to allow you edit the patch hunk\n  manually.\n\n* git-am records the original tip of the branch in ORIG_HEAD before it\n  starts applying patches.\n\n* git-apply can handle a patch that touches the same path more than once\n  much better than before.\n\n* git-apply can be told not to trust the line counts recorded in the input\n  patch but recount, with the new --recount option.\n\n* git-apply can be told to apply a patch to a path deeper than what the\n  patch records with --directory option.\n\n* git-archive can be told to omit certain paths from its output using\n  export-ignore attributes.\n\n* git-archive uses the zlib default compression level when creating\n  zip archive.\n\n* git-archive's command line options --exec and --remote can take their\n  parameters as separate command line arguments, similar to other commands.\n  IOW, both \"--exec=path\" and \"--exec path\" are now supported.\n\n* With -v option, git-branch describes the remote tracking statistics\n  similar to the way git-checkout reports by how many commits your branch\n  is ahead/behind.\n\n* git-branch's --contains option used to always require a commit parameter\n  to limit the branches with; it now defaults to list branches that\n  contains HEAD if this parameter is omitted.\n\n* git-branch's --merged and --no-merged option used to always limit the\n  branches relative to the HEAD, but they can now take an optional commit\n  argument that is used in place of HEAD.\n\n* git-bundle can read the revision arguments from the standard input.\n\n* git-cherry-pick can replay a root commit now.\n\n* git-clone can clone from a remote whose URL would be rewritten by\n  configuration stored in $HOME/.gitconfig now.\n\n* \"git-clone --mirror\" is a handy way to set up a bare mirror repository.\n\n* git-cvsserver learned to respond to \"cvs co -c\".\n\n* git-diff --check now checks leftover merge conflict markers.\n\n* \"git-diff -p\" learned to grab a better hunk header lines in\n  BibTex, Pascal/Delphi, and Ruby files and also pays attention to\n  chapter and part boundary in TeX documents.\n\n* When remote side used to have branch 'foo' and git-fetch finds that now\n  it has branch 'foo/bar', it refuses to lose the existing remote tracking\n  branch and its reflog.  The error message has been improved to suggest\n  pruning the remote if the user wants to proceed and get the latest set\n  of branches from the remote, including such 'foo/bar'.\n\n* fast-export learned to export and import marks file; this can be used to\n  interface with fast-import incrementally.\n\n* fast-import and fast-export learned to export and import gitlinks.\n\n* \"gitk\" left background process behind after being asked to dig very deep\n  history and the user killed the UI; the process is killed when the UI goes\n  away now.\n\n* git-rebase records the original tip of branch in ORIG_HEAD before it is\n  rewound.\n\n* \"git rerere\" can be told to update the index with auto-reused resolution\n  with rerere.autoupdate configuration variable.\n\n* git-rev-parse learned $commit^! and $commit^@ notations used in \"log\"\n  family.  These notations are available in gitk as well, because the gitk\n  command internally uses rev-parse to interpret its arguments.\n\n* git-rev-list learned --children option to show child commits it\n  encountered during the traversal, instead of showing parent commits.\n\n* git-send-mail can talk not just over SSL but over TLS now.\n\n* git-shortlog honors custom output format specified with \"--pretty=format:\".\n\n* \"git-stash save\" learned --keep-index option.  This lets you stash away the\n  local changes and bring the changes staged in the index to your working\n  tree for examination and testing.\n\n* git-stash also learned branch subcommand to create a new branch out of\n  stashed changes.\n\n* git-status gives the remote tracking statistics similar to the way\n  git-checkout reports by how many commits your branch is ahead/behind.\n\n* \"git-svn dcommit\" is now aware of auto-props setting the subversion user\n  has.\n\n* You can tell \"git status -u\" to even more aggressively omit checking\n  untracked files with --untracked-files=no.\n\n* Original SHA-1 value for \"update-ref -d\" is optional now.\n\n* Error codes from gitweb are made more descriptive where possible, rather\n  than \"403 forbidden\" as we used to issue everywhere.\n\n(internal)\n\n* git-merge has been reimplemented in C.\n\n\nFixes since v1.5.6\n------------------\n\nAll of the fixes in v1.5.6 maintenance series are included in\nthis release, unless otherwise noted.\n\n * git-clone ignored its -u option; the fix needs to be backported to\n   'maint';\n\n * git-mv used to lose the distinction between changes that are staged\n   and that are only in the working tree, by staging both in the index\n   after moving such a path.\n\n * \"git-rebase -i -p\" rewrote the parents to wrong ones when amending\n   (either edit or squash) was involved, and did not work correctly\n   when fast forwarding.\n\n\n\n----------------------------------------------------------------\n\nChanges since v1.5.6 are as follows:\n\nAbhijit Menon-Sen (13):\n      git-gui: Move on to the next filename after staging/unstaging a change\n      git-gui: Don't select the wrong file if the last listed file is staged.\n      Implement \"git stash branch <newbranch> <stash>\"\n      Add a test for \"git stash branch\"\n      git-gui: Look for gitk in $PATH, not $LIBEXEC/git-core\n      Clarify that \"git log x.c y.h\" lists commits that touch either file\n      `git submodule add` now requires a <path>\n      Make it clear that push can take multiple refspecs\n      Make the DESCRIPTION match <x>... items in the SYNOPSIS\n      Git.pm: localise $? in command_close_bidi_pipe()\n      Fix hash slice syntax error\n      Fix typo in perl/Git.pm\n      Fix typos in INSTALL\n\nAdam Brewster (2):\n      Move read_revisions_from_stdin from builtin-rev-list.c to revision.c\n      Teach git-bundle to read revision arguments from stdin like git-rev-list.\n\nAlex Riesen (5):\n      Fix use of \"perl -i\" on Windows\n      git-clone: remove leftover debugging fprintf().\n      Allow pager of diff command be enabled/disabled\n      Make use of stat.ctime configurable\n      Fix t3700 on filesystems which do not support question marks in names\n\nAlexander Gavrilov (18):\n      Fix quadratic performance in rewrite_one.\n      Avoid rescanning unchanged entries in search for copies.\n      Do not try to detect move/copy for entries below threshold.\n      Fix pre-commit hooks under MinGW/MSYS\n      Add options to control the search for copies in blame.\n      Kill the blame back-end on window close.\n      Add a menu item to invoke full copy detection in blame.\n      Support gitlinks in fast-import.\n      git-gui: Fix the Remote menu separator.\n      git-gui: Preserve scroll position on reshow_diff.\n      Support copy and rename detection in fast-export.\n      gitk: Kill back-end processes on window close\n      gitk: Arrange to kill diff-files & diff-index on quit\n      gitk: On Windows, use a Cygwin-specific flag for kill\n      gitk: Fixed broken exception handling in diff\n      gitk: Fixed automatic row selection during load\n      gitk: Fallback to selecting the head commit upon load\n      gitk: Allow safely calling nukefile from a run queue handler\n\nAnand Kumria (14):\n      Create a specific version of the read_pipe_lines command for p4 invocations\n      Utilise the new 'p4_read_pipe_lines' command\n      Have a command that specifically invokes 'p4' (via system)\n      Utilise the new 'p4_system' function.\n      Add a single command that will be used to construct the 'p4' command\n      If we are in verbose mode, output what we are about to run (or return)\n      Switch to using 'p4_build_cmd'\n      If the user has configured various parameters, use them.\n      Consistently use 'git-p4' for the configuration entries\n      Move git-p4.syncFromOrigin into a configuration parameters section\n      Put some documentation in about the parameters that have been added\n      Put in the two other configuration elements found in the source\n      Add p4 read_pipe and write_pipe wrappers\n      Utilise our new p4_read_pipe and p4_write_pipe wrappers\n\nAnders Melchiorsen (5):\n      Documentation: fix diff.external example\n      Advertise the ability to abort a commit\n      Documentation: fix diff.external example\n      Flush output in start_async\n      Add output flushing before fork()\n\nAvery Pennarun (4):\n      git-svn: avoid filling up the disk with temp files.\n      Reword \"your branch has diverged...\" lines to reduce line length\n      Teach \"git diff -p\" Pascal/Delphi funcname pattern\n      git-svn: Abort with an error if 'fetch' parameter is invalid.\n\nBjörn Steinbrink (3):\n      git cat-file: Fix memory leak in batch mode\n      index-pack.c: correctly initialize appended objects\n      rev-parse: Add support for the ^! and ^@ syntax\n\nBrad King (1):\n      git-svn: teach dcommit about svn auto-props\n\nBrandon Casey (17):\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      t7701-repack-unpack-unreachable.sh: check timestamp of unpacked objects\n      t/: Replace diff [-u|-U0] with test_cmp to allow compilation with old diff\n      t4116-apply-reverse.sh: use $TAR rather than tar\n      t3200,t7201: replace '!' with test_must_fail\n      t7502-commit.sh: rearrange test to make more portable\n      t/t4202-log.sh: add newline at end of file\n      Teach fsck and prune about the new location of temporary objects\n      perl/Makefile: update NO_PERL_MAKEMAKER section\n      t/t4202-log.sh: add newline at end of file\n      Teach fsck and prune that tmp_obj_ file names may not be 14 bytes long\n      perl/Makefile: handle paths with spaces in the NO_PERL_MAKEMAKER section\n      Makefile: set SHELL to value of SHELL_PATH\n      Makefile: add a target which will abort compilation with ancient shells\n      test-parse-options: use appropriate cast in length_callback\n      t5304-prune: adjust file mtime based on system time rather than file mtime\n\nBrian Gernhardt (5):\n      Fix t4017-diff-retval for white-space from wc\n      Add test results directory to t/.gitignore\n      Documentation: Point to gitcli(7) from git(1)\n      Documentation: mention ORIG_HEAD in am, merge, and rebase\n      Documentation: Remove mentions of git-svnimport.\n\nBrian Hetro (5):\n      builtin-log.c: Use 'git_config_string' to get 'format.subjectprefix' and 'format.suffix'\n      convert.c: Use 'git_config_string' to get 'smudge' and 'clean'\n      diff.c: Use 'git_config_string' to get 'diff.external'\n      http.c: Use 'git_config_string' to clean up SSL config.\n      builtin-commit.c: Use 'git_config_string' to get 'commit.template'\n\nCesar Eduardo Barros (2):\n      Documentation/git-submodule.txt: fix doubled word\n      Documentation/git-rev-parse.txt: update for new git-describe output format\n\nChristian Couder (5):\n      help: check early if we have a command, if not try a documentation topic\n      Fix \"config_error_nonbool\" used with value instead of key\n      Fix \"config_error_nonbool\" used with value instead of key\n      merge-base: die with an error message if not passed a commit ref\n      documentation: user-manual: update \"using-bisect\" section\n\nChristian Stimming (2):\n      git-gui: Update German translation\n      gitk: Updated German translation\n\nCiaran McCreesh (2):\n      Make git-add -i accept ranges like 7-\n      Make git-add -i accept ranges like 7-\n\nCristian Peraferrer (1):\n      Print errno upon failure to open the COMMIT_EDITMSG file\n\nDan McGee (1):\n      completion: add --graph to log command completion\n\nDaniel Barkalow (2):\n      Only use GIT_CONFIG in \"git config\", not other programs\n      In perforce, RCS keywords are case-sensitive\n\nDavid D. Kilzer (1):\n      Fix race condition in t9119-git-svn-info.sh\n\nDavid Reiss (4):\n      Implement normalize_absolute_path\n      Fold test-absolute-path into test-path-utils\n      Add support for GIT_CEILING_DIRECTORIES\n      Eliminate an unnecessary chdir(\"..\")\n\nDmitry Kakurin (1):\n      Fixed text file auto-detection: treat EOF character 032 at the end of file as printable\n\nDmitry Potapov (9):\n      fix update-hook-example to work with packed tag references\n      update-hook-example: optionally allow non-fast-forward\n      shrink git-shell by avoiding redundant dependencies\n      completion.bash: add 'skip' and 'run' to git-bisect\n      Fix buffer overflow in git-grep\n      Fix buffer overflow in git diff\n      Fix buffer overflow in prepare_attr_stack\n      git-svn: fix git svn info to work without arguments\n      correct access right for git-svn-dcommit test\n\nDon Zickus (1):\n      git-apply: handle a patch that touches the same path more than once better\n\nEric Blake (1):\n      Makefile: building git in cygwin 1.7.0\n\nEric Hanchrow (2):\n      user-manual: typo and grammar fixes\n      Documentation: fix broken \"linkgit\" links\n\nEric Raible (4):\n      Documentation: tweak use case in \"git stash save --keep-index\"\n      completion: add branch options --contains --merged --no-merged\n      Teach lookup_prog not to select directories\n      bash completion: 'git apply' should use 'fix' not 'strip'\n\nEric Wong (6):\n      git-svn: don't sanitize remote names in config\n      t/lib-git-svn: fix SVN_HTTPD tests to work with \"trash directory\"\n      git-svn: properly set path for \"info\" command\n      t9119: conditionally re-enable test depending on svn(1) version\n      git-svn: add ability to specify --commit-url for dcommit\n      git-svn: wrap long lines in a few places\n\nFabian Emmes (2):\n      Testsuite: Unset CVS_SERVER\n      testsuite for cvs co -c\n\nFrancis Moreau (1):\n      git-bisect: fix wrong usage of read(1)\n\nFrederik Schwarzer (1):\n      git-svn: typofix\n\nGerrit Pape (1):\n      git-svn.perl: workaround assertions in svn library 1.5.0\n\nGiuseppe Bilotta (2):\n      diff: add ruby funcname pattern\n      diff: chapter and part in funcname for tex\n\nGustaf Hendeby (2):\n      gitattributes: Document built in hunk header patterns\n      Teach git diff about BibTeX head hunk patterns\n\nIan Katz (1):\n      tutorial: use prompt with user names in example, to clarify who is doing what\n\nIvan Stankovic (1):\n      Documentation: fix invalid reference to 'mybranch' in user manual\n\nJakub Narebski (5):\n      gitweb: Separate filling list of projects info\n      gitweb: Separate generating 'sort by' table header\n      t/README: Add 'Skipping Tests' section below 'Running Tests'\n      gitweb: Describe projects_index format in more detail\n      gitweb: More about how gitweb gets 'owner' of repository\n\nJan Krüger (2):\n      Documentation: fix formatting in git-svn\n      git-svn: make rebuild respect rewriteRoot option\n\nJeff King (18):\n      fix whitespace violations in test scripts\n      mask necessary whitespace policy violations in test scripts\n      avoid whitespace on empty line in automatic usage message\n      avoid trailing whitespace in zero-change diffstat lines\n      enable whitespace checking of test scripts\n      clone: create intermediate directories of destination repo\n      for-each-ref: implement missing tag values\n      clone: create intermediate directories of destination repo\n      improve for-each-ref test script\n      fetch: report local storage errors in status table\n      doc/rev-parse: clarify reflog vs --until for specifying revisions\n      fetch: give a hint to the user when local refs fail to update\n      Allow per-command pager config\n      make deleting a missing ref more quiet\n      avoid null SHA1 in oldest reflog\n      init: handle empty \"template\" parameter\n      Compact commit template message\n      init: handle empty \"template\" parameter\n\nJim Meyering (1):\n      git-cvsimport.perl: Print \"UNKNOWN LINE...\" on stderr, not stdout.\n\nJing Xue (1):\n      Add 'git-p4.allowSubmit' to git-p4\n\nJochen Voss (1):\n      avoid off-by-one error in run_upload_archive\n\nJoey Hess (1):\n      fix git config example syntax\n\nJohan Herland (4):\n      Incorporate fetched packs in future object traversal\n      Move pack_refs() and friends into libgit\n      Prepare testsuite for a \"git clone\" that packs refs\n      Teach \"git clone\" to pack refs\n\nJohannes Schindelin (31):\n      Windows: always chmod(, 0666) before unlink().\n      clone: respect url.insteadOf setting in global configs\n      commit-tree: lift completely arbitrary limit of 16 parents\n      Allow git-apply to recount the lines in a hunk (AKA recountdiff)\n      clone: respect the settings in $HOME/.gitconfig and /etc/gitconfig\n      Add another fast-import example, this time for .zip files\n      Teach \"git apply\" to prepend a prefix with \"--root=<root>\"\n      git fetch-pack: do not complain about \"no common commits\" in an empty repo\n      git daemon: avoid calling syslog() from a signal handler\n      run_command(): respect GIT_TRACE\n      Allow cherry-picking root commits\n      Convert CR/LF to LF in tag signatures\n      Add pretty format %aN which gives the author name, respecting .mailmap\n      Move MERGE_RR from .git/rr-cache/ into .git/\n      git-gui: MERGE_RR lives in .git/ directly with newer Git versions\n      shortlog: support --pretty=format: option\n      Rename \".dotest/\" to \".git/rebase\" and \".dotest-merge\" to \"rebase-merge\"\n      git fetch-pack: do not complain about \"no common commits\" in an empty repo\n      Rename .git/rebase to .git/rebase-apply\n      Rename path_list to string_list\n      Fix two leftovers from path_list->string_list\n      Ignore dirty submodule states in \"git pull --rebase\"\n      Add test to show that show-branch misses out the 8th column\n      sort_in_topological_order(): avoid setting a commit flag\n      builtin-commit: Two trivial style-cleanups\n      git daemon: avoid waking up too often\n      Avoid chdir() in list_commands_in_dir()\n      sort_in_topological_order(): avoid setting a commit flag\n      clone: Add an option to set up a mirror\n      clone --bare: Add \".git\" suffix to the directory name to clone into\n      clone --mirror: avoid storing repeated tags\n\nJohannes Sixt (52):\n      Add compat/regex.[ch] and compat/fnmatch.[ch].\n      Compile some programs only conditionally.\n      Add target architecture MinGW.\n      Windows: Use the Windows style PATH separator ';'.\n      setup.c: Prepare for Windows directory separators.\n      Windows: Treat Windows style path names.\n      Windows: Handle absolute paths in safe_create_leading_directories().\n      Windows: Strip \".exe\" from the program name.\n      Windows: Implement a wrapper of the open() function.\n      Windows: A minimal implemention of getpwuid().\n      Windows: Work around misbehaved rename().\n      Make my_mktime() public and rename it to tm_to_time_t()\n      Windows: Implement gettimeofday().\n      Windows: Fix PRIuMAX definition.\n      Windows: Implement setitimer() and sigaction().\n      Windows: Wrap execve so that shell scripts can be invoked.\n      Windows: A pipe() replacement whose ends are not inherited to children.\n      Windows: Implement start_command().\n      Windows: A rudimentary poll() emulation.\n      Windows: Disambiguate DOS style paths from SSH URLs.\n      Windows: Implement asynchronous functions as threads.\n      Windows: Work around incompatible sort and find.\n      Windows: Implement wrappers for gethostbyname(), socket(), and connect().\n      Windows: Implement a custom spawnve().\n      Windows: Add a custom implementation for utime().\n      Windows: Use a customized struct stat that also has the st_blocks member.\n      Turn builtin_exec_path into a function.\n      Windows: Compute the fallback for exec_path from the program invocation.\n      Windows: Use a relative default template_dir and ETC_GITCONFIG\n      When installing, be prepared that template_dir may be relative.\n      Windows: Make the pager work.\n      Windows: Work around an oddity when a pipe with no reader is written to.\n      Windows: Make 'git help -a' work.\n      Windows: TMP and TEMP environment variables specify a temporary directory.\n      git-gui: Implement \"Stage/Unstage Line\"\n      t4127-apply-same-fn: Avoid sed -i\n      Provide fallback definitions of PRIu32 and PRIx32\n      t7600-merge: Use test_expect_failure to test option parsing\n      builtin-clone: rewrite guess_dir_name()\n      rebase -i: When an 'edit' stops, mention the commit\n      Makefile: Do not install a copy of 'git' in $(gitexecdir)\n      Makefile: Normalize $(bindir) and $(gitexecdir) before comparing\n      Record the command invocation path early\n      Fix relative built-in paths to be relative to the command invocation\n      Allow the built-in exec path to be relative to the command invocation path\n      Allow add_path() to add non-existent directories to the path\n      Windows: Make $(gitexecdir) relative\n      Windows: Make sure argv[0] has a path\n      Windows: Do not compile git-shell\n      git-gui: Fix \"Stage/Unstage Line\" with one line of context.\n      git-gui: \"Stage Line\": Treat independent changes in adjacent lines better\n      git-gui: Adapt discovery of oguilib to execdir 'libexec/git-core'\n\nJon Jensen (1):\n      Fix reference to Everyday Git, which is an HTML document and not a man page.\n\nJonathan Nieder (29):\n      Documentation: don't assume git-sh-setup and git-parse-remote are in PATH\n      Documentation: fix links to tutorials and other new manual pages\n      whitespace fix in Documentation/git-repack.txt\n      Documentation: complicate example of \"man git-command\"\n      git-daemon(1): don't assume git-daemon is in /usr/bin\n      Documentation: prepare to be consistent about \"git-\" versus \"git \"\n      Documentation: be consistent about \"git-\" versus \"git \"\n      Documentation formatting and cleanup\n      git-format-patch(1): fix stray \\ in output\n      Documentation: fix gitlinks\n      manpages: fix bogus whitespace\n      git(1): add comma\n      git-commit(1): depersonalize description\n      Documentation: rewrap to prepare for \"git-\" vs \"git \" change\n      Documentation: more \"git-\" versus \"git \" changes\n      gitdiffcore(7): fix awkward wording\n      manpages: italicize command names in synopses\n      manpages: italicize command names\n      manpages: italicize git command names (which were in teletype font)\n      manpages: italicize gitk's name (where it was in teletype font)\n      manpages: italicize nongit command names (if they are in teletype font)\n      manpages: italicize git subcommand names (which were in teletype font)\n      manpages: use teletype font for sample command lines\n      fix usage string for git grep\n      git-diff(1): \"--c\" -> \"--cc\" typo fix\n      document that git-tag can tag more than heads\n      t6030 (bisect): work around Mac OS X \"ls\"\n      git-diff(1): \"--c\" -> \"--cc\" typo fix\n      Documentation: user-manual: \"git commit -a\" doesn't motivate .gitignore\n\nJoão Abecasis (1):\n      git-svn: find-rev and rebase for SVN::Mirror repositories\n\nJunio C Hamano (131):\n      revision traversal: --children option\n      rev-list --children\n      builtin-blame.c: move prepare_final() into a separate function.\n      builtin-blame.c: allow more than 16 parents\n      git-blame --reverse\n      diff -c/--cc: do not include uninteresting deletion before leading context\n      rerere: rerere_created_at() and has_resolution() abstraction\n      git-rerere: detect unparsable conflicts\n      rerere: remove dubious \"tail_optimization\"\n      t4200: fix rerere test\n      rerere.autoupdate\n      git-shell: accept \"git foo\" form\n      Prepare execv_git_cmd() for removal of builtins from the filesystem\n      pre-rebase hook update\n      Ship sample hooks with .sample suffix\n      Keep some git-* programs in $(bindir)\n      GIT 1.5.6.1\n      Allow \"git-reset path\" when unambiguous\n      Start draft release notes for 1.6.0\n      diff --check: do not discard error status upon seeing a good line\n      git-shell: accept \"git foo\" form\n      GIT 1.5.4.6\n      GIT 1.5.5.5\n      diff --check: explain why we do not care whether old side is binary\n      check_and_emit_line(): rename and refactor\n      checkdiff: pass diff_options to the callback\n      Teach \"diff --check\" about new blank lines at end\n      diff --check: detect leftover conflict markers\n      Update sample pre-commit hook to use \"diff --check\"\n      Document the double-dash \"rev -- path\" disambiguator\n      Per-ref reflog expiry configuration\n      Make default expiration period of reflog used for stash infinite\n      t9700: skip when Test::More is not available\n      Update draft release notes for 1.6.0\n      Introduce get_merge_bases_many()\n      Introduce reduce_heads()\n      Start draft release notes for 1.5.6.2\n      Update draft release notes for 1.6.0\n      apply --root: thinkofix.\n      Refactor \"tracking statistics\" code used by \"git checkout\"\n      git-status: show the remote tracking statistics\n      git-branch -v: show the remote tracking statistics\n      fast-export --export-marks: fix off by one error\n      stat_tracking_info(): clear object flags used during counting\n      Work around gcc warnings from curl headers\n      Fix executable bits in t/ scripts\n      GIT 1.5.6.2\n      attribute documentation: keep EXAMPLE at end\n      clone -q: honor \"quiet\" option over native transports.\n      branch -r -v: do not spit out garbage\n      git-apply --directory: make --root more similar to GNU diff\n      mailinfo: feed the correct line length to decode_transfer_encoding()\n      Update draft release notes for 1.6.0\n      Teach \"am\" and \"rebase\" to mark the original position with ORIG_HEAD\n      Tone down warning about GNU Interactive Tools\n      Documentation: update sections on naming revisions and revision ranges\n      Start preparing release notes for 1.5.6.3\n      branch --contains: default to HEAD\n      branch --merged/--no-merged: allow specifying arbitrary commit\n      apply: fix copy/rename breakage\n      Teach merge.log to \"git-merge\" again\n      t0004: fix timing bug\n      GIT 1.5.6.3\n      Update draft release notes for 1.6.0\n      reduce_heads(): protect from duplicate input\n      git-rebase: report checkout failure\n      tutorial: clarify \"pull\" is \"fetch + merge\"\n      Update draft release notes to 1.6.0\n      t/aggregate-results: whitespace fix\n      Start preparing 1.5.6.4 release notes\n      Update draft release notes for 1.6.0\n      read-cache.c: typofix\n      mailinfo: off-by-one fix for [PATCH (foobar)] removal from Subject: line\n      rerere.autoupdate: change the message when autoupdate is in effect\n      builtin-remote.c: fix earlier \"skip_prefix()\" conversion\n      rev-list: honor --quiet option\n      http-fetch: do not SEGV after fetching a bad pack idx file\n      GIT 1.5.6.4\n      t9001 (send-email): Do not use hardcoded /bin/sh in test\n      .mailmap update\n      Getting closer to 1.6.0-rc0\n      builtin-add.c: restructure the code for maintainability\n      git-add --all: add all files\n      git-add --all: tests\n      git-add --all: documentation\n      refresh-index: fix bitmask assignment\n      Link shell with compat layer functions\n      Move read_in_full() and write_in_full() to wrapper.c\n      \"needs update\" considered harmful\n      Update my e-mail address\n      Revert \"make git-status use a pager\"\n      tests: do not rely on external \"patch\"\n      stash save: fix parameter handling\n      builtin-branch.c: remove unused code in append_ref() callback function\n      builtin-branch.c: optimize --merged and --no-merged\n      Documentation: clarify diff --cc\n      ignore non-existent refs in dwim_log()\n      tests: propagate $(TAR) down from the toplevel Makefile\n      Makefile: fix shell quoting\n      Documentation: clarify how to disable elements in core.whitespace\n      make sure parsed wildcard refspec ends with slash\n      GIT 1.6.0-rc1\n      Allow building without any git installed\n      Allow installing in the traditional way\n      ls-tree documentation: enhance notes on subdirectory and pathspec behaviour\n      Documentation: clarify what is shown in \"git-ls-files -s\" output\n      t7001: fix \"git mv\" test\n      Teach gitlinks to ie_modified() and ce_modified_check_fs()\n      Fix merge name generation in \"merge in C\"\n      Fix test-parse-options \"integer\" test\n      Teach --find-copies-harder to \"git blame\"\n      make sure parsed wildcard refspec ends with slash\n      Documentation: clarify diff --cc\n      Update my e-mail address\n      Start 1.5.6.5 RelNotes to describe accumulated fixes\n      builtin-name-rev.c: split deeply nested part from the main function\n      RelNotes 1.5.6.5 updates\n      fix diff-tree --stdin documentation\n      Files given on the command line are relative to $cwd\n      GIT 1.5.6.5\n      GIT 1.6.0-rc2\n      asciidoc markup fixes\n      GIT-VERSION-GEN: mark the version 'dirty' only if there are modified files\n      mailinfo: fix MIME multi-part message boundary handling\n      Update draft RelNotes for 1.6.0\n      Fix deleting reflog entries from HEAD reflog\n      Re-fix rev-list-options documentation\n      diff --check: do not unconditionally complain about trailing empty lines\n      Do not talk about \"diff\" in rev-list documentation.\n      GIT 1.6.0-rc3\n      GIT 1.6.0\n\nKarl Hasselström (2):\n      Clean up builtin-update-ref's option parsing\n      Make old sha1 optional with git update-ref -d\n\nKevin Ballard (3):\n      git-send-email: Accept fifos as well as files\n      format-patch: Produce better output with --inline or --attach\n      Fix escaping of glob special characters in pathspecs\n\nLars Hjemli (3):\n      builtin-branch: remove duplicated code\n      builtin-branch: factor out merge_filter matching\n      builtin-branch: fix -v for --[no-]merged\n\nLars Noschinski (4):\n      git-cvsserver: fix call to nonexistant cleanupWorkDir()\n      cvsserver: Add support for packed refs\n      cvsserver: Add cvs co -c support\n      cvsserver: Add testsuite for packed refs\n\nLea Wiemann (6):\n      test-lib.sh: add --long-tests option\n      t/test-lib.sh: add test_external and test_external_without_stderr\n      Git.pm: add test suite\n      gitweb: standarize HTTP status codes\n      test-lib.sh: show git init output when in verbose mode\n      GIT-VERSION-GEN: do not fail if a 'HEAD' file exists in the working copy\n\nLee Marlow (15):\n      bash completion: Add long options for 'git rm'\n      bash completion: Add completion for 'git help'\n      bash completion: remove unused function _git_diff_tree\n      bash completion: Add more long options for 'git log'\n      bash completion: Add completion for 'git grep'\n      bash completion: Add completion for 'git clone'\n      bash completion: Add completion for 'git clean'\n      bash completion: Add completion for 'git init'\n      bash completion: Add completion for 'git revert'\n      bash completion: More completions for 'git stash'\n      bash completion: Add completion for 'git archive'\n      bash completion: Add completion for 'git ls-files'\n      bash completion: Add completion for 'git mv'\n      bash completion: Add completion for 'git mergetool'\n      bash completion: Add '--merge' long option for 'git log'\n\nLinus Torvalds (8):\n      Split up default \"core\" config parsing into helper routine\n      Split up default \"user\" config parsing into helper routine\n      Split up default \"i18n\" and \"branch\" config parsing into helper routines\n      Add config option to enable 'fsync()' of object files\n      racy-git: an empty blob has a fixed object name\n      Make git_dir a path relative to work_tree in setup_work_tree()\n      Shrink the git binary a bit by avoiding unnecessary inline functions\n      diff.renamelimit is a basic diff configuration\n\nLukas Sandström (6):\n      Add a helper script to send patches with Mozilla Thunderbird\n      git-mailinfo: document the -n option\n      Make some strbuf_*() struct strbuf arguments const.\n      Add some useful functions for strbuf manipulation.\n      git-mailinfo: Fix getting the subject from the in-body [PATCH] line\n      git-mailinfo: use strbuf's instead of fixed buffers\n\nMarcus Griep (7):\n      Fix multi-glob assertion in git-svn\n      git-svn: Allow deep branch names by supporting multi-globs\n      Git.pm: Add faculties to allow temp files to be cached\n      git-svn: Make it incrementally faster by minimizing temp files\n      git-svn: Reduce temp file usage when dealing with non-links\n      bash-completion: Add non-command git help files to bash-completion\n      Git.pm: Make File::Spec and File::Temp requirement lazy\n\nMarius Storm-Olsen (4):\n      Add an optional <mode> argument to commit/status -u|--untracked-files option\n      Add argument 'no' commit/status option -u|--untracked-files\n      Add configuration option for default untracked files mode\n      Windows: Add a new lstat and fstat implementation based on Win32 API.\n\nMark Levedahl (4):\n      install-doc-quick - use git --exec-path to find git-sh-setup\n      git-submodule - Fix bugs in adding an existing repo as a module\n      git-submodule - make \"submodule add\" more strict, and document it\n      git-submodule - register submodule URL if adding in place\n\nMatt McCutchen (1):\n      git format-patch documentation: clarify what --cover-letter does\n\nMatthew Ogilvie (1):\n      Documentation cvs: Clarify when a bare repository is needed\n\nMichele Ballabio (6):\n      parse-options.c: fix documentation syntax of optional arguments\n      t9301-fast-export.sh: Remove debug line\n      builtin-merge.c: Fix option parsing\n      builtin-push.c: Cleanup - use OPT_BIT() and remove some variables\n      git-gui: update po/it.po\n      git-gui: add a part about format strings in po/README\n\nMikael Magnusson (3):\n      Fix grammar in git-rev-parse(1).\n      git-gui: Update swedish translation.\n      gitk: Update swedish translation.\n\nMike Hommey (4):\n      Catch failures from t5540-http-push\n      Fix http-push test\n      Skip t5540-http-push test when USE_CURL_MULTI is undefined\n      Avoid apache complaining about lack of server's FQDN\n\nMike Pape (1):\n      We need to check for msys as well as Windows in add--interactive.\n\nMike Ralphson (2):\n      Documentation: typos / spelling fixes in older RelNotes\n      Documentation: typos / spelling fixes\n\nMiklos Vajna (31):\n      A simple script to parse the results from the testcases\n      Move split_cmdline() to alias.c\n      Move commit_list_count() to commit.c\n      Move parse-options's skip_prefix() to git-compat-util.h\n      Add new test to ensure git-merge handles pull.twohead and pull.octopus\n      Move read_cache_unmerged() to read-cache.c\n      git-fmt-merge-msg: make it usable from other builtins\n      Introduce get_octopus_merge_bases() in commit.c\n      Add new test to ensure git-merge handles more than 25 refs.\n      Add new test case to ensure git-merge reduces octopus parents when possible\n      Retire 'stupid' merge strategy\n      INSTALL: Update section about git-frotz form.\n      hg-to-git: avoid raising a string exception\n      hg-to-git: abort if the project directory is not a hg repo\n      hg-to-git: rewrite \"git-frotz\" to \"git frotz\"\n      hg-to-git: use git init instead of git init-db\n      Add new test case to ensure git-merge prepends the custom merge message\n      git-commit-tree: make it usable from other builtins\n      Fix t7601-merge-pull-config.sh on AIX\n      Build in merge\n      t0001-init.sh: change confusing directory name\n      t1007-hash-object.sh: use quotes for the test description\n      git-bisect: use dash-less form on git bisect log\n      make remove-dashes: apply to scripts and programs as well, not just to builtins\n      t6021: add a new test for git-merge-resolve\n      Add a new test for git-merge-resolve\n      Teach 'git merge' that some merge strategies no longer exist\n      builtin-merge: give a proper error message for invalid strategies in config\n      t7601: extend the 'merge picks up the best result' test\n      Documentation: document the pager.* configuration setting\n      t9300: replace '!' with test_must_fail\n\nNanako Shiraishi (8):\n      environment.c: remove unused function\n      config.c: make git_env_bool() static\n      gitcli: Document meaning of --cached and --index\n      cache-tree.c: make cache_tree_find() static\n      builtin-describe.c: make a global variable \"pattern\" static\n      parse-options.c: make check_typos() static\n      git am --abort\n      git-gui: update Japanese translation\n\nNguyễn Thái Ngọc Duy (2):\n      Move all dashed-form commands to libexecdir\n      Fix typo in comments of longest_ancestor_length()\n\nNicolas Pitre (11):\n      call init_pack_revindex() lazily\n      implement some resilience against pack corruptions\n      test case for pack resilience against corruptions\n      refactor pack structure allocation\n      optimize verify-pack a bit\n      move show_pack_info() where it belongs\n      verify-pack: check packed object CRC when using index version 2\n      verify-pack: test for detection of index v2 object CRC mismatch\n      repack.usedeltabaseoffset config option now defaults to \"true\"\n      pack.indexversion config option now defaults to 2\n      restore legacy behavior for read_sha1_file()\n\nNikolaj Schumacher (1):\n      Don't cut off last character of commit descriptions.\n\nNikolaus Schulz (1):\n      Documentation: be precise about which date --pretty uses\n\nOlivier Marin (9):\n      Documentation: remove {show,whatchanged}.difftree config options\n      show_stats(): fix stats width calculation\n      builtin-rerere: more carefully find conflict markers\n      builtin-rm: fix index lock file path\n      git-am: remove dash from help message\n      parse-options: fix segmentation fault when a required value is missing\n      git am --skip: clean the index while preserving local changes\n      update test case to protect am --skip behaviour\n      builtin-verify-tag: fix -v option parsing\n\nP. Christeas (1):\n      svnimport: newer libsvn wants us to ask for the root with \"\", not \"/\"\n\nPatrick Higgins (2):\n      Remove the use of '--' in merge program invocation\n      Workaround for AIX mkstemp()\n\nPavel Roskin (1):\n      t9600: allow testing with cvsps 2.2, including beta versions\n\nPeter Harris (1):\n      Add ANSI control code emulation for the Windows console\n\nPeter Valdemar Mørch (1):\n      send-email: find body-encoding correctly\n\nPetr Baudis (14):\n      Git.pm: Add remote_refs() git-ls-remote frontend\n      Fix backwards-incompatible handling of core.sharedRepository\n      Documentation/git-cherry-pick.txt et al.: Fix misleading -n description\n      Documentation/git-submodule.txt: Add Description section\n      Documentation/RelNotes-1.6.0.txt: Expand on the incompatible packfiles\n      Documentation/git-submodule.txt: Further clarify the description\n      Documentation: How to ignore local changes in tracked files\n      Documentation/git-merge.txt: Partial rewrite of How Merge Works\n      git-filter-branch.sh: Allow running in bare repositories\n      Documentation/git-filter-branch: teach \"rm\" instead of \"update-index --remove\"\n      git-mv: Remove dead code branch\n      git-mv: Keep moved index entries inact\n      Fail properly when cloning from invalid HTTP URL\n      Adjust for the new way of enabling the default post-update hook\n\nPhilippe Bruhat (1):\n      mailinfo: better parse email adresses containg parentheses\n\nPierre Habouzit (19):\n      parse-opt: have parse_options_{start,end}.\n      parse-opt: Export a non NORETURN usage dumper.\n      parse-opt: create parse_options_step.\n      parse-opt: do not print errors on unknown options, return -2 intead.\n      parse-opt: fake short strings for callers to believe in.\n      parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.\n      revisions: split handle_revision_opt() from setup_revisions()\n      git-blame: migrate to incremental parse-option [1/2]\n      git-blame: migrate to incremental parse-option [2/2]\n      parse-options: add PARSE_OPT_LASTARG_DEFAULT flag\n      git-blame: fix lapsus\n      git-shortlog: migrate to parse-options partially.\n      revisions: refactor handle_revision_opt into parse_revision_opt.\n      builtin-merge: add missing structure initialization\n      git-submodule: move ill placed shift.\n      git-checkout: fix command line parsing.\n      git-checkout: improve error messages, detect ambiguities.\n      Allow \"non-option\" revision options in parse_option-enabled commands\n      git-submodule: move ill placed shift.\n\nPieter de Bie (4):\n      builtin-fast-export: Add importing and exporting of revision marks\n      git-name-rev: allow --name-only in combination with --stdin\n      builtin-rm: Add a --force flag\n      reflog test: add more tests for 'reflog delete'\n\nRafael Garcia-Suarez (1):\n      gitweb: remove git_blame and rename git_blame2 to git_blame\n\nRamsay Allan Jones (4):\n      Fix some warnings (on cygwin) to allow -Werror\n      t9113-*.sh: provide user feedback when test skipped\n      t9100-git-svn-basic.sh: Fix determination of utf-8 locale\n      git-request-pull: replace call to deprecated peek-remote\n\nRené Scharfe (16):\n      Teach new attribute 'export-ignore' to git-archive\n      archive: remove args member from struct archiver\n      add context pointer to read_tree_recursive()\n      archive: add baselen member to struct archiver_args\n      archive: centralize archive entry writing\n      archive: unify file attribute handling\n      archive: remove extra arguments parsing code\n      archive: make zip compression level independent from core git\n      archive: remove unused headers\n      archive: add write_archive()\n      archive: move parameter parsing code to archive.c\n      archive: define MAX_ARGS where it's needed\n      archive: declare struct archiver where it's needed\n      archive: allow --exec and --remote without equal sign\n      archive: allow --exec and --remote without equal sign\n      git-name-rev: don't use printf without format\n\nRichard Quirk (1):\n      git-gui: Fix accidental staged state toggle when clicking top pixel row\n\nRobert Blum (1):\n      git-p4: chdir now properly sets PWD environment variable in msysGit\n\nRobert Shearman (1):\n      git-send-email: Fix authenticating on some servers when using TLS.\n\nSZEDER Gábor (5):\n      stash: introduce 'stash save --keep-index' option\n      bash: offer only paths after '--'\n      checkout: mention '--' in the docs\n      bash: offer only paths after '--' for 'git checkout'\n      bash: remove redundant check for 'git stash apply' options\n\nShawn O. Pearce (18):\n      Correct documentation for git-push --mirror\n      Fix describe --tags --long so it does not segfault\n      Remove unnecessary pack-*.keep file after successful git-clone\n      Correct pack memory leak causing git gc to try to exceed ulimit\n      bash completion: Improve responsiveness of git-log completion\n      bash completion: Don't offer \"a..\" as a completion for \"a.\"\n      bash completion: Append space after file names have been completed\n      bash completion: Resolve git show ref:path<tab> losing ref: portion\n      bash completion: Remove dashed command completion support\n      index-pack: Refactor base arguments of resolve_delta into a struct\n      index-pack: Chain the struct base_data on the stack for traversal\n      index-pack: Track the object_entry that creates each base_data\n      index-pack: Honor core.deltaBaseCacheLimit when resolving deltas\n      git-gui: Correct 'Visualize Branches' on Mac OS X to start gitk\n      fsck: Don't require tmp_obj_ file names are 14 bytes in length\n      git-gui: Fix gitk search in $PATH to work on Windows\n      git-gui: Update git-gui.pot for 0.11 nearing release\n      git-gui 0.11\n\nSoeren Finster (1):\n      git-gui: Exit shortcut in MacOSX repaired\n\nSteffen Prohaska (11):\n      Windows: Fix ntohl() related warnings about printf formatting\n      compat/pread.c: Add a forward declaration to fix a warning\n      Move code interpreting path relative to exec-dir to new function system_path()\n      help.c: Add support for htmldir relative to git_exec_path()\n      help (Windows): Display HTML in default browser using Windows' shell API\n      Refactor, adding prepare_git_cmd(const char **argv)\n      run-command (Windows): Run dashless \"git <cmd>\"\n      git-gui: Correct installation of library to be $prefix/share\n      git-gui (Windows): Switch to relative discovery of oguilib\n      git-gui (Windows): Change wrapper to execdir 'libexec/git-core'\n      Modify mingw_main() workaround to avoid link errors\n\nStephan Beyer (28):\n      api-builtin.txt: update and fix typo\n      t3404: stricter tests for git-rebase--interactive\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      rerere: Separate libgit and builtin functions\n      git-am: Do not exit silently if committer is unset\n      t/test-lib.sh: exit with small negagive int is ok with test_must_fail\n      t/: Use \"test_must_fail git\" instead of \"! git\"\n      Make usage strings dash-less\n      git-am/git-mailsplit: correct synopsis for reading from stdin\n      t3404: test two \"preserve merges with -p\" cases\n      Make rebase--interactive use OPTIONS_SPEC\n      rebase-i: keep old parents when preserving merges\n      api-run-command.txt: typofix\n      Link git-shell only to a subset of libgit.a\n      git-am: Add colon before the subject that is printed out as being applied\n      am --abort: Add to bash-completion and mention in git-rerere documentation\n      Make non-static functions, that may be static, static\n      Move launch_editor() from builtin-tag.c to editor.c\n      editor.c: Libify launch_editor()\n      git-am: Mention --abort in usage string part of OPTIONS_SPEC\n      git-reset: Let -q hush \"locally modified\" messages\n      builtin-revert.c: typofix\n      git-am: ignore --binary option\n      git-stash: improve synopsis in help and manual page\n      Improve error output of git-rebase\n\nStephen R. van den Berg (1):\n      git-daemon: SysV needs the signal handler reinstated.\n\nSteve Haslam (3):\n      Propagate -u/--upload-pack option of \"git clone\" to transport.\n      Remove references to git-fetch-pack from \"git clone\" documentation.\n      Propagate -u/--upload-pack option of \"git clone\" to transport.\n\nSteven Grimm (1):\n      Optimize sha1_object_info for loose objects, not concurrent repacks\n\nSungHyun Nam (1):\n      t/Makefile: use specified shell when running aggregation script\n\nSverre Hvammen Johansen (1):\n      reduce_heads(): thinkofix\n\nSverre Rabbelier (2):\n      Modify test-lib.sh to output stats to t/test-results/*\n      Hook up the result aggregation in the test makefile.\n\nTed Percival (1):\n      Don't use dash commands (git-foo) in tutorial-2\n\nTeemu Likonen (3):\n      bash: Add more option completions for 'git log'\n      Add target \"install-html\" the the top level Makefile\n      bash: Add long option completion for 'git send-email'\n\nThomas Rast (18):\n      git-send-email: add support for TLS via Net::SMTP::SSL\n      git-send-email: prevent undefined variable warnings if no encryption is set\n      Fix 'git show' on signed tag of signed tag of commit\n      git-add--interactive: replace hunk recounting with apply --recount\n      git-add--interactive: remove hunk coalescing\n      git-add--interactive: manual hunk editing mode\n      git-send-email: Do not attempt to STARTTLS more than once\n      Fix apply --recount handling of no-EOL line\n      git-completion.bash: provide completion for 'show-branch'\n      bash completion: Add long options for 'git describe'\n      Documentation: commit-tree: remove 16 parents restriction\n      Documentation: filter-branch: document how to filter all refs\n      filter-branch: be more helpful when an annotated tag changes\n      Documentation: rev-list-options: Fix -g paragraph formatting\n      Documentation: rev-list-options: Fix a typo\n      Documentation: rev-list-options: Rewrite simplification descriptions for clarity\n      rebase -i -p: handle index and workdir correctly\n      rebase -i -p: fix parent rewriting\n\nTodd Zullinger (1):\n      Replace uses of \"git-var\" with \"git var\"\n"},{"id":"87503","messageId":"7vwsifnr0c.fsf@gitster.siamese.dyndns.org","threadId":"15060","inReplyTo":"7v7iafpcjy.fsf@gitster.siamese.dyndns.org","subject":"Re: [ANNOUNCE] GIT 1.6.0","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-08-17T23:47:15Z","receivedAt":"2008-08-17T23:47:15Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"As usual, the tip of 'next' will be rewound and rebuilt soonish on top of\nv1.6.0.  Please prepare to rebase your work in progress.\n"},{"id":"87504","messageId":"7vr68nnqhy.fsf@gitster.siamese.dyndns.org","threadId":"15060","inReplyTo":"7v7iafpcjy.fsf@gitster.siamese.dyndns.org","subject":"A note from the maintainer","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-08-17T23:58:17Z","receivedAt":"2008-08-17T23:58:17Z","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.6.0 done on Aug 17th 2008.  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.5.\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"}]}