{"thread":{"id":"5950","subject":"[ANNOUNCE] GIT 1.4.3","startedAt":"2006-10-18T23:53:22Z","lastAt":"2006-10-27T21:55:13Z","messageCount":20,"participants":["Junio C Hamano","Peter Eriksen","Linus Torvalds","Petr Baudis","Nicolas Pitre","Al Viro","Andreas Schwab","Rene Scharfe","Anders Larsen","J. Bruce Fields","A Large Angry SCM","Jon Loeliger"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"29187","messageId":"7vejt5xjt9.fsf@assigned-by-dhcp.cox.net","threadId":"5950","inReplyTo":null,"subject":"[ANNOUNCE] GIT 1.4.3","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-10-18T23:53:22Z","receivedAt":"2006-10-18T23:53:22Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"The latest feature release GIT 1.4.3 is available at the usual\nplaces:\n\n  http://www.kernel.org/pub/software/scm/git/\n\n  git-1.4.3.tar.{gz,bz2}\t\t\t(tarball)\n  git-htmldocs-1.4.3.tar.{gz,bz2}\t\t(preformatted docs)\n  git-manpages-1.4.3.tar.{gz,bz2}\t\t(preformatted docs)\n  RPMS/$arch/git-*-1.4.3-1.$arch.rpm\t(RPM)\n\nPlease holler if i386 RPMs are broken, since they are not cut on\nthe machine I am used to use (I ended up burning half a day\ninstalling and futzing with FC5 on my older laptop resurrected\nfrom the boneyard).\n\nUser visible changes, other than bugfixes, since v1.4.2.4 are:\n\n - upload-tar is deprecated but not removed; we now have\n   upload-archive --format=tar and --format=zip instead.\n\n - ftp:// protocol is supported the same way as http:// and\n   https://\n\n - git-diff paginates its output to the tty by default.  If this\n   irritates you, using LESS=RF might help.\n\n - git-cherry-pick does not leave often useless \"cherry-picked\n   from\" message.\n\n - git-merge-recursive was replaced by a rewritten implemention\n   in C.  The original Python implementation is available as\n   \"recursive-old\" strategy for now, but hopefully we can remove\n   it in the next cycle.\n\n - git-daemon can do name based virtual hosting.\n\n - git-daemon can serve tar and zip snapshots.\n\n - many gitweb tweaks and cleanups.\n\n - git-apply --reverse, --reject.\n\n - git-diff --color highlights whitespace errors.\n\n - git-diff --stat can be taught to use non-default widths.\n\n - git-status can use colors.\n\n - many more commands are built-in.\n\n----------------------------------------------------------------\n\n .gitignore                                         |   10 +-\n Documentation/Makefile                             |    4 +-\n Documentation/asciidoc.conf                        |    1 +\n Documentation/config.txt                           |   34 +\n Documentation/core-tutorial.txt                    |    2 +-\n Documentation/cvs-migration.txt                    |    2 +-\n Documentation/diff-options.txt                     |   10 +-\n Documentation/git-apply.txt                        |   69 +-\n .../{git-tar-tree.txt => git-archive.txt}          |   93 +-\n Documentation/git-blame.txt                        |   29 +-\n Documentation/git-cherry-pick.txt                  |   23 +-\n Documentation/git-daemon.txt                       |  135 +-\n Documentation/git-grep.txt                         |   15 +-\n Documentation/git-http-push.txt                    |    2 +-\n Documentation/git-init-db.txt                      |    4 +\n Documentation/git-ls-remote.txt                    |   18 +-\n Documentation/git-pack-objects.txt                 |   26 +-\n Documentation/git-receive-pack.txt                 |    2 +\n Documentation/git-repack.txt                       |   13 +-\n Documentation/git-repo-config.txt                  |    3 +-\n Documentation/git-rev-list.txt                     |  428 ++-\n Documentation/git-rev-parse.txt                    |    2 +-\n Documentation/git-send-pack.txt                    |    2 +-\n Documentation/git-shortlog.txt                     |   17 +-\n Documentation/git-svn.txt                          |  399 ++-\n Documentation/git-tar-tree.txt                     |    3 +\n Documentation/git-unpack-objects.txt               |    8 +-\n Documentation/git-update-index.txt                 |    4 +-\n .../{git-upload-tar.txt => git-upload-archive.txt} |   24 +-\n Documentation/git.txt                              |   37 +-\n Documentation/gitk.txt                             |  151 +-\n Documentation/glossary.txt                         |    4 +-\n Documentation/hooks.txt                            |   56 +-\n Documentation/technical/racy-git.txt               |  193 +\n Documentation/tutorial-2.txt                       |    2 +-\n GIT-VERSION-GEN                                    |    2 +-\n INSTALL                                            |   15 +-\n Makefile                                           |  297 +-\n builtin-tar-tree.c => archive-tar.c                |  229 +-\n archive-zip.c                                      |  333 ++\n archive.h                                          |   47 +\n blame.c                                            |   19 +-\n builtin-apply.c                                    |  708 +++-\n builtin-archive.c                                  |  263 ++\n builtin-cat-file.c                                 |   40 +-\n checkout-index.c => builtin-checkout-index.c       |   29 +-\n builtin-commit-tree.c                              |    2 +-\n builtin-count.c => builtin-count-objects.c         |    2 +-\n builtin-diff-files.c                               |    7 -\n builtin-diff-stages.c                              |    2 +-\n builtin-diff.c                                     |   16 +-\n builtin-fmt-merge-msg.c                            |   39 +-\n builtin-grep.c                                     |  650 +---\n builtin-init-db.c                                  |    1 +\n builtin-log.c                                      |    7 +-\n builtin-ls-files.c                                 |   27 +-\n builtin-ls-tree.c                                  |    6 +-\n builtin-mailinfo.c                                 |   17 +-\n builtin-mv.c                                       |   12 +-\n name-rev.c => builtin-name-rev.c                   |    8 +-\n pack-objects.c => builtin-pack-objects.c           |  439 ++-\n builtin-prune-packed.c                             |    2 +-\n builtin-prune.c                                    |    4 +-\n builtin-push.c                                     |   32 +-\n builtin-read-tree.c                                |  865 +----\n builtin-repo-config.c                              |   34 +-\n builtin-rev-list.c                                 |  171 +-\n builtin-rev-parse.c                                |   10 +-\n builtin-rm.c                                       |    2 +-\n builtin-runstatus.c                                |   36 +\n builtin-show-branch.c                              |   18 +-\n symbolic-ref.c => builtin-symbolic-ref.c           |    8 +-\n builtin-tar-tree.c                                 |  439 +--\n unpack-objects.c => builtin-unpack-objects.c       |   78 +-\n builtin-update-index.c                             |   18 +-\n builtin-update-ref.c                               |    2 +-\n builtin-upload-archive.c                           |  175 +\n builtin-upload-tar.c                               |   74 -\n verify-pack.c => builtin-verify-pack.c             |   15 +-\n builtin-write-tree.c                               |    4 +-\n builtin.h                                          |   86 +-\n cache-tree.c                                       |   14 +-\n cache.h                                            |   68 +-\n check-racy.c                                       |   28 +\n color.c                                            |  176 +\n color.h                                            |   12 +\n combine-diff.c                                     |   41 +-\n commit.c                                           |   51 +-\n commit.h                                           |    2 +-\n compat/inet_pton.c                                 |  220 +\n config.c                                           |   18 +-\n config.mak.in                                      |   18 +\n configure.ac                                       |  561 ++-\n connect.c                                          |   50 +-\n contrib/completion/git-completion.bash             |  324 ++\n contrib/emacs/git.el                               |    4 +-\n contrib/emacs/vc-git.el                            |    6 +-\n contrib/gitview/gitview.txt                        |   56 +-\n contrib/vim/README                                 |    8 +\n contrib/vim/syntax/gitcommit.vim                   |   18 +\n convert-objects.c                                  |    8 +-\n csum-file.c                                        |    6 +-\n daemon.c                                           |  431 ++-\n date.c                                             |  132 +-\n describe.c                                         |   14 +-\n diff-delta.c                                       |    4 +-\n diff-lib.c                                         |   32 +-\n diff.c                                             |  666 ++-\n diff.h                                             |   15 +-\n diffcore-break.c                                   |    2 +-\n diffcore-rename.c                                  |    2 +-\n dir.c                                              |   48 +-\n dir.h                                              |    1 +\n dump-cache-tree.c                                  |    2 +-\n entry.c                                            |    4 +-\n environment.c                                      |   20 +-\n exec_cmd.c                                         |   20 +-\n fetch-clone.c                                      |   33 +-\n fetch-pack.c                                       |   24 +-\n fetch.c                                            |    9 +-\n fsck-objects.c                                     |   44 +-\n generate-cmdlist.sh                                |    1 +\n git-branch.sh                                      |   10 +\n git-checkout.sh                                    |    9 +-\n git-cherry.sh                                      |    3 -\n git-clone.sh                                       |    8 +-\n git-commit.sh                                      |  582 +--\n git-compat-util.h                                  |   18 +-\n git-cvsexportcommit.perl                           |    2 +-\n git-cvsserver.perl                                 |   65 +-\n git-fetch.sh                                       |   26 +-\n git-ls-remote.sh                                   |    6 +-\n ...erge-recursive.py => git-merge-recursive-old.py |    0 \n git-merge.sh                                       |    5 +-\n git-parse-remote.sh                                |   43 +-\n git-pull.sh                                        |    2 +-\n git-rebase.sh                                      |    6 +-\n git-repack.sh                                      |   25 +-\n git-reset.sh                                       |    3 -\n git-resolve.sh                                     |    4 +\n git-revert.sh                                      |   14 +-\n git-send-email.perl                                |   42 +-\n git-shortlog.perl                                  |   44 +-\n git-svn.perl                                       |  122 +-\n git-svnimport.perl                                 |   35 +-\n git.c                                              |  131 +-\n git.spec.in                                        |   23 +-\n gitk                                               |  682 +++-\n gitweb/README                                      |   61 +-\n gitweb/git-favicon.png                             |  Bin\n gitweb/git-logo.png                                |  Bin\n gitweb/gitweb.css                                  |   80 +-\n gitweb/{gitweb.cgi => gitweb.perl}                 | 4459 ++++++++++++--------\n grep.c                                             |  498 +++\n grep.h                                             |   79 +\n builtin-help.c => help.c                           |    4 +-\n http-fetch.c                                       |  303 +--\n http-push.c                                        |   95 +-\n http.c                                             |   12 +\n http.h                                             |    4 +\n imap-send.c                                        |   45 +-\n index-pack.c                                       |   16 +-\n interpolate.c                                      |  108 +\n interpolate.h                                      |   26 +\n builtin-prune.c => list-objects.c                  |  255 +-\n list-objects.h                                     |   12 +\n local-fetch.c                                      |    8 +-\n log-tree.c                                         |   82 +-\n merge-base.c                                       |    2 +-\n merge-file.c                                       |    2 +-\n merge-index.c                                      |    5 +-\n merge-recursive.c                                  | 1351 ++++++\n merge-tree.c                                       |   10 +-\n mktag.c                                            |    2 +-\n mktree.c                                           |    5 +-\n object-refs.c                                      |   11 +-\n object.c                                           |    6 +-\n object.h                                           |   11 -\n pack-check.c                                       |   25 +-\n pack-redundant.c                                   |   18 +-\n pager.c                                            |    4 +-\n patch-id.c                                         |    2 +-\n path-list.c                                        |    5 +-\n path.c                                             |   10 +-\n peek-remote.c                                      |    5 +-\n perl/.gitignore                                    |    4 +\n perl/Git.pm                                        |  837 ++++\n perl/Makefile.PL                                   |   28 +\n perl/private-Error.pm                              |  827 ++++\n quote.c                                            |   61 +\n quote.h                                            |    7 +\n read-cache.c                                       |   77 +-\n receive-pack.c                                     |   28 +-\n refs.c                                             |   26 +-\n revision.c                                         |  258 +-\n revision.h                                         |   14 +-\n rsh.c                                              |   31 +-\n run-command.c                                      |    8 +-\n send-pack.c                                        |  126 +-\n server-info.c                                      |    2 +-\n setup.c                                            |    2 +\n sha1_file.c                                        |  596 ++--\n sha1_name.c                                        |   60 +-\n sideband.c                                         |   78 +\n sideband.h                                         |   13 +\n ssh-fetch.c                                        |   10 +-\n ssh-upload.c                                       |    4 +-\n t/t1200-tutorial.sh                                |    2 +-\n t/t1400-update-ref.sh                              |   86 +-\n t/t3200-branch.sh                                  |   12 +\n t/t3403-rebase-skip.sh                             |    4 +-\n t/t3700-add.sh                                     |   22 +\n t/t4015-diff-whitespace.sh                         |  122 +\n t/t4103-apply-binary.sh                            |    4 +-\n t/t4104-apply-boundary.sh                          |  115 +\n t/t4116-apply-reverse.sh                           |   85 +\n t/t4117-apply-reject.sh                            |  157 +\n t/t5400-send-pack.sh                               |   14 +\n t/t5510-fetch.sh                                   |   69 +\n t/t5600-clone-fail-cleanup.sh                      |    6 +\n t/t5710-info-alternate.sh                          |    2 +\n t/t6001-rev-list-graft.sh                          |  113 +\n t/t7002-grep.sh                                    |   31 +-\n t/t7201-co.sh                                      |    9 +\n t/test-lib.sh                                      |   17 +-\n trace.c                                            |  150 +\n tree-diff.c                                        |   15 +-\n tree-walk.c                                        |    4 +-\n tree.c                                             |    5 +-\n builtin-read-tree.c => unpack-trees.c              |  474 +--\n unpack-trees.h                                     |   35 +\n upload-pack.c                                      |  190 +-\n write_or_die.c                                     |   45 +\n wt-status.c                                        |  276 ++\n wt-status.h                                        |   25 +\n xdiff-interface.c                                  |   12 +-\n xdiff/xutils.c                                     |   29 +-\n 237 files changed, 16898 insertions(+), 8168 deletions(-)\n copy Documentation/{git-tar-tree.txt => git-archive.txt} (29%)\n rewrite Documentation/git-rev-list.txt (61%)\n rename Documentation/{git-upload-tar.txt => git-upload-archive.txt} (30%)\n rewrite Documentation/gitk.txt (37%)\n create mode 100644 Documentation/technical/racy-git.txt\n copy builtin-tar-tree.c => archive-tar.c (59%)\n create mode 100644 archive-zip.c\n create mode 100644 archive.h\n create mode 100644 builtin-archive.c\n rename builtin-cat-file.c => builtin-cat-file.c (0%)\n rename checkout-index.c => builtin-checkout-index.c (92%)\n rename builtin-count.c => builtin-count-objects.c (99%)\n rename name-rev.c => builtin-name-rev.c (97%)\n rename pack-objects.c => builtin-pack-objects.c (81%)\n create mode 100644 builtin-runstatus.c\n rename symbolic-ref.c => builtin-symbolic-ref.c (75%)\n rename unpack-objects.c => builtin-unpack-objects.c (82%)\n create mode 100644 builtin-upload-archive.c\n delete mode 100644 builtin-upload-tar.c\n rename verify-pack.c => builtin-verify-pack.c (83%)\n create mode 100644 check-racy.c\n create mode 100644 color.c\n create mode 100644 color.h\n create mode 100644 compat/inet_pton.c\n rewrite configure.ac (21%)\n create mode 100755 contrib/completion/git-completion.bash\n rename contrib/gitview/{gitview.txt => gitview.txt} (74%)\n create mode 100644 contrib/vim/README\n create mode 100644 contrib/vim/syntax/gitcommit.vim\n rename git-merge-recursive.py => git-merge-recursive-old.py (100%)\n create mode 100644 gitweb/git-favicon.png\n create mode 100644 gitweb/git-logo.png\n rename gitweb/{gitweb.cgi => gitweb.perl} (30%)\n create mode 100644 grep.c\n create mode 100644 grep.h\n rename builtin-help.c => help.c (99%)\n create mode 100644 interpolate.c\n create mode 100644 interpolate.h\n copy builtin-prune.c => list-objects.c (24%)\n create mode 100644 list-objects.h\n create mode 100644 merge-recursive.c\n create mode 100644 perl/.gitignore\n create mode 100644 perl/Git.pm\n create mode 100644 perl/Makefile.PL\n create mode 100644 perl/private-Error.pm\n create mode 100644 sideband.c\n create mode 100644 sideband.h\n create mode 100755 t/t4015-diff-whitespace.sh\n create mode 100755 t/t4104-apply-boundary.sh\n create mode 100755 t/t4116-apply-reverse.sh\n create mode 100755 t/t4117-apply-reject.sh\n create mode 100755 t/t5510-fetch.sh\n create mode 100755 t/t6001-rev-list-graft.sh\n create mode 100644 trace.c\n copy builtin-read-tree.c => unpack-trees.c (62%)\n create mode 100644 unpack-trees.h\n create mode 100644 write_or_die.c\n create mode 100644 wt-status.c\n create mode 100644 wt-status.h\n\nAlan Chandler (2):\n      Update the gitweb/README file to include setting the GITWEB_CONFIG environment\n      Fix usage string to match that given in the man page\n\nAlex Riesen (3):\n      Use const for interpolate arguments\n      fix daemon.c compilation for NO_IPV6=1\n      do not discard constness in interp_set_entry value argument\n\nAlexandre Julliard (2):\n      git.el: Fixed inverted \"renamed from/to\" message.\n      vc-git.el: Switch to using git-blame instead of git-annotate.\n\nAndy Whitcroft (4):\n      send-pack: remove remote reference limit\n      send-pack: switch to using git-rev-list --stdin\n      svnimport: add support for parsing From: lines for author\n      add proper dependancies on the xdiff source\n\nAneesh Kumar K.V (4):\n      gitweb: Support for snapshot\n      gitweb: fix snapshot support\n      gitweb: Make blame and snapshot a feature.\n      gitweb: Fix git_blame\n\nArt Haas (1):\n      Patch for http-fetch.c and older curl releases\n\nChristian Couder (9):\n      Trace into open fd and refactor tracing code.\n      Trace into a file or an open fd and refactor tracing code.\n      Update GIT_TRACE documentation.\n      Fix memory leak in prepend_to_path (git.c).\n      Move add_to_string to \"quote.c\" and make it extern.\n      Fix a memory leak in \"connect.c\" and die if command too long.\n      Fix space in string \" false\" problem in \"trace.c\".\n      Remove empty ref directories that prevent creating a ref.\n      Fix tracing when GIT_TRACE is set to an empty string.\n\nDavid Rientjes (18):\n      blame.c return cleanup\n      builtin-grep.c cleanup\n      builtin-push.c cleanup\n      diff.c cleanup\n      http-push.c cleanup\n      read-cache.c cleanup\n      Make pprint_tag void and cleans up call in cmd_cat_file.\n      Make show_entry void\n      Make checkout_all void.\n      Make fsck_dir void.\n      Make pack_objects void.\n      Make track_tree_refs void.\n      Make upload_pack void and remove conditional return.\n      Make sha1flush void and remove conditional return.\n      make inline is_null_sha1 global\n      use appropriate typedefs\n      remove unnecessary initializations\n      Do not use memcmp(sha1_1, sha1_2, 20) with hardcoded length.\n\nDennis Stosberg (12):\n      \"test\" in Solaris' /bin/sh does not support -e\n      Makefile fix for Solaris\n      Add possibility to pass CFLAGS and LDFLAGS specific to the perl subdir\n      Solaris has strlcpy() at least since version 8\n      Look for sockaddr_storage in sys/socket.h\n      Fix detection of ipv6 on Solaris\n      Fix compilation with Sun CC\n      gitweb: Use --git-dir parameter instead of setting $ENV{'GIT_DIR'}\n      gitweb: Remove forgotten call to git_to_hash\n      use do() instead of require() to include configuration\n      lock_ref_sha1_basic does not remove empty directories on BSD\n      Add default values for --window and --depth to the docs\n\nDmitry V. Levin (3):\n      Make count-objects, describe and merge-tree work in subdirectory\n      Documentation: Fix broken links\n      Handle invalid argc gently\n\nEric Wong (13):\n      pass DESTDIR to the generated perl/Makefile\n      git-svn: establish new connections on commit after fork\n      git-svn: recommend rebase for syncing against an SVN repo\n      git-svn: add the 'dcommit' command\n      git-svn: stop repeatedly reusing the first commit message with dcommit\n      git-svn: multi-init saves and reuses --tags and --branches arguments\n      git-svn: log command fixes\n      Documentation/git-svn: document some of the newer features\n      git-svn: -h(elp) message formatting fixes\n      commit: fix a segfault when displaying a commit with unreachable parents\n      git-svn: add a message encouraging use of SVN::* libraries\n      git-svn: fix commits over svn+ssh://\n      git-svn: reduce memory usage for large commits\n\nFranck Bui-Huu (11):\n      Add a newline before appending \"Signed-off-by: \" line\n      log-tree.c: cleanup a bit append_signoff()\n      Add git-archive\n      git-archive: wire up TAR format.\n      git-archive: wire up ZIP format.\n      Add git-upload-archive\n      connect.c: finish_connect(): allow null pid parameter\n      Test return value of finish_connect()\n      upload-archive: monitor child communication even more carefully.\n      git-archive: update documentation\n      Add git-upload-archive to the main git man page\n\nHaavard Skinnemoen (1):\n      git-send-email: Don't set author_not_sender from Cc: lines\n\nJakub Narebski (139):\n      gitweb: whitespace cleanup\n      gitweb: Use list for of open for running git commands, thorougly.\n      gitweb: simplify git_get_hash_by_path\n      gitweb: More explicit error messages for open \"-|\"\n      gitweb: Cleanup - chomp $line in consistent style\n      gitweb: Cleanup - chomp @lines in consistent style\n      gitweb: Add git_page_nav for later use\n      gitweb: Navbar refactoring - use git_page_nav to generate navigation bar\n      gitweb: Replace form-feed character by ^L\n      gitweb: Show project descriptions with utf-8 characters in project list correctly\n      gitweb: Add \"\\n\" after <br/> in git_page_nav\n      gitweb: Pager refactoring - use git_get_paging_nav for pagination\n      gitweb: Remove $project from git_get_paging_nav arguments\n      gitweb: Headers refactoring - use git_header_div for header divs\n      gitweb: Remove characters entities entirely when shortening string\n      gitweb: Ref refactoring - use git_get_referencing for marking tagged/head commits\n      gitweb: Refactor generation of shortlog, tags and heads body\n      gitweb: do not quote path for list version of open \"-|\"\n      gitweb: Remove characters entities entirely when shortening string -- correction\n      gitweb: Reordering code and dividing it into categories\n      gitweb: Refactoring git_project_list\n      autoconf: Add support for setting SHELL_PATH and PERL_PATH\n      autoconf: Move site configuration section earlier in configure.ac\n      autoconf: Add support for setting PYTHON_PATH or NO_PYTHON\n      autoconf: Check for ll hh j z t size specifiers introduced by C99\n      autoconf: Typo cleanup, reordering etc.\n      Copy description of new build configuration variables to configure.ac\n      autoconf: Set NEEDS_LIBICONV unconditionally if there is no iconv in libc\n      gitweb: Separate input validation and dispatch, add comment about opml action\n      gitweb: die_error first (optional) parameter is HTTP status\n      gitweb: Use undef for die_error to use default first (status) parameter value\n      gitweb: Don't undefine query parameter related variables before die_error\n      gitweb: Cleanup and uniquify error messages\n      gitweb: No periods for error messages\n      gitweb: No error messages with unescaped/unprotected user input\n      gitweb: PATH_INFO=/ means no project\n      gitweb: Inline $rss_link\n      gitweb: Refactor untabifying - converting tabs to spaces\n      gitweb: fix commitdiff for root commits\n      gitweb: Skip nonmatching lines in difftree output, consistently\n      autoconf: Unset NO_STH and NEED_STH when it is detected not needed\n      gitweb: Remove unused variables in git_shortlog_body and git_heads\n      autoconf: Add configure target to main Makefile\n      autoconf: Error out on --without-shell and --without-perl\n      autoconf: Improvements in NO_PYTHON/PYTHON_PATH handling\n      autoconf: Move variables which we always set to config.mak.in\n      autoconf: It is --without-python, not --no-python\n      autoconf: Add support for setting CURLDIR, OPENSSLDIR, EXPATDIR\n      gitweb: Whitespace cleanup - tabs are for indent, spaces are for align\n      gitweb: Great subroutines renaming\n      gitweb: Separate ref parsing in git_get_refs_list into parse_ref\n      gitweb: Refactor printing shortened title in git_shortlog_body and git_tags_body\n      gitweb: Separate main part of git_history into git_history_body\n      gitweb: Separate finding project owner into git_get_project_owner\n      gitweb: Change appereance of marker of refs pointing to given object\n      gitweb: Skip comments in mime.types like file\n      gitweb: True fix: Support for the standard mime.types map in gitweb\n      gitweb: Separate printing difftree in git_commit into git_difftree_body\n      gitweb: Show project's git URL on summary page\n      gitweb: Add support for per project git URLs\n      gitweb: Uniquify version info output, add meta generator in page header\n      gitweb: Refactor printing commit message\n      gitweb: Added parse_difftree_raw_line function for later use\n      gitweb: Use parse_difftree_raw_line in git_difftree_body\n      gitweb: bugfix: a.list formatting regression\n      gitweb: Replace some presentational HTML by CSS\n      gitweb: Whitespace cleanup: realign, reindent\n      gitweb: Use underscore instead of hyphen to separate words in HTTP headers names\n      gitweb: Route rest of action subroutines through %actions\n      gitweb: Use here-doc\n      gitweb: Drop the href() params which keys are not in %mapping\n      gitweb: Sort CGI parameters returned by href()\n      gitweb: Use git-diff-tree patch output for commitdiff\n      gitweb: Show information about incomplete lines in commitdiff\n      gitweb: Remove invalid comment in format_diff_line\n      gitweb: Streamify patch output in git_commitdiff\n      gitweb: Add git_get_{following,preceding}_references functions\n      gitweb: Faster return from git_get_preceding_references if possible\n      gitweb: Add git_get_rev_name_tags function\n      gitweb: Use git_get_name_rev_tags for commitdiff_plain X-Git-Tag: header\n      gitweb: Add support for hash_parent_base parameter for blobdiffs\n      gitweb: Allow for pre-parsed difftree info in git_patchset_body\n      gitweb: Parse two-line from-file/to-file diff header in git_patchset_body\n      gitweb: Add invisible hyperlink to from-file/to-file diff header\n      gitweb: Always display link to blobdiff_plain in git_blobdiff\n      gitweb: Change here-doc back for style consistency in git_blobdiff\n      gitweb: Use git-diff-tree or git-diff patch output for blobdiff\n      gitweb: git_blobdiff_plain is git_blobdiff('plain')\n      gitweb: Remove git_diff_print subroutine\n      gitweb: Remove creating directory for temporary files\n      gitweb: git_annotate didn't expect negative numeric timezone\n      gitweb: Remove workaround for git-diff bug fixed in f82cd3c\n      gitweb: Improve comments about gitweb features configuration\n      gitweb: blobs defined by non-textual hash ids can be cached\n      gitweb: Fix typo in git_difftree_body\n      gitweb: Fix typo in git_patchset_body\n      gitweb: Remove unused git_get_{preceding,following}_references\n      gitweb: Remove git_to_hash function\n      gitweb: Use @diff_opts, default ('M'), as git-diff and git-diff-tree paramete\n      gitweb: Make git_print_log generic; git_print_simplified_log uses it\n      gitweb: Do not remove signoff lines in git_print_simplified_log\n      gitweb: Add author information to commitdiff view\n      gitweb: git_print_log: signoff line is non-empty line\n      gitweb: Add diff tree, with links to patches, to commitdiff view\n      gitweb: Add local time and timezone to git_print_authorship\n      gitweb: Move git-ls-tree output parsing to parse_ls_tree_line\n      gitweb: Separate printing of git_tree row into git_print_tree_entry\n      gitweb: Extend parse_difftree_raw_line to save commit info\n      gitweb: Change the name of diff to parent link in \"commit\" view to \"diff\n      gitweb: Add GIT favicon, assuming image/png type\n      gitweb: Correct typo: '==' instead of 'eq' in git_difftree_body\n      gitweb: Divide page path into directories -- path's \"breadcrumbs\"\n      autoconf: Add -liconv to LIBS when NEEDS_LIBICONV\n      autoconf: Check for subprocess.py\n      autoconf: Quote AC_CACHE_CHECK arguments\n      autoconf: Fix copy'n'paste error\n      autoconf: Set NO_ICONV if iconv is found neither in libc, nor in libiconv\n      autoconf: Add support for setting NO_ICONV and ICONVDIR\n      autoconf: Add config.cache to .gitignore\n      gitweb: Make pickaxe search a feature\n      gitweb: Paginate history output\n      gitweb: Use File::Find::find in git_get_projects_list\n      gitweb: Do not parse refs by hand, use git-peek-remote instead\n      gitweb: Add git_project_index for generating index.aux\n      gitweb: Allow for href() to be used for links without project param\n      gitweb: Add link to \"project_index\" view to \"project_list\" page\n      gitweb: Fix mimetype_guess_file for files with multiple extensions\n      gitweb: Even more support for PATH_INFO based URLs\n      gitweb: Require project for almost all actions\n      gitweb: Always use git-peek-remote in git_get_references\n      gitweb: Make git_get_refs_list do work of git_get_references\n      gitweb: Fix thinko in git_tags and git_heads\n      gitweb: Make git_get_hash_by_path check type if provided\n      gitweb: Strip trailing slashes from $path in git_get_hash_by_path\n      gitweb: Use \"return\" instead of \"return undef\" for some subs\n      gitweb: Split validate_input into validate_pathname and validate_refname\n      gitweb: Add git_url subroutine, and use it to quote full URLs\n      gitweb: Quote filename in HTTP Content-Disposition: header\n      gitweb: Cleanup Git logo and Git logo target generation\n\nJeff King (9):\n      gitweb: optionally read config from GITWEB_CONFIG\n      diff: support custom callbacks for output\n      Move color option parsing out of diff.c and into color.[ch]\n      git-commit.sh: convert run_status to a C builtin\n      git-status: document colorization config options\n      contrib/vim: add syntax highlighting file for commits\n      wt-status: remove extraneous newline from 'deleted:' output\n      rev-list: fix segfault with --{author,committer,grep}\n      git-repack: allow git-repack to run in subdirectory\n\nJohannes Schindelin (38):\n      Git.xs: older perl do not know const char *\n      Status update on merge-recursive in C\n      Cumulative update of merge-recursive in C\n      merge-recur: Convert variable names to lower_case\n      merge-recur: Get rid of debug code\n      merge-recur: Remove dead code\n      merge-recur: Fix compiler warning with -pedantic\n      merge-recur: Cleanup last mixedCase variables...\n      merge-recur: Explain why sha_eq() and struct stage_data cannot go\n      merge-recur: fix thinko in unique_path()\n      read-trees: refactor the unpack_trees() part\n      read-tree: move merge functions to the library\n      merge-recur: use the unpack_trees() interface instead of exec()ing read-tree\n      merge-recur: virtual commits shall never be parsed\n      merge-recursive: fix rename handling\n      http-push: avoid fork() by calling merge_bases() directly\n      merge-recur: do not call git-write-tree\n      merge-recur: do not setenv(\"GIT_INDEX_FILE\")\n      merge-recur: if there is no common ancestor, fake empty one\n      merge-recur: try to merge older merge bases first\n      merge-recur: do not die unnecessarily\n      discard_cache(): discard index, even if no file was mmap()ed\n      Add the --color-words option to the diff options family\n      builtin-mv: readability patch\n      unpack-objects: remove unused variable \"eof\"\n      Makefile: fix typo\n      Remove uneeded #include\n      fmt-merge-msg: fix off-by-one bug\n      Teach runstatus about --untracked\n      add receive.denyNonFastforwards config variable\n      receive-pack: plug memory leak in fast-forward checking code.\n      Document receive.denyNonFastforwards\n      runstatus: do not recurse into subdirectories if not needed\n      daemon: default to 256 for HOST_NAME_MAX if it is not defined\n      diff --stat: ensure at least one '-' for deletions, and one '+' for additions\n      diff: fix 2 whitespace issues\n      cvsserver: Show correct letters for modified, removed and added files\n      cvsserver: fix \"cvs diff\" in a subdirectory\n\nJon Loeliger (3):\n      Add virtualization support to git-daemon\n      Cleaned up git-daemon virtual hosting support.\n      Removed memory leaks from interpolation table uses.\n\nJonas Fonseca (21):\n      git-apply(1): document missing options and improve existing ones\n      git-ls-remote(1): document --upload-pack\n      git-blame(1): mention options in the synopsis and advertise pickaxe\n      gitk(1): expand the manpage to look less like a template\n      git(7): put the synopsis in a verse style paragraph\n      gitview.txt: improve asciidoc markup\n      git-svn(1): improve asciidoc markup\n      describe: fix off-by-one error in --abbrev=40 handling\n      Use PATH_MAX instead of MAXPATHLEN\n      Use xrealloc instead of realloc\n      Use fstat instead of fseek\n      Use xcalloc instead of calloc\n      Add --relative-date option to the revision interface\n      git(7): move gitk(1) to the list of porcelain commands\n      Use xmalloc instead of malloc\n      Include config.mak.autogen in the doc Makefile\n      git-rev-list(1): group options; reformat; document more options\n      git-apply(1): document --unidiff-zero\n      git-repack(1): document --window and --depth\n      Fix trivial typos and inconsistencies in hooks documentation\n      gitk(1): mention --all\n\nJunio C Hamano (139):\n      Perl interface: add build-time configuration to allow building with -fPIC\n      Perl interface: make testsuite work again.\n      perl: fix make clean\n      Git.pm: tentative fix to test the freshly built Git.pm\n      Perly Git: arrange include path settings properly.\n      Makefile: Set USE_PIC on x86-64\n      Perly git: work around buggy make implementations.\n      Git.pm: clean generated files.\n      Perly Git: make sure we do test the freshly built one.\n      INSTALL: a tip for running after building but without installing.\n      Work around sed and make interactions on the backslash at the end of line.\n      upload-pack: use object pointer not copy of sha1 to keep track of has/needs.\n      upload-pack: lift MAX_NEEDS and MAX_HAS limitation\n      recur vs recursive: help testing without touching too many stuff.\n      sha1_file.c: expose map_sha1_file() interface.\n      pack-objects: reuse deflated data from new-style loose objects.\n      unpack-objects: read configuration data upon startup.\n      Makefile: git-merge-recur depends on xdiff libraries.\n      gitweb: There can be more than two levels of subdirectories\n      gitweb: an obvious cut and paste error.\n      gitweb: fix use of uninitialized value.\n      gitweb: when showing history of a tree, show tree link not blob\n      gitweb: avoid undefined value warning in print_page_path\n      gitweb/README: do not bug Kay with gitweb questions anymore\n      Makefile: gitweb/gitweb.cgi is now generated.\n      gitweb: do not use @@FOO@@ for replaced tokens\n      .gitignore: git-merge-recur is a built file.\n      Make git-checkout-index a builtin\n      builtins: Makefile clean-up\n      git.c: Rename NEEDS_PREFIX to RUN_SETUP\n      autoconf: fix NEEDS_SSL_WITH_CRYPTO\n      autoconf: NO_IPV6\n      Racy git: avoid having to be always too careful\n      read-cache: tweak racy-git delay logic\n      autoconf: clean temporary file mak.append\n      git-grep: show pathnames relative to the current directory\n      upload-pack: minor clean-up in multi-ack logic\n      Fix type of combine-diff.c::show_patch_diff()\n      Remove combine-diff.c::uninteresting()\n      t4116 apply --reverse test\n      git-apply --reverse: simplify reverse option.\n      git-apply --binary: clean up and prepare for --reverse\n      avoid nanosleep(2)\n      Documentation/technical/racy-git.txt\n      Add check program \"git-check-racy\"\n      Remove the \"delay writing to avoid runtime penalty of racy-git avoidance\"\n      builtin-grep: remove unused debugging cruft.\n      builtin-apply --reverse: two bugfixes.\n      diff.c: make binary patch reversible.\n      apply --reverse: tie it all together.\n      git-apply --reject\n      git-apply --reject: send rejects to .rej files.\n      git-apply --verbose\n      apply --reject: count hunks starting from 1, not 0\n      Convert memset(hash,0,20) to hashclr(hash).\n      hashcpy/hashcmp remaining bits.\n      builtin-grep.c: remove unused debugging piece.\n      update-index -g\n      git-apply --reject: finishing touches.\n      free(NULL) is perfectly valid.\n      daemon: prepare for multiple services.\n      daemon: add upload-tar service.\n      multi-service daemon: documentation\n      t5710: fix two thinkos.\n      Constness tightening for move/link_temp_to_file()\n      consolidate two copies of new style object header parsing code.\n      pack-objects: re-validate data we copy from elsewhere.\n      Revert \"Convert git-annotate to use Git.pm\"\n      Revert \"Git.pm: Introduce fast get_object() method\"\n      Revert \"Make it possible to set up libgit directly (instead of from the environment)\"\n      pack-objects: fix thinko in revalidate code\n      more lightweight revalidation while reusing deflated stream in packing\n      unpack-objects desperately salvages objects from a corrupt pack\n      revision.c: allow injecting revision parameters after setup_revisions().\n      Teach rev-list an option to read revs from the standard input.\n      Revert \"daemon: add upload-tar service.\"\n      Make apply --binary a no-op.\n      diff --binary generates full index on binary files.\n      Separate object listing routines out of rev-list\n      pack-objects: run rev-list equivalent internally.\n      pack-objects: further work on internal rev-list logic.\n      pack-objects --unpacked=<existing pack> option.\n      get_sha1_hex() micro-optimization\n      archive: allow remote to have more formats than we understand.\n      Move sideband client side support into reusable form.\n      Move sideband server side support into reusable form.\n      archive: force line buffered output to stderr\n      Add --verbose to git-archive\n      Teach --exec to git-archive --remote\n      Prepare larger packet buffer for upload-pack protocol.\n      Add sideband status report to git-archive protocol\n      upload-archive: monitor child communication more carefully.\n      builtin-archive.c: rename remote_request() to extract_remote_arg()\n      pack-objects: document --revs, --unpacked and --all.\n      http-fetch: fix alternates handling.\n      unpack-objects -r: call it \"recover\".\n      Document git-grep -[Hh]\n      Define fallback PATH_MAX on systems that do not define one in <limits.h>\n      Fix git-am safety checks\n      http-fetch.c: consolidate code to detect missing fetch target\n      Add ftp:// protocol support for git-http-fetch\n      t1400: make test debuggable.\n      apply --unidiff-zero: loosen sanity checks for --unidiff=0 patches\n      builtin-grep: make pieces of it available as library.\n      revision traversal: prepare for commit log match.\n      revision traversal: --author, --committer, and --grep.\n      repack: use only pack-objects, not rev-list.\n      Update grep internal for grepping only in head/body\n      git log: Unify header_filter and message_filter into one.\n      Make hexval() available to others.\n      sha1_name.c: understand \"describe\" output as a valid object name\n      diff.c: second war on whitespace.\n      git-apply: second war on whitespace.\n      Add t5510 to test per branch configuration affecting git-fetch.\n      Remove upload-tar and make git-tar-tree a thin wrapper to git-archive\n      Deprecate merge-recursive.py\n      diff --stat: allow custom diffstat output width.\n      diff --stat: color output.\n      An illustration of rev-list --parents --pretty=raw\n      grep: free expressions and patterns when done.\n      grep: fix --fixed-strings combined with expression.\n      Contributed bash completion support for core Git tools.\n      git-diff -B output fix.\n      Remove -fPIC which was only needed for Git.xs\n      GIT 1.4.3-rc1\n      Makefile: install and clean merge-recur, still.\n      escape tilde in Documentation/git-rev-parse.txt\n      tar-tree deprecation: we eat our own dog food.\n      gitweb: Make the Git logo link target to point to the homepage\n      git-send-email: avoid uninitialized variable warning.\n      cherry-pick: make -r the default\n      Add WEBDAV timeout to http-fetch.\n      Fix git-revert\n      git-fetch --update-head-ok typofix\n      git-pull: we say commit X, not X commit.\n      git.spec.in: perl subpackage is installed in perl_vendorlib not vendorarch\n      apply --numstat -z: line termination fix.\n      t4015: work-around here document problem on Cygwin.\n      Revert \"move pack creation to version 3\"\n\nLinus Torvalds (10):\n      Relative timestamps in git log\n      git-fsck-objects: lacking default references should not be fatal\n      Fix git-fsck-objects SIGSEGV/divide-by-zero\n      Add \"-h/-H\" parsing to \"git grep\"\n      Allow multiple \"git_path()\" uses\n      git-log --author and --committer are not left-anchored by default\n      Clean up approxidate() in preparation for fixes\n      Fix approxidate() to understand more extended numbers\n      diff --stat=width[,name-width]: allow custom diffstat output width.\n      Fix approxidate() to understand 12:34 AM/PM are 00:34 and 12:34\n\nLiu Yubao (1):\n      Fix duplicate xmalloc in builtin-add\n\nLuben Tuikov (22):\n      gitweb: git_tree displays blame based on repository config\n      gitweb: bugfix: git_commit and git_commitdiff parents\n      gitweb: blame table row no highlight fix\n      gitweb: bugfix: commitdiff regression\n      gitweb: bugfix: git_print_page_path() needs the hash base\n      gitweb: tree view: eliminate redundant \"blob\"\n      gitweb: Remove redundant \"tree\" link\n      gitweb: extend blame to show links to diff and previous\n      Revert \"gitweb: extend blame to show links to diff and previous\"\n      gitweb: Remove excessively redundant entries from git_difftree_body\n      gitweb: Add history and blame to git_difftree_body()\n      gitweb: \"alternate\" starts with shade (i.e. 1)\n      gitweb: Remove redundant \"commit\" link from shortlog\n      gitweb: Factor out gitweb_have_snapshot()\n      gitweb: Add snapshot to shortlog\n      gitweb: Don't use quotemeta on internally generated strings\n      gitweb: Remove redundant \"commit\" from history\n      gitweb: History: blob and tree are first, then commitdiff, etc\n      gitweb: tree view: hash_base and hash are now context sensitive\n      gitweb: Escape ESCAPE (\\e) character\n      gitweb: Do not print \"log\" and \"shortlog\" redundantly in commit view\n      gitweb: blame: Minimize vertical table row padding\n\nMarkus Amsler (1):\n      git-imap-send: Strip smtp From_ header from imap message.\n\nMartin Langhoff (1):\n      git-repack: create new packs inside $GIT_DIR, not cwd\n\nMartin Waitz (16):\n      gitweb: fill in gitweb configuration by Makefile\n      gitweb: use out-of-line GIT logo.\n      gitweb: provide function to format the URL for an action link.\n      gitweb: consolidate action URL generation.\n      gitweb: continue consolidation of URL generation.\n      gitweb: support for \"fp\" parameter.\n      gitweb: support for / as home_link.\n      gitweb: fix project list if PATH_INFO==\"/\".\n      gitweb: more support for PATH_INFO based URLs\n      gitweb: fix uninitialized variable warning.\n      gitweb: fix display of trees via PATH_INFO.\n      gitweb: document webserver configuration for common gitweb/repo URLs.\n      git-commit: cleanup unused function.\n      git-commit: fix coding style.\n      test-lib: separate individual test better in verbose mode.\n      paginate git-diff by default\n\nMatthias Kestenholz (6):\n      Make git-name-rev a builtin\n      Make git-pack-objects a builtin\n      Make git-unpack-objects a builtin\n      Make git-symbolic-ref a builtin\n      Add gitweb.cgi to .gitignore\n      Check if pack directory exists prior to descending into it\n\nMatthias Lederhofer (12):\n      pager: environment variable GIT_PAGER to override PAGER\n      gitweb: use a hash to lookup the sub for an action\n      gitweb: require $ENV{'GITWEB_CONFIG'}\n      gitweb: check if HTTP_ACCEPT is really set\n      gitweb: fix commitdiff_plain for root commits\n      gitweb: fix $project usage\n      gitweb: do not use 'No such directory' error message\n      gitweb: export options\n      gitweb: fix warnings in PATH_INFO code and add export_ok/strict_export\n      gitweb fix validating pg (page) parameter\n      format-patch: use cwd as default output directory\n      git-format-patch: fix bug using -o in subdirectories\n\nNicolas Pitre (4):\n      move pack creation to version 3\n      many cleanups to sha1_file.c\n      add commit count options to git-shortlog\n      atomic write for sideband remote messages\n\nPaul Mackerras (10):\n      gitk: Minor cleanups\n      gitk: Recompute ancestor/descendent heads/tags when rereading refs\n      gitk: Add a row context-menu item for creating a new branch\n      gitk: Add a context menu for heads\n      gitk: Fix a couple of buglets in the branch head menu items\n      gitk: Add a menu item for cherry-picking commits\n      gitk: Update preceding/following tag info when creating a tag\n      gitk: Improve responsiveness while reading and layout out the graph\n      gitk: Fix some bugs in the new cherry-picking code\n      diff-index --cc shows a 3-way diff between HEAD, index and working tree.\n\nPavel Roskin (3):\n      Fix probing for already installed Error.pm\n      Delete manuals if compiling without docs\n      Make perl interface a separate package\n\nPetr Baudis (48):\n      Introduce Git.pm (v4)\n      Git.pm: Implement Git::exec_path()\n      Git.pm: Call external commands using execv_git_cmd()\n      Git.pm: Implement Git::version()\n      Add Error.pm to the distribution\n      Git.pm: Better error handling\n      Git.pm: Handle failed commands' output\n      Git.pm: Enhance the command_pipe() mechanism\n      Git.pm: Implement options for the command interface\n      Git.pm: Add support for subdirectories inside of working copies\n      Convert git-mv to use Git.pm\n      Git.pm: assorted build related fixes.\n      Git.pm: Try to support ActiveState output pipe\n      Git.pm: Swap hash_object() parameters\n      Git.pm: Fix Git->repository(\"/somewhere/totally/elsewhere\")\n      Git.pm: Support for perl/ being built by a different compiler\n      Git.pm: Remove PerlIO usage from Git.xs\n      Git.pm: Avoid ppport.h\n      Git.pm: Don't #define around die\n      Use $GITPERLLIB instead of $RUNNING_GIT_TESTS and centralize @INC munging\n      Git.pm: Add config() method\n      Convert git-send-email to use Git.pm\n      Git.pm: Introduce ident() and ident_person() methods\n      Make it possible to set up libgit directly (instead of from the environment)\n      Git.pm: Introduce fast get_object() method\n      Convert git-annotate to use Git.pm\n      Eliminate Scalar::Util usage from private-Error.pm\n      Fix showing of path in tree view\n      gitweb: Link (HEAD) tree for each project from projects list\n      gitweb: More per-view navigation bar links\n      gitweb: Link to tree instead of snapshot in shortlog\n      gitweb: Link to latest tree from the head line in heads list\n      gitweb: Link to associated tree from a particular log item in full log view\n      gitweb: Rename \"plain\" labels to \"raw\"\n      gitweb: Relabel \"head\" as \"HEAD\"\n      Make path in tree view look nicer\n      gitweb: Fix tree link associated with each commit log entry.\n      gitweb: Fix @git_base_url_list usage\n      Fix snapshot link in tree view\n      Git.pm: Kill Git.xs for now\n      Deprecate git-resolve.sh\n      gitweb: Consolidate escaping/validation of query string\n      gitweb: fix over-eager application of esc_html().\n      Show snapshot link in shortlog only if have_snapsho\n      gitweb: Separate (new) and (deleted) in commitdiff by a space\n      gitweb: Handle commits with empty commit messages more reasonably\n      gitweb: [commit view] Do not suppress commitdiff link in root commit\n      svnimport: Fix broken tags being generated\n\nPierre Habouzit (7):\n      Fix a comparison bug in diff-delta.c\n      avoid to use error that shadows the function name, use err instead.\n      git_dir holds pointers to local strings, hence MUST be const.\n      missing 'static' keywords\n      remove ugly shadowing of loop indexes in subloops.\n      use name[len] in switch directly, instead of creating a shadowed variable.\n      n is in fact unused, and is later shadowed.\n\nRandal L. Schwartz (1):\n      builtin-upload-archive.c broken on openbsd\n\nRene Scharfe (21):\n      git-verify-pack: make builtin\n      Axe the last ent\n      Add write_or_die(), a helper function\n      Add git-zip-tree\n      git-cherry: remove unused variable\n      git-reset: remove unused variable\n      Add git-zip-tree to .gitignore\n      git-archive: make compression level of ZIP archives configurable\n      Use xstrdup instead of strdup in builtin-{tar,zip}-tree.c\n      git-archive: inline default_parse_extra()\n      git-tar-tree: devolve git-tar-tree into a wrapper for git-archive\n      Remove git-zip-tree\n      Rename builtin-zip-tree.c to archive-zip.c\n      git-tar-tree: Remove duplicate git_config() call\n      git-tar-tree: Move code for git-archive --format=tar to archive-tar.c\n      git-tar-tree: don't RUN_SETUP\n      Documentation: add missing second colons and remove a typo\n      Add hash_sha1_file()\n      Make write_sha1_file_prepare() static\n      Make write_sha1_file_prepare() void\n      Replace open-coded version of hash_sha1_file()\n\nRobin Rosenberg (3):\n      Quote arguments to tr in test-lib\n      Make cvsexportcommit remove files.\n      Error in test description of t1200-tutorial\n\nSanti Béjar (4):\n      Fetch: default remote repository from branch properties\n      fetch: get the remote branches to merge from the branch properties\n      Add test for the default merges in fetch.\n      fetch: Reset remote refs list each time fetch_main is called\n\nSasha Khapyorsky (3):\n      Trivial support for cloning and fetching via ftp://.\n      git-svnimport: Parse log message for Signed-off-by: lines\n      http/ftp: optionally ask curl to not use EPSV command\n\nSergey Vlasov (2):\n      Documentation: Fix howto/revert-branch-rebase.html generation\n      git-svn: Fix fetch --no-ignore-externals with GIT_SVN_NO_LIB=1\n\nShawn Pearce (15):\n      Verify we know how to read a pack before trying to using it.\n      Remove unnecessary forward declaration of unpack_entry.\n      Convert memcpy(a,b,20) to hashcpy(a,b).\n      Convert memcpy(a,b,20) to hashcpy(a,b).\n      Reorganize/rename unpack_non_delta_entry to unpack_compressed_entry.\n      Reuse compression code in unpack_compressed_entry.\n      Cleanup unpack_entry_gently and friends to use type_name array.\n      Cleanup unpack_object_header to use only offsets.\n      Convert unpack_entry_gently and friends to use offsets.\n      Replace uses of strdup with xstrdup.\n      Allow 'svn fetch' on '(no date)' revisions in Subversion.\n      Allow '(no author)' in git-svn's authors file.\n      Ignore executable bit when adding files if filemode=0.\n      Allow git-checkout when on a non-existant branch.\n      Corrected copy-and-paste thinko in ignore executable bit test case.\n\nTilman Sauerbeck (2):\n      Indentation fix.\n      Added support for dropping privileges to git-daemon.\n\nTimo Hirvonen (2):\n      --name-only, --name-status, --check and -s are mutually exclusive\n      Remove awkward compatibility warts\n\nVille Skyttä (1):\n      Be nicer if git executable is not installed\n\nYasushi SHOJI (4):\n      gitweb: configurable home link string\n      gitweb: Decode long title for link tooltips\n      gitweb: refactor decode() for utf8 conversion\n      clone: the given repository dir should be relative to $PWD\n"},{"id":"29348","messageId":"m3zmbrt8yb.fsf@localhost.localdomain","threadId":"5950","inReplyTo":"7vejt5xjt9.fsf@assigned-by-dhcp.cox.net","subject":"Re: [ANNOUNCE] GIT 1.4.3","fromName":"Peter Eriksen","fromEmail":"s022018@student.dtu.dk","sentAt":"2006-10-20T13:26:04Z","receivedAt":"2006-10-20T13:26:04Z","isPatch":false,"sender":{"key":"s022018@student.dtu.dk","avatar":null},"body":"Junio C Hamano <junkio@cox.net> writes:\n\n> The latest feature release GIT 1.4.3 is available at the usual\n> places:\n...\n> ----------------------------------------------------------------\n> \n>  .gitignore                                         |   10 +-\n>  Documentation/Makefile                             |    4 +-\n>  Documentation/asciidoc.conf                        |    1 +\n>  Documentation/config.txt                           |   34 +\n...\n>  rename contrib/gitview/{gitview.txt => gitview.txt} (74%)\n\nHow does it come to the result, that this is a rename?\n\nPeter\n"},{"id":"29440","messageId":"7v4ptylfvw.fsf@assigned-by-dhcp.cox.net","threadId":"5950","inReplyTo":"7vejt5xjt9.fsf@assigned-by-dhcp.cox.net","subject":"Re: [ANNOUNCE] GIT 1.4.3","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-10-20T23:35:47Z","receivedAt":"2006-10-20T23:35:47Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <junkio@cox.net> writes:\n\n>  - git-diff paginates its output to the tty by default.  If this\n>    irritates you, using LESS=RF might help.\n\nI am considering the following to address irritation some people\n(including me, actually) are experiencing with this change when\nviewing a small (or no) diff.  Any objections?\n\ndiff --git a/pager.c b/pager.c\nindex dcb398d..8bd33a1 100644\n--- a/pager.c\n+++ b/pager.c\n@@ -50,7 +50,7 @@ void setup_pager(void)\n \tclose(fd[0]);\n \tclose(fd[1]);\n \n-\tsetenv(\"LESS\", \"-RS\", 0);\n+\tsetenv(\"LESS\", \"FRS\", 0);\n \trun_pager(pager);\n \tdie(\"unable to execute pager '%s'\", pager);\n \texit(255);\n"},{"id":"29446","messageId":"Pine.LNX.4.64.0610201709430.3962@g5.osdl.org","threadId":"5950","inReplyTo":"7v4ptylfvw.fsf@assigned-by-dhcp.cox.net","subject":"Re: [ANNOUNCE] GIT 1.4.3","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2006-10-21T00:14:39Z","receivedAt":"2006-10-21T00:14:39Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Fri, 20 Oct 2006, Junio C Hamano wrote:\n> \n> I am considering the following to address irritation some people\n> (including me, actually) are experiencing with this change when\n> viewing a small (or no) diff.  Any objections?\n\nNot from me. I use \"git diff\" just to check that the tree is empty, and \nthe fact that it now throws me into an empty pager is irritating.\n\nThat said, \"LESS=FRS\" doesn't really help that much. It still clears the \nscreen. Using \"LESS=FRSX\" fixes that, but the alternate display sequence \nis actually nice _if_ the pager is used.\n\nStill, I think I'd prefer FRSX as the default.\n\n\t\tLinus\n"},{"id":"29447","messageId":"20061021002251.GO20017@pasky.or.cz","threadId":"5950","inReplyTo":"Pine.LNX.4.64.0610201709430.3962@g5.osdl.org","subject":"Re: [ANNOUNCE] GIT 1.4.3","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2006-10-21T00:22:51Z","receivedAt":"2006-10-21T00:22:51Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"> That said, \"LESS=FRS\" doesn't really help that much. It still clears the \n> screen. Using \"LESS=FRSX\" fixes that, but the alternate display sequence \n> is actually nice _if_ the pager is used.\n\nHmm, what terminal emulator do you use? The reasonable ones should\nrestore the original screen. At least xterm does, and I *think*\ngnome-terminal does too (although I'm too lazy to boot up my notebook\nand confirm).\n\n(I personally consider alternate screen an abomination. It would be so\nnice if the terminal emulators would just make it optional.)\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\n#!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj\n$/=unpack('H*',$_);$_=`echo 16dio\\U$k\"SK$/SM$n\\EsN0p[lN*1\nlK[d2%Sa2/d0$^Ixp\"|dc`;s/\\W//g;$_=pack('H*',/((..)*)$/)\n"},{"id":"29448","messageId":"Pine.LNX.4.64.0610201728031.3962@g5.osdl.org","threadId":"5950","inReplyTo":"20061021002251.GO20017@pasky.or.cz","subject":"Re: [ANNOUNCE] GIT 1.4.3","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2006-10-21T00:31:21Z","receivedAt":"2006-10-21T00:31:21Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Sat, 21 Oct 2006, Petr Baudis wrote:\n>\n> > That said, \"LESS=FRS\" doesn't really help that much. It still clears the \n> > screen. Using \"LESS=FRSX\" fixes that, but the alternate display sequence \n> > is actually nice _if_ the pager is used.\n> \n> Hmm, what terminal emulator do you use? The reasonable ones should\n> restore the original screen. At least xterm does, and I *think*\n> gnome-terminal does too (although I'm too lazy to boot up my notebook\n> and confirm).\n\nNot xterm, at least.\n\nNot gnome-terminal either, for that matter.\n\nI just tried.\n\n\tLESS=FRS git diff\n\nclears the screen and leaves the thing at the end.\n\n\tLESS=FRSX git diff\n\nworks fine, but for people who _like_ the alternate screens (and I do, \nonce I really use a pager) it also disables the alternate screen.\n\nIt might depend on the termcap, of course. I'm running FC5.\n\n\t\tLinus\n"},{"id":"29450","messageId":"Pine.LNX.4.64.0610202046420.12418@xanadu.home","threadId":"5950","inReplyTo":"7v4ptylfvw.fsf@assigned-by-dhcp.cox.net","subject":"Re: [ANNOUNCE] GIT 1.4.3","fromName":"Nicolas Pitre","fromEmail":"nico@cam.org","sentAt":"2006-10-21T00:47:54Z","receivedAt":"2006-10-21T00:47:54Z","isPatch":false,"sender":{"key":"nico@fluxnic.net","avatar":"https://avatars.githubusercontent.com/u/702790?v=4"},"body":"On Fri, 20 Oct 2006, Junio C Hamano wrote:\n\n> Junio C Hamano <junkio@cox.net> writes:\n> \n> >  - git-diff paginates its output to the tty by default.  If this\n> >    irritates you, using LESS=RF might help.\n> \n> I am considering the following to address irritation some people\n> (including me, actually) are experiencing with this change when\n> viewing a small (or no) diff.  Any objections?\n\nI think this is an excellent idea.\n\n\nNicolas\n"},{"id":"29459","messageId":"20061021021235.GA29920@ftp.linux.org.uk","threadId":"5950","inReplyTo":"Pine.LNX.4.64.0610201709430.3962@g5.osdl.org","subject":"Re: [ANNOUNCE] GIT 1.4.3","fromName":"Al Viro","fromEmail":"viro@ftp.linux.org.uk","sentAt":"2006-10-21T02:12:35Z","receivedAt":"2006-10-21T02:12:35Z","isPatch":false,"sender":{"key":"viro@ftp.linux.org.uk","avatar":null},"body":"On Fri, Oct 20, 2006 at 05:14:39PM -0700, Linus Torvalds wrote:\n> \n> \n> On Fri, 20 Oct 2006, Junio C Hamano wrote:\n> > \n> > I am considering the following to address irritation some people\n> > (including me, actually) are experiencing with this change when\n> > viewing a small (or no) diff.  Any objections?\n> \n> Not from me. I use \"git diff\" just to check that the tree is empty, and \n> the fact that it now throws me into an empty pager is irritating.\n\nSpeaking of irritations...  There is a major (and AFAICS fixable)\nsuckitude in git-cherry.  Basically, what it does is\n\t* use git-rev-list to find commits on our branches\n\t* do git-diff-tree -p for each commit\n\t* do git-patch-id on each delta\n\t* compare sets.\nFor one thing, there are better ways to do set comparison than creating\na file for each element in one set and going through another checking\nif corresponding files exist (join(1) and sort(1) or just use perl hashes).\nThat one is annoying on journalling filesystems (a lot of files being\ncreated, read and removed - fsckloads of disk traffic), but it's actually\nnot the worst problem.\n\nFar more annoying is that we keep recalculating git-diff-tree -p | git-patch-id\nagain and again; try to do git cherry on a dozen short branches forked at\n2.6.18 and you'll see the damn thing recalculated a dozen of times for\neach commit from 2.6.18 to current.  It's not cheap, to put it mildly.\n\ngit-rev-list ^v2.6.18 HEAD|while read i; do git-diff-tree -p $i; done |git-patch-id >/dev/null\n\nout of hot cache on 2GHz amd64 box (Athlon 64 3400+) takes 3 minutes of\nwall time.  Repeat that for each branch and it's starting to get old very\nfast.\n\nNote that we are calculating a function of commit; it _never_ changes.\nEven if we don't just calculate and memorize it at commit time, a cache\nsomewhere under .git would speed the things up a lot...\n"},{"id":"29464","messageId":"7vbqo6i6da.fsf@assigned-by-dhcp.cox.net","threadId":"5950","inReplyTo":"20061021021235.GA29920@ftp.linux.org.uk","subject":"Re: [ANNOUNCE] GIT 1.4.3","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-10-21T05:29:37Z","receivedAt":"2006-10-21T05:29:37Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Al Viro <viro@ftp.linux.org.uk> writes:\n\n> Speaking of irritations...  There is a major (and AFAICS fixable)\n> suckitude in git-cherry.  Basically, what it does is...\n\nYeah, that sucks big time.  I never realized there are people\nwho still are using it, though. git-format-patch used to use it,\nbut the version was retired exactly five months ago, and there\nis no in-tree users anymore.\n\nI guess we could separate out the revision filtering logic in\nbuiltin-log.c:cmd_format_patch() and implement git-cherry as a\nnew built-in.\n"},{"id":"29467","messageId":"20061021054050.GB29920@ftp.linux.org.uk","threadId":"5950","inReplyTo":"7vbqo6i6da.fsf@assigned-by-dhcp.cox.net","subject":"Re: [ANNOUNCE] GIT 1.4.3","fromName":"Al Viro","fromEmail":"viro@ftp.linux.org.uk","sentAt":"2006-10-21T05:40:50Z","receivedAt":"2006-10-21T05:40:50Z","isPatch":false,"sender":{"key":"viro@ftp.linux.org.uk","avatar":null},"body":"On Fri, Oct 20, 2006 at 10:29:37PM -0700, Junio C Hamano wrote:\n> Al Viro <viro@ftp.linux.org.uk> writes:\n> \n> > Speaking of irritations...  There is a major (and AFAICS fixable)\n> > suckitude in git-cherry.  Basically, what it does is...\n> \n> Yeah, that sucks big time.  I never realized there are people\n> who still are using it, though. git-format-patch used to use it,\n> but the version was retired exactly five months ago, and there\n> is no in-tree users anymore.\n\nHuh?  If you have a saner way to do reordering/changeset-by-changeset\nrebasing of branches...  git-cherry followed by selective cherry-pick\nworks and is much more convenient than messing with implementing what\nI need via git-am and shitloads of editing...\n"},{"id":"29481","messageId":"jeu01yvvtt.fsf@sykes.suse.de","threadId":"5950","inReplyTo":"20061021002251.GO20017@pasky.or.cz","subject":"Re: [ANNOUNCE] GIT 1.4.3","fromName":"Andreas Schwab","fromEmail":"schwab@suse.de","sentAt":"2006-10-21T09:53:34Z","receivedAt":"2006-10-21T09:53:34Z","isPatch":false,"sender":{"key":"schwab@suse.de","avatar":"https://avatars.githubusercontent.com/u/2175493?v=4"},"body":"Petr Baudis <pasky@suse.cz> writes:\n\n> (I personally consider alternate screen an abomination. It would be so\n> nice if the terminal emulators would just make it optional.)\n\n$ xterm -rm \"*titeInhibit: true\"\n\nAndreas.\n\n-- \nAndreas Schwab, SuSE Labs, schwab@suse.de\nSuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany\nPGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5\n\"And now for something completely different.\"\n"},{"id":"29501","messageId":"453A2ED2.1000709@lsrfire.ath.cx","threadId":"5950","inReplyTo":"20061021021235.GA29920@ftp.linux.org.uk","subject":"Re: [ANNOUNCE] GIT 1.4.3","fromName":"Rene Scharfe","fromEmail":"rene.scharfe@lsrfire.ath.cx","sentAt":"2006-10-21T14:29:38Z","receivedAt":"2006-10-21T14:29:38Z","isPatch":false,"sender":{"key":"l.s.r@web.de","avatar":"https://avatars.githubusercontent.com/u/26122331?v=4"},"body":"Al Viro schrieb:\n> Speaking of irritations...  There is a major (and AFAICS fixable)\n> suckitude in git-cherry.\n\n[...]\n\n> For one thing, there are better ways to do set comparison than creating\n> a file for each element in one set and going through another checking\n> if corresponding files exist (join(1) and sort(1) or just use perl hashes).\n\n[...]\n\n> Note that we are calculating a function of commit; it _never_ changes.\n> Even if we don't just calculate and memorize it at commit time, a cache\n> somewhere under .git would speed the things up a lot...\n\nHow about this patch?  It does away with using temporary files and instead\ncreates persistent cache files under .git/patch-ids/.  It is a very stupid\ncache layout: file name = commit SHA1, file contents = patch ID.  Perhaps\nit needs fan-out directories like .git/objects/ has before it can be\nconsidered for merge.\n\nThe set compare is stupid, too, but at least it is in-shell now, using a\nspace separated list and the is_in function.\n\nAnd the cache file creation is not safe for multiple parallel git-cherry's.\n\nIt survives \"make test\" and is otherwise untested.  Care to test drive\nthis prototype? :-D\n\nThanks,\nRené\n\n\ndiff --git a/git-cherry.sh b/git-cherry.sh\nindex 8832573..c88afc3 100755\n--- a/git-cherry.sh\n+++ b/git-cherry.sh\n@@ -46,18 +46,29 @@ # not that the order in inup matters...\n inup=`git-rev-list ^$ours $upstream` &&\n ours=`git-rev-list $ours ^$limit` || exit\n \n-tmp=.cherry-tmp$$\n-patch=$tmp-patch\n-mkdir $patch\n-trap \"rm -rf $tmp-*\" 0 1 2 3 15\n+is_in() {\n+\twhat=\"$1\"\n+\twhile [ $# -gt 1 ]; do\n+\t\tshift\n+\t\t[ \"$what\" = \"$1\" ] && return 0\n+\tdone\n+\treturn 1\n+}\n \n+# prime patch-ID cache\n+PATCH_ID_CACHE=\"$GIT_DIR/patch-ids\"\n+mkdir -p \"$PATCH_ID_CACHE\"\n+for commit in $inup $ours; do\n+\t[ -f \"$PATCH_ID_CACHE/$commit\" ] && continue\n+\tset x `git-diff-tree -p $commit | git-patch-id`\n+\techo \"$2\" >\"$PATCH_ID_CACHE/$commit\"\n+done\n+\n+ids_inup=\n for c in $inup\n do\n-\tgit-diff-tree -p $c\n-done | git-patch-id |\n-while read id name\n-do\n-\techo $name >>$patch/$id\n+\tread id <\"$PATCH_ID_CACHE/$c\"\n+\tids_inup=\"$ids_inup $id\"\n done\n \n LF='\n@@ -66,10 +77,10 @@ LF='\n O=\n for c in $ours\n do\n-\tset x `git-diff-tree -p $c | git-patch-id`\n-\tif test \"$2\" != \"\"\n+\tread id <\"$PATCH_ID_CACHE/$c\"\n+\tif test \"$id\" != \"\"\n \tthen\n-\t\tif test -f \"$patch/$2\"\n+\t\tif is_in $id $ids_inup\n \t\tthen\n \t\t\tsign=-\n \t\telse\n"},{"id":"29677","messageId":"pan.2006.10.22.21.09.32.177539@alarsen.net","threadId":"5950","inReplyTo":"20061021002251.GO20017@pasky.or.cz","subject":"Re: [ANNOUNCE] GIT 1.4.3","fromName":"Anders Larsen","fromEmail":"al@alarsen.net","sentAt":"2006-10-22T21:09:32Z","receivedAt":"2006-10-22T21:09:32Z","isPatch":false,"sender":{"key":"al@alarsen.net","avatar":null},"body":"On Sat, 21 Oct 2006 02:22:51 +0200, Petr Baudis wrote:\n\n>> That said, \"LESS=FRS\" doesn't really help that much. It still clears the \n>> screen. Using \"LESS=FRSX\" fixes that, but the alternate display sequence \n>> is actually nice _if_ the pager is used.\n> \n> Hmm, what terminal emulator do you use? The reasonable ones should\n> restore the original screen.\n\nAnd indeed they do.\nThe problem is, when the original screen is restored, the diff output that\nwas paged through less -FRS goes poof as well.\n\nCheers\n Anders\n"},{"id":"29693","messageId":"20061023005336.GA12932@fieldses.org","threadId":"5950","inReplyTo":"7v4ptylfvw.fsf@assigned-by-dhcp.cox.net","subject":"Re: prune/prune-packed","fromName":"J. Bruce Fields","fromEmail":"bfields@fieldses.org","sentAt":"2006-10-23T00:53:36Z","receivedAt":"2006-10-23T00:53:36Z","isPatch":false,"sender":{"key":"bfields@citi.umich.edu","avatar":null},"body":"Junio C Hamano <junkio@cox.net> writes:\n> I am considering the following to address irritation some people\n> (including me, actually) are experiencing with this change when\n> viewing a small (or no) diff.  Any objections?\n\nSo for me, if I run\n\n\tless -FRS file\n\nwhere \"file\" is less than a page, I see nothing happen whatsoever.\n\nAt a guess, maybe it's clearing the screen, displaying the file, the\nrestoring, all before I see anything happen?\n\n--b.\n"},{"id":"29694","messageId":"453C1A35.70504@gmail.com","threadId":"5950","inReplyTo":"20061023005336.GA12932@fieldses.org","subject":"Re: prune/prune-packed","fromName":"A Large Angry SCM","fromEmail":"gitzilla@gmail.com","sentAt":"2006-10-23T01:26:13Z","receivedAt":"2006-10-23T01:26:13Z","isPatch":false,"sender":{"key":"gitzilla@gmail.com","avatar":"https://gravatar.com/avatar/354625c442439908ff3dd99757dee330e29e9df7847472384faf7a00add247fb?d=mp&s=160"},"body":"J. Bruce Fields wrote:\n> Junio C Hamano <junkio@cox.net> writes:\n>> I am considering the following to address irritation some people\n>> (including me, actually) are experiencing with this change when\n>> viewing a small (or no) diff.  Any objections?\n> \n> So for me, if I run\n> \n> \tless -FRS file\n> \n> where \"file\" is less than a page, I see nothing happen whatsoever.\n> \n> At a guess, maybe it's clearing the screen, displaying the file, the\n> restoring, all before I see anything happen?\n\nJunio,\n\nHow about reverting this change? From the reports here, is causing \nproblems on a number of different distributions.\n\nThese settings are probably something that is better set by the user in \nan environment variable. Or, make the default something that does work \neverywhere and have a config item for those that wish to customize their UI.\n"},{"id":"29695","messageId":"20061023023635.GA20256@fieldses.org","threadId":"5950","inReplyTo":"453C1A35.70504@gmail.com","subject":"Re: [ANNOUNCE] GIT 1.4.3","fromName":"J. Bruce Fields","fromEmail":"bfields@fieldses.org","sentAt":"2006-10-23T02:36:35Z","receivedAt":"2006-10-23T02:36:35Z","isPatch":false,"sender":{"key":"bfields@citi.umich.edu","avatar":null},"body":"On Sun, Oct 22, 2006 at 06:26:13PM -0700, A Large Angry SCM wrote:\n> J. Bruce Fields wrote:\n> >So for me, if I run\n> >\n> >\tless -FRS file\n> >\n> >where \"file\" is less than a page, I see nothing happen whatsoever.\n> >\n> >At a guess, maybe it's clearing the screen, displaying the file, the\n> >restoring, all before I see anything happen?\n...\n> \n> How about reverting this change? From the reports here, is causing \n> problems on a number of different distributions.\n\nI'm using gnome-terminal on Debian/Sid, by the way.\n\n> These settings are probably something that is better set by the user in \n> an environment variable. Or, make the default something that does work \n> everywhere and have a config item for those that wish to customize their UI.\n\n(Um, sorry for my mail screwups, by the way....)\n\n--b.\n"},{"id":"29696","messageId":"7vvembzp6y.fsf@assigned-by-dhcp.cox.net","threadId":"5950","inReplyTo":"453C1A35.70504@gmail.com","subject":"Re: prune/prune-packed","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-10-23T03:27:49Z","receivedAt":"2006-10-23T03:27:49Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"A Large Angry SCM <gitzilla@gmail.com> writes:\n\n> J. Bruce Fields wrote:\n>> Junio C Hamano <junkio@cox.net> writes:\n>>> I am considering the following to address irritation some people\n>>> (including me, actually) are experiencing with this change when\n>>> viewing a small (or no) diff.  Any objections?\n>>\n>> So for me, if I run\n>>\n>> \tless -FRS file\n>>\n>> where \"file\" is less than a page, I see nothing happen whatsoever.\n>>\n>> At a guess, maybe it's clearing the screen, displaying the file, the\n>> restoring, all before I see anything happen?\n>\n> Junio,\n>\n> How about reverting this change? From the reports here, is causing\n> problems on a number of different distributions.\n\nHmmm.  I thought I was using gnome-terminal as well, but I\nalways work in screen and did not see this problem.\n\nSorry, but you are right and Linus is more right.  How about\ndoing FRSX.\n\ndiff --git a/pager.c b/pager.c\nindex 8bd33a1..4587fbb 100644\n--- a/pager.c\n+++ b/pager.c\n@@ -50,7 +50,7 @@ void setup_pager(void)\n \tclose(fd[0]);\n \tclose(fd[1]);\n \n-\tsetenv(\"LESS\", \"FRS\", 0);\n+\tsetenv(\"LESS\", \"FRSX\", 0);\n \trun_pager(pager);\n \tdie(\"unable to execute pager '%s'\", pager);\n \texit(255);\n"},{"id":"29740","messageId":"20061023183955.GR20017@pasky.or.cz","threadId":"5950","inReplyTo":"7vvembzp6y.fsf@assigned-by-dhcp.cox.net","subject":"Re: prune/prune-packed","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2006-10-23T18:39:55Z","receivedAt":"2006-10-23T18:39:55Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Dear diary, on Mon, Oct 23, 2006 at 05:27:49AM CEST, I got a letter\nwhere Junio C Hamano <junkio@cox.net> said that...\n> A Large Angry SCM <gitzilla@gmail.com> writes:\n> \n> > J. Bruce Fields wrote:\n> >> Junio C Hamano <junkio@cox.net> writes:\n> >>> I am considering the following to address irritation some people\n> >>> (including me, actually) are experiencing with this change when\n> >>> viewing a small (or no) diff.  Any objections?\n> >>\n> >> So for me, if I run\n> >>\n> >> \tless -FRS file\n> >>\n> >> where \"file\" is less than a page, I see nothing happen whatsoever.\n> >>\n> >> At a guess, maybe it's clearing the screen, displaying the file, the\n> >> restoring, all before I see anything happen?\n> >\n> > Junio,\n> >\n> > How about reverting this change? From the reports here, is causing\n> > problems on a number of different distributions.\n> \n> Hmmm.  I thought I was using gnome-terminal as well, but I\n> always work in screen and did not see this problem.\n> \n> Sorry, but you are right and Linus is more right.  How about\n> doing FRSX.\n\nI should like that solution more since I hate the alternate screen, but\nI actually don't, since it should be left at the user's will whether to\nuse the alternate screen or not, and Git shouldn't change the default on\nwhim. Git is trying to be too smart here, and I think it's more annoying\nto override what the user is used to than having to by default press q.\n\nYes, the user can always override Git by setting own $LESS, but that\nmeans another explicit action at the user's side is required and they\ndon't receive any further cool flags we might stick in there later.\n(BTW, I don't think this is right either. In Cogito, I do\n\n\tLESS=\"$myflags$LESS\"\n\nunless $CG_LESS is set, in which case I do\n\n\tLESS=\"$CG_LESS\".\n\nSo people like Jens who have LESS set still get sensible behaviour from\nCogito _and_ they don't loose the ability to override Cogito's less\nflags.)\n\nBTW, I think not seeing output of paged commands is a major problem,\nthis should probably warrant another bugfix release.\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\n#!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj\n$/=unpack('H*',$_);$_=`echo 16dio\\U$k\"SK$/SM$n\\EsN0p[lN*1\nlK[d2%Sa2/d0$^Ixp\"|dc`;s/\\W//g;$_=pack('H*',/((..)*)$/)\n"},{"id":"296770","messageId":"1161983997.2426.422.camel@cashmere.sps.mot.com","threadId":"5950","inReplyTo":"7vvembzp6y.fsf@assigned-by-dhcp.cox.net","subject":"Re: prune/prune-packed","fromName":"Jon Loeliger","fromEmail":"jdl@freescale.com","sentAt":"2006-10-27T21:19:57Z","receivedAt":"2006-10-27T21:19:57Z","isPatch":false,"sender":{"key":"jdl@jdl.com","avatar":"https://gravatar.com/avatar/75ce9a10b151acd2c28ec4ab2136dba7b2ff1634530bd04b155981a749d08a64?d=mp&s=160"},"body":"On Sun, 2006-10-22 at 22:27, Junio C Hamano wrote:\n\n> Sorry, but you are right and Linus is more right.  How about\n> doing FRSX.\n> \n> diff --git a/pager.c b/pager.c\n> index 8bd33a1..4587fbb 100644\n> --- a/pager.c\n> +++ b/pager.c\n> @@ -50,7 +50,7 @@ void setup_pager(void)\n>  \tclose(fd[0]);\n>  \tclose(fd[1]);\n>  \n> -\tsetenv(\"LESS\", \"FRS\", 0);\n> +\tsetenv(\"LESS\", \"FRSX\", 0);\n>  \trun_pager(pager);\n>  \tdie(\"unable to execute pager '%s'\", pager);\n>  \texit(255);\n\nI'm a little confused by all this because I\nset the LESS environment variable by myself\nalready.  And I use the value that I like.\nWhy change it or override the user's settings\nlike this?  Or did I miss something?\n\nThanks,\njdl\n\n"},{"id":"294525","messageId":"7vy7r1ctku.fsf@assigned-by-dhcp.cox.net","threadId":"5950","inReplyTo":"1161983997.2426.422.camel@cashmere.sps.mot.com","subject":"Re: prune/prune-packed","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-10-27T21:55:13Z","receivedAt":"2006-10-27T21:55:13Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jon Loeliger <jdl@freescale.com> writes:\n\n> On Sun, 2006-10-22 at 22:27, Junio C Hamano wrote:\n>\n>> Sorry, but you are right and Linus is more right.  How about\n>> doing FRSX.\n>> \n>> diff --git a/pager.c b/pager.c\n>> index 8bd33a1..4587fbb 100644\n>> --- a/pager.c\n>> +++ b/pager.c\n>> @@ -50,7 +50,7 @@ void setup_pager(void)\n>>  \tclose(fd[0]);\n>>  \tclose(fd[1]);\n>>  \n>> -\tsetenv(\"LESS\", \"FRS\", 0);\n>> +\tsetenv(\"LESS\", \"FRSX\", 0);\n>>  \trun_pager(pager);\n>>  \tdie(\"unable to execute pager '%s'\", pager);\n>>  \texit(255);\n>\n> I'm a little confused by all this because I\n> set the LESS environment variable by myself\n> already.  And I use the value that I like.\n> Why change it or override the user's settings\n> like this?  Or did I miss something?\n\nThis is about \"if user does not set it, use this default\".\n\n"}]}