git@vger.kernel.org list mirror (unofficial, one of many)
 help / color / mirror / code / Atom feed
* What's in git.git (stable)
@ 2007-09-06  8:52 Junio C Hamano
       [not found] ` <7v3axhd0lr.fsf@gitster.siamese.dyndns.org>
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-09-06  8:52 UTC (permalink / raw)
  To: git

* The 'maint' branch has these fixes since v1.5.3.1

Dmitry V. Levin (1):
  Makefile: Add cache-tree.h to the headers list

Junio C Hamano (1):
  git-apply: do not read past the end of buffer

Shawn O. Pearce (3):
  Don't allow contrib/workdir/git-new-workdir to trash existing dirs
  Cleanup unnecessary file modifications in t1400-update-ref
  Include a git-push example for creating a remote branch


* The 'master' branch has these since v1.5.3 in addition to the
  above.

Carlos Rica (1):
  Function for updating refs.

Douglas Stockwell (1):
  send-email: Add support for SSL and SMTP-AUTH

Junio C Hamano (1):
  Start 1.5.4 cycle

Simon Hausmann (8):
  git-p4: Always call 'p4 sync ...' before submitting to Perforce.
  git-p4: After submission to p4 always synchronize from p4 again
      (into refs/remotes). Whether to rebase HEAD or not is still
      left as question to the end-user.
  git-p4: Cleanup; moved the code for getting a sorted list of p4
      changes for a list of given depot paths into a standalone
      method.
  git-p4: Cleanup; moved the code to import a list of p4 changes
      using fast-import into a separate member function of P4Sync.
  git-p4: Cleanup; Turn self.revision into a function local variable
      (it's not used anywhere outside the function).
  git-p4: Cleanup; moved the code for the initial #head or revision
      import into a separate function, out of P4Sync.run.
  git-p4: Cleanup; moved the (duplicated) code for turning a branch
      into a git ref (for example foo ->
      refs/remotes/p4/<project>/foo) into a separate method.
  git-p4: Added support for automatically importing newly appearing
      perforce branches.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
       [not found] ` <7v3axhd0lr.fsf@gitster.siamese.dyndns.org>
@ 2007-09-26 20:05   ` Junio C Hamano
  2007-10-02  5:52     ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-09-26 20:05 UTC (permalink / raw)
  To: git

Nothing earth-shattering in 'maint', except:

 - if you are on FreeBSD and use its default shell, git scripts
   might work better for you;

 - comes with updated user-manual;

 - send-email would not incorrectly issue duplicated message IDs
   even if you fire many messages within one second;

 - "git rm this-file && git commit this-file" should work
   better;

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last announcement.

Benoit Sigoure (1):
  Add test to check recent fix to "git add -u"

David Brown (1):
  Detect exec bit in more cases.

David Kastrup (1):
  Supplant the "while case ... break ;; esac" idiom

Eric Wong (2):
  Documentation/git-svn: updated design philosophy notes
  git-svn: don't attempt to spawn pager if we don't want one

Gerrit Pape (1):
  git-gui: lib/index.tcl: handle files with % in the filename
      properly

Glenn Rempe (1):
  Fixed minor typo in t/t9001-send-email.sh test command line.

J. Bruce Fields (14):
  user-manual: adjust section levels in "git internals"
  user-manual: move object format details to hacking-git chapter
  user-manual: rename "git internals" to "git concepts"
  user-manual: create new "low-level git operations" chapter
  user-manual: rewrite index discussion
  user-manual: reorder commit, blob, tree discussion
  user-manual: rewrite object database discussion
  user-manual: move packfile and dangling object discussion
  user-manual: fix introduction to packfiles
  user-manual: todo updates and cleanup
  documentation: replace Discussion section by link to user-manual
      chapter
  core-tutorial: minor cleanup
  git-apply: fix whitespace stripping
  user-manual: don't assume refs are stored under .git/refs

Jakub Narebski (2):
  gitweb: Remove parse_from_to_diffinfo code from git_patchset_body
  gitweb: No difftree output for trivial merge

Jari Aalto (1):
  Documentation/git-archive.txt: a couple of clarifications.

Jeff King (1):
  git-push: documentation and tests for pushing only branches

Jim Meyering (2):
  unexpected Make output (e.g. from --debug) causes build failure
  Do not over-quote the -f envelopesender value.

Johannes Schindelin (2):
  revision walker: --cherry-pick is a limited operation
  apply --index-info: fall back to current index for mode changes

Johannes Sixt (2):
  gitattributes.txt: Remove a duplicated paragraph about 'ident' and
      'crlf' interaction.
  gitattributes.txt: Be more to the point in the filter driver
      description.

Junio C Hamano (11):
  diff --no-index: do not forget to run diff_setup_done()
  Documentation/git-config.txt: AsciiDoc tweak to avoid leading dot
  Split grep arguments in a way that does not requires to add
      /dev/null.
  git-sh-setup: typofix in comments
  send-email: make message-id generation a bit more robust
  git-commit: Allow partial commit of file removal.
  git-commit: partial commit of paths only removed from the index
  Document ls-files --with-tree=<tree-ish>
  t/t4014: test "am -3" with mode-only change.
  GIT 1.5.3.2
  Documentation/git-lost-found.txt: drop unnecessarily duplicated
      name.

Linus Torvalds (1):
  Fix the rename detection limit checking

Matt Kraai (2):
  Move the paragraph specifying where the .idx and .pack files should
      be
  Conjugate "search" correctly in the git-prune-packed man page.

Matthias Urlichs (1):
  git-svnimport: Use separate arguments in the pipe for git-rev-parse

Michael Smith (1):
  user-manual: Explain what submodules are good for.

Michele Ballabio (2):
  git-gui: show unstaged symlinks in diff viewer
  git-gui: handle "deleted symlink" diff marker

Miklos Vajna (1):
  User Manual: add a chapter for submodules

Pierre Habouzit (1):
  Fix lapsus in builtin-apply.c

Randy Dunlap (1):
  core-tutorial: correct URL

Shawn Bohrer (1):
  Fix spelling of overridden in documentation

Shawn O. Pearce (13):
  git-gui: Correct starting of git-remote to handle -w option
  git-gui: Fix detaching current branch during checkout
  git-gui: Properly set the state of "Stage/Unstage Hunk" action
  git-gui: Disable Tk send in all git-gui sessions
  git-gui: Avoid use of libdir in Makefile
  git-gui: Assume untracked directories are Git submodules
  git-gui: Trim trailing slashes from untracked submodule names
  git-gui: Don't delete send on Windows as it doesn't exist
  git-gui: Make backporting changes from i18n version easier
  git-gui: Font chooser to handle a large number of font families
  git-gui: Provide 'uninstall' Makefile target to undo an
      installation
  git-gui: Paper bag fix "Commit->Revert" format arguments
  git-gui: Disable native platform text selection in "lists"

Väinö Järvelä (1):
  Fixed update-hook example allow-users format.


* The 'master' branch has these since the last announcement
  in addition to the above.

Carlos Rica (3):
  Add tests for documented features of "git reset".
  Move make_cache_entry() from merge-recursive.c into read-cache.c
  Make "git reset" a builtin.

Christian Couder (4):
  rev-list --bisect: Move finding bisection into do_find_bisection.
  rev-list --bisect: Move some bisection code into best_bisection.
  rev-list --bisect: Bisection "distance" clean up.
  rev-list --bisect: Fix best == NULL case.

David Kastrup (3):
  diff-delta.c: pack the index structure
  diff-delta.c: Rationalize culling of hash buckets
  git-commit.sh: Shell script cleanup

Dmitry Potapov (1):
  preserve executable bits in zip archives

Jeff King (1):
  contrib/fast-import: add perl version of simple example

Johannes Schindelin (7):
  Teach "git remote" a mirror mode
  verify-tag: also grok CR/LFs in the tag signature
  apply: get rid of --index-info in favor of --build-fake-ancestor
  rebase -i: commit when continuing after "edit"
  rebase -i: style fixes and minor cleanups
  rebase -i: Fix numbers in progress report
  rebase -i: avoid exporting GIT_AUTHOR_* variables

Josh England (2):
  Add post-merge hook, related documentation, and tests.
  Added example hook script to save/restore permissions/ownership.

Junio C Hamano (8):
  Keep last used delta base in the delta window
  git-commit: Allow partial commit of file removal.
  An additional test for "git-reset -- path"
  Simplify cache API
  git-commit: partial commit of paths only removed from the index
  Document ls-files --with-tree=<tree-ish>
  builtin-pack-objects.c: avoid bogus gcc warnings
  Start RelNotes for 1.5.4

Lars Hjemli (3):
  git-svn: add support for --first-parent
  git-svn: always use --first-parent
  Make merge-recursive honor diff.renamelimit

Matt Kraai (2):
  Move convert-objects to contrib.
  rebase -i: create .dotest-merge after validating options.

Nguyễn Thái Ngọc Duy (1):
  contrib/fast-import: add simple shell example

Nicolas Pitre (10):
  straighten the list of objects to deltify
  localize window memory usage accounting
  rearrange delta search progress reporting
  basic threaded delta search
  threaded delta search: refine work allocation
  threaded delta search: better chunck split point
  threaded delta search: specify number of threads at run time
  fix threaded delta search locking
  threaded delta search: add pack.threads config variable
  threaded delta search: proper locking for cache accounting

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-09-26 20:05   ` Junio C Hamano
@ 2007-10-02  5:52     ` Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-10-02  5:52 UTC (permalink / raw)
  To: git

There are a few usability fixes to 'maint' after 1.5.3.3 but
nothing worth doing 1.5.3.4 for yet.

On the 'master' front, handful topics that have been cooking in
'next' have been merged, to be part of 1.5.4.  Notable are:

 * "git-remote rm"
 * "git-send-email --smtp-server-port"
 * "git-svn" futureproofing.

There are many changes cooking in 'next' that will graduate to
'master' real soon now.  It would probably be a good idea to
slow down and cut 1.5.4 early without aiming to have anything
with huge user visible changes once that happens, because there
are two rather big topics mostly about the implementation and
not about user experience (other than performance gain of fetch
in a repository with insane number of refs).

----------------------------------------------------------------

* The 'maint' branch has these fixes since v1.5.3.3

Andy Parkins (1):
  post-receive-hook: Remove the From field from the generated email
      header so that the pusher's name is used

Jari Aalto (1):
  git-remote: exit with non-zero status after detecting errors.

Jean-Luc Herren (2):
  git-add--interactive: Allow Ctrl-D to exit
  git-add--interactive: Improve behavior on bogus input

Johannes Schindelin (1):
  rebase -i: squash should retain the authorship of the _first_
      commit

Junio C Hamano (1):
  Whip post 1.5.3.3 maintenance series into shape.

Miklos Vajna (1):
  git stash: document apply's --index switch


* The 'master' branch has these since the last announcement
  in addition to the above.

Alexandre Julliard (4):
  git.el: Preserve file marks when doing a full refresh.
  git.el: Do not print a status message on every git command.
  git.el: Update a file status in the git buffer upon save.
  git.el: Reset the permission flags when changing a file state.

Daniel Barkalow (1):
  Fix adding a submodule with a remote url

James Bowes (2):
  remote: add 'rm' subcommand
  remote: document the 'rm' subcommand

Jari Aalto (1):
  git-remote: exit with non-zero status after detecting error in
      "rm".

Jeff King (1):
  diffcore-rename: cache file deltas

Johannes Schindelin (1):
  rebase -i: support single-letter abbreviations for the actions

Junio C Hamano (3):
  git-remote rm: add tests and minor fix-ups
  send-email --smtp-server-port: allow overriding the default port
  Update stale documentation link in the k.org site

Mark Levedahl (1):
  git-submodule - allow a relative path as the subproject url

Sam Vilain (3):
  git-svn: fix test for trunk svn (commit message not needed)
  git-svn: fix test for trunk svn (transaction out of date)
  git-svn: handle changed svn command-line syntax

Stefan Sperling (1):
  Fix pool handling in git-svnimport to avoid memory leaks.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
@ 2008-07-21  7:09 Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2008-07-21  7:09 UTC (permalink / raw)
  To: git

As announced in a separate message, the tip of master was tagged as
1.6.0-rc0; for people who neglected futureproofing themselves so far, it
would really be a good time to seriously consider doing so.

* The 'maint' branch has these fixes since the last announcement.

Jonathan Nieder (1):
  fix usage string for git grep

Junio C Hamano (1):
  refresh-index: fix bitmask assignment


* The 'master' branch has these since the last announcement
  in addition to the above.

Avery Pennarun (1):
  Reword "your branch has diverged..." lines to reduce line length

Dmitry Potapov (1):
  git-svn: fix git svn info to work without arguments

Junio C Hamano (8):
  rerere.autoupdate: change the message when autoupdate is in effect
  builtin-add.c: restructure the code for maintainability
  git-add --all: add all files
  git-add --all: tests
  git-add --all: documentation
  Link shell with compat layer functions
  Move read_in_full() and write_in_full() to wrapper.c
  "needs update" considered harmful

Lars Noschinski (1):
  cvsserver: Add testsuite for packed refs

Michele Ballabio (2):
  builtin-merge.c: Fix option parsing
  builtin-push.c: Cleanup - use OPT_BIT() and remove some variables

Miklos Vajna (1):
  Teach 'git merge' that some merge strategies no longer exist

Nanako Shiraishi (1):
  git am --abort

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2008-07-20 11:20                                         ` Lars Noschinski
@ 2008-07-20 18:27                                           ` Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2008-07-20 18:27 UTC (permalink / raw)
  To: Lars Noschinski; +Cc: git

Lars Noschinski <lars-2008-1@usenet.noschinski.de> writes:

> * Junio C Hamano <gitster@pobox.com> [08-07-20 03:59]:
>>Lars Noschinski (2):
>>  cvsserver: Add support for packed refs
>>  cvsserver: Add cvs co -c support
>
> Any specific reason why you did not merge the test for packed refs
> support? Was it considered superfluous?

No, it was not even considered.  This phenomenon is called "lost in the
noise" ;-)

Thanks for reminding.  Applied.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2008-07-20  1:59                                       ` Junio C Hamano
@ 2008-07-20 11:20                                         ` Lars Noschinski
  2008-07-20 18:27                                           ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Lars Noschinski @ 2008-07-20 11:20 UTC (permalink / raw)
  To: git

* Junio C Hamano <gitster@pobox.com> [08-07-20 03:59]:
>Lars Noschinski (2):
>  cvsserver: Add support for packed refs
>  cvsserver: Add cvs co -c support

Any specific reason why you did not merge the test for packed refs
support? Was it considered superfluous?

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-07-16  3:33                                     ` Junio C Hamano
@ 2008-07-20  1:59                                       ` Junio C Hamano
  2008-07-20 11:20                                         ` Lars Noschinski
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-07-20  1:59 UTC (permalink / raw)
  To: git

* The 'maint' branch is at 1.5.6.4.

* The 'master' branch has these since the last announcement
  in addition to what is already in 1.5.6.4.

Alexander Gavrilov (3):
  Avoid rescanning unchanged entries in search for copies.
  Do not try to detect move/copy for entries below threshold.
  Support gitlinks in fast-import.

Eric Raible (1):
  Teach lookup_prog not to select directories

Eric Wong (1):
  t/lib-git-svn: fix SVN_HTTPD tests to work with "trash directory"

Fabian Emmes (2):
  Testsuite: Unset CVS_SERVER
  testsuite for cvs co -c

Johannes Sixt (1):
  builtin-clone: rewrite guess_dir_name()

Junio C Hamano (9):
  git-rebase: report checkout failure
  t/aggregate-results: whitespace fix
  Update draft release notes for 1.6.0
  read-cache.c: typofix
  mailinfo: off-by-one fix for [PATCH (foobar)] removal from Subject: line
  builtin-remote.c: fix earlier "skip_prefix()" conversion
  t9001 (send-email): Do not use hardcoded /bin/sh in test
  .mailmap update
  Getting closer to 1.6.0-rc0

Lars Noschinski (2):
  cvsserver: Add support for packed refs
  cvsserver: Add cvs co -c support

Lukas Sandström (3):
  Make some strbuf_*() struct strbuf arguments const.
  Add some useful functions for strbuf manipulation.
  git-mailinfo: use strbuf's instead of fixed buffers

Miklos Vajna (4):
  t0001-init.sh: change confusing directory name
  t1007-hash-object.sh: use quotes for the test description
  git-bisect: use dash-less form on git bisect log
  make remove-dashes: apply to scripts and programs as well, not just to
    builtins

Nanako Shiraishi (3):
  cache-tree.c: make cache_tree_find() static
  builtin-describe.c: make a global variable "pattern" static
  parse-options.c: make check_typos() static

Peter Harris (1):
  Add ANSI control code emulation for the Windows console

Petr Baudis (5):
  Documentation/git-submodule.txt: Add Description section
  Documentation/RelNotes-1.6.0.txt: Expand on the incompatible packfiles
  Documentation/git-submodule.txt: Further clarify the description
  Documentation: How to ignore local changes in tracked files
  Documentation/git-merge.txt: Partial rewrite of How Merge Works

René Scharfe (8):
  archive: remove args member from struct archiver
  add context pointer to read_tree_recursive()
  archive: add baselen member to struct archiver_args
  archive: centralize archive entry writing
  archive: unify file attribute handling
  archive: remove extra arguments parsing code
  archive: make zip compression level independent from core git
  archive: remove unused headers

Stephan Beyer (4):
  t/test-lib.sh: exit with small negagive int is ok with test_must_fail
  t/: Use "test_must_fail git" instead of "! git"
  Make usage strings dash-less
  Link git-shell only to a subset of libgit.a

SungHyun Nam (1):
  t/Makefile: use specified shell when running aggregation script

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-07-14  5:33                                   ` Junio C Hamano
@ 2008-07-16  3:33                                     ` Junio C Hamano
  2008-07-20  1:59                                       ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-07-16  3:33 UTC (permalink / raw)
  To: git

"Merge-in-C" is in, so is "rename .dotest", and remaining Windows bits.
Now it is almost there for 1.6.0-rc0.

* The 'master' branch has these since the last announcement.

Alexander N. Gavrilov (1):
  Fix quadratic performance in rewrite_one.

Brian Gernhardt (1):
  Documentation: mention ORIG_HEAD in am, merge, and rebase

Ciaran McCreesh (1):
  Make git-add -i accept ranges like 7-

Dmitry Kakurin (1):
  Fixed text file auto-detection: treat EOF character 032 at the end of
    file as printable

Frederik Schwarzer (1):
  git-svn: typofix

Ian Katz (1):
  tutorial: use prompt with user names in example, to clarify who is doing
    what

Johannes Schindelin (6):
  Convert CR/LF to LF in tag signatures
  Add pretty format %aN which gives the author name, respecting .mailmap
  Move MERGE_RR from .git/rr-cache/ into .git/
  git-gui: MERGE_RR lives in .git/ directly with newer Git versions
  shortlog: support --pretty=format: option
  Rename ".dotest/" to ".git/rebase" and ".dotest-merge" to "rebase-merge"

João Abecasis (1):
  git-svn: find-rev and rebase for SVN::Mirror repositories

Junio C Hamano (10):
  Introduce get_merge_bases_many()
  Introduce reduce_heads()
  Teach "am" and "rebase" to mark the original position with ORIG_HEAD
  branch --contains: default to HEAD
  branch --merged/--no-merged: allow specifying arbitrary commit
  Teach merge.log to "git-merge" again
  Update draft release notes for 1.6.0
  reduce_heads(): protect from duplicate input
  tutorial: clarify "pull" is "fetch + merge"
  Update draft release notes to 1.6.0

Lukas Sandström (1):
  git-mailinfo: Fix getting the subject from the in-body [PATCH] line

Mark Levedahl (2):
  git-submodule - make "submodule add" more strict, and document it
  git-submodule - register submodule URL if adding in place

Mike Pape (1):
  We need to check for msys as well as Windows in add--interactive.

Miklos Vajna (15):
  Move split_cmdline() to alias.c
  Move commit_list_count() to commit.c
  Move parse-options's skip_prefix() to git-compat-util.h
  Add new test to ensure git-merge handles pull.twohead and pull.octopus
  Move read_cache_unmerged() to read-cache.c
  git-fmt-merge-msg: make it usable from other builtins
  Introduce get_octopus_merge_bases() in commit.c
  Add new test to ensure git-merge handles more than 25 refs.
  Add new test case to ensure git-merge reduces octopus parents when
    possible
  Add new test case to ensure git-merge prepends the custom merge message
  git-commit-tree: make it usable from other builtins
  Fix t7601-merge-pull-config.sh on AIX
  Build in merge
  t6021: add a new test for git-merge-resolve
  Add a new test for git-merge-resolve

Nicolas Pitre (1):
  restore legacy behavior for read_sha1_file()

Olivier Marin (1):
  builtin-rerere: more carefully find conflict markers

Pavel Roskin (1):
  t9600: allow testing with cvsps 2.2, including beta versions

Pierre Habouzit (1):
  parse-options: add PARSE_OPT_LASTARG_DEFAULT flag

Shawn O. Pearce (3):
  bash completion: Append space after file names have been completed
  bash completion: Resolve git show ref:path<tab> losing ref: portion
  bash completion: Remove dashed command completion support

Soeren Finster (1):
  git-gui: Exit shortcut in MacOSX repaired

Steffen Prohaska (3):
  Move code interpreting path relative to exec-dir to new function
    system_path()
  help.c: Add support for htmldir relative to git_exec_path()
  help (Windows): Display HTML in default browser using Windows' shell API

Stephan Beyer (1):
  rerere: Separate libgit and builtin functions

Sverre Hvammen Johansen (1):
  reduce_heads(): thinkofix

Teemu Likonen (1):
  bash: Add long option completion for 'git send-email'

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-07-08  2:46                                 ` Junio C Hamano
@ 2008-07-14  5:33                                   ` Junio C Hamano
  2008-07-16  3:33                                     ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-07-14  5:33 UTC (permalink / raw)
  To: git

* The 'maint' branch is at 1.5.6.3

* The 'master' branch has these since the last announcement
  in addition to what's in 1.5.6.3

Abhijit Menon-Sen (2):
  Implement "git stash branch <newbranch> <stash>"
  Add a test for "git stash branch"

Adam Brewster (1):
  Teach git-bundle to read revision arguments from stdin like git-rev-list.

Brandon Casey (1):
  t7701-repack-unpack-unreachable.sh: check timestamp of unpacked objects

Eric Hanchrow (2):
  user-manual: typo and grammar fixes
  Documentation: fix broken "linkgit" links

Eric Raible (2):
  Documentation: tweak use case in "git stash save --keep-index"
  completion: add branch options --contains --merged --no-merged

Jeff King (2):
  Allow per-command pager config
  avoid null SHA1 in oldest reflog

Johannes Schindelin (2):
  Teach "git apply" to prepend a prefix with "--root=<root>"
  Allow cherry-picking root commits

Johannes Sixt (1):
  Provide fallback definitions of PRIu32 and PRIx32

Junio C Hamano (17):
  revision traversal: --children option
  rev-list --children
  builtin-blame.c: move prepare_final() into a separate function.
  builtin-blame.c: allow more than 16 parents
  git-blame --reverse
  Per-ref reflog expiry configuration
  Make default expiration period of reflog used for stash infinite
  apply --root: thinkofix.
  Refactor "tracking statistics" code used by "git checkout"
  git-status: show the remote tracking statistics
  git-branch -v: show the remote tracking statistics
  stat_tracking_info(): clear object flags used during counting
  branch -r -v: do not spit out garbage
  git-apply --directory: make --root more similar to GNU diff
  Tone down warning about GNU Interactive Tools
  Documentation: update sections on naming revisions and revision ranges
  apply: fix copy/rename breakage

Mark Levedahl (1):
  install-doc-quick - use git --exec-path to find git-sh-setup

Mike Hommey (4):
  Catch failures from t5540-http-push
  Fix http-push test
  Skip t5540-http-push test when USE_CURL_MULTI is undefined
  Avoid apache complaining about lack of server's FQDN

Petr Baudis (1):
  Git.pm: Add remote_refs() git-ls-remote frontend

Pierre Habouzit (12):
  parse-opt: have parse_options_{start,end}.
  parse-opt: Export a non NORETURN usage dumper.
  parse-opt: create parse_options_step.
  parse-opt: do not print errors on unknown options, return -2 intead.
  parse-opt: fake short strings for callers to believe in.
  parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
  revisions: split handle_revision_opt() from setup_revisions()
  git-blame: migrate to incremental parse-option [1/2]
  git-blame: migrate to incremental parse-option [2/2]
  git-blame: fix lapsus
  git-shortlog: migrate to parse-options partially.
  revisions: refactor handle_revision_opt into parse_revision_opt.

Ramsay Allan Jones (3):
  t9113-*.sh: provide user feedback when test skipped
  t9100-git-svn-basic.sh: Fix determination of utf-8 locale
  git-request-pull: replace call to deprecated peek-remote

Robert Shearman (1):
  git-send-email: Fix authenticating on some servers when using TLS.

SZEDER Gábor (1):
  stash: introduce 'stash save --keep-index' option

Shawn O. Pearce (3):
  Correct pack memory leak causing git gc to try to exceed ulimit
  bash completion: Improve responsiveness of git-log completion
  bash completion: Don't offer "a.." as a completion for "a."

Stephan Beyer (3):
  git-am/git-mailsplit: correct synopsis for reading from stdin
  t3404: test two "preserve merges with -p" cases
  Make rebase--interactive use OPTIONS_SPEC

Thomas Rast (3):
  git-add--interactive: replace hunk recounting with apply --recount
  git-add--interactive: remove hunk coalescing
  git-add--interactive: manual hunk editing mode

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-07-06 10:04                               ` Junio C Hamano
@ 2008-07-08  2:46                                 ` Junio C Hamano
  2008-07-14  5:33                                   ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-07-08  2:46 UTC (permalink / raw)
  To: git

* The 'maint' branch has these fixes since 1.5.6.2.

Alex Riesen (1):
  git-clone: remove leftover debugging fprintf().

Brian Hetro (5):
  builtin-log.c: Use 'git_config_string' to get 'format.subjectprefix' and
    'format.suffix'
  convert.c: Use 'git_config_string' to get 'smudge' and 'clean'
  diff.c: Use 'git_config_string' to get 'diff.external'
  http.c: Use 'git_config_string' to clean up SSL config.
  builtin-commit.c: Use 'git_config_string' to get 'commit.template'

Christian Couder (1):
  Fix "config_error_nonbool" used with value instead of key

Gerrit Pape (1):
  git-svn.perl: workaround assertions in svn library 1.5.0

Junio C Hamano (3):
  attribute documentation: keep EXAMPLE at end
  clone -q: honor "quiet" option over native transports.
  mailinfo: feed the correct line length to decode_transfer_encoding()

Matthew Ogilvie (1):
  Documentation cvs: Clarify when a bare repository is needed

Mikael Magnusson (1):
  Fix grammar in git-rev-parse(1).

Nikolaus Schulz (1):
  Documentation: be precise about which date --pretty uses


* The 'master' branch has these since the last announcement
  in addition to the above.

Abhijit Menon-Sen (2):
  git-gui: Move on to the next filename after staging/unstaging a change
  git-gui: Don't select the wrong file if the last listed file is staged.

Daniel Barkalow (1):
  Only use GIT_CONFIG in "git config", not other programs

David Reiss (4):
  Implement normalize_absolute_path
  Fold test-absolute-path into test-path-utils
  Add support for GIT_CEILING_DIRECTORIES
  Eliminate an unnecessary chdir("..")

Dmitry Potapov (1):
  completion.bash: add 'skip' and 'run' to git-bisect

Jakub Narebski (1):
  gitweb: Describe projects_index format in more detail

Johannes Schindelin (3):
  Add another fast-import example, this time for .zip files
  git daemon: avoid calling syslog() from a signal handler
  run_command(): respect GIT_TRACE

Johannes Sixt (1):
  git-gui: Implement "Stage/Unstage Line"

Junio C Hamano (6):
  rerere: rerere_created_at() and has_resolution() abstraction
  git-rerere: detect unparsable conflicts
  rerere: remove dubious "tail_optimization"
  t4200: fix rerere test
  rerere.autoupdate
  Update draft release notes for 1.6.0

Richard Quirk (1):
  git-gui: Fix accidental staged state toggle when clicking top pixel row

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-07-02  6:28                             ` Junio C Hamano
@ 2008-07-06 10:04                               ` Junio C Hamano
  2008-07-08  2:46                                 ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-07-06 10:04 UTC (permalink / raw)
  To: git

With accumulated fixes, the latest maintenance release 1.5.6.2 is out.

On the 'master' front, port to MinGW has now been merged, and the next
major release 1.6.0 is already taking shape.

----------------------------------------------------------------
* The 'master' branch has these since the last announcement
  in addition to what is in maint.

Adam Brewster (1):
  Move read_revisions_from_stdin from builtin-rev-list.c to revision.c

Brian Gernhardt (1):
  Documentation: Point to gitcli(7) from git(1)

Brian Hetro (5):
  builtin-log.c: Use 'git_config_string' to get 'format.subjectprefix' and
    'format.suffix'
  convert.c: Use 'git_config_string' to get 'smudge' and 'clean'
  diff.c: Use 'git_config_string' to get 'diff.external'
  http.c: Use 'git_config_string' to clean up SSL config.
  builtin-commit.c: Use 'git_config_string' to get 'commit.template'

Christian Couder (2):
  Fix "config_error_nonbool" used with value instead of key
  Fix "config_error_nonbool" used with value instead of key

Johannes Schindelin (2):
  Windows: always chmod(, 0666) before unlink().
  git fetch-pack: do not complain about "no common commits" in an empty
    repo

Johannes Sixt (35):
  Add compat/regex.[ch] and compat/fnmatch.[ch].
  Compile some programs only conditionally.
  Add target architecture MinGW.
  Windows: Use the Windows style PATH separator ';'.
  setup.c: Prepare for Windows directory separators.
  Windows: Treat Windows style path names.
  Windows: Handle absolute paths in safe_create_leading_directories().
  Windows: Strip ".exe" from the program name.
  Windows: Implement a wrapper of the open() function.
  Windows: A minimal implemention of getpwuid().
  Windows: Work around misbehaved rename().
  Make my_mktime() public and rename it to tm_to_time_t()
  Windows: Implement gettimeofday().
  Windows: Fix PRIuMAX definition.
  Windows: Implement setitimer() and sigaction().
  Windows: Wrap execve so that shell scripts can be invoked.
  Windows: A pipe() replacement whose ends are not inherited to children.
  Windows: Implement start_command().
  Windows: A rudimentary poll() emulation.
  Windows: Disambiguate DOS style paths from SSH URLs.
  Windows: Implement asynchronous functions as threads.
  Windows: Work around incompatible sort and find.
  Windows: Implement wrappers for gethostbyname(), socket(), and connect().
  Windows: Implement a custom spawnve().
  Windows: Add a custom implementation for utime().
  Windows: Use a customized struct stat that also has the st_blocks member.
  Turn builtin_exec_path into a function.
  Windows: Compute the fallback for exec_path from the program invocation.
  Windows: Use a relative default template_dir and ETC_GITCONFIG
  When installing, be prepared that template_dir may be relative.
  Windows: Make the pager work.
  Windows: Work around an oddity when a pipe with no reader is written to.
  Windows: Make 'git help -a' work.
  Windows: TMP and TEMP environment variables specify a temporary
    directory.
  t4127-apply-same-fn: Avoid sed -i

Jonathan Nieder (15):
  git-format-patch(1): fix stray \ in output
  Documentation: fix gitlinks
  manpages: fix bogus whitespace
  git(1): add comma
  git-commit(1): depersonalize description
  Documentation: rewrap to prepare for "git-" vs "git " change
  Documentation: more "git-" versus "git " changes
  gitdiffcore(7): fix awkward wording
  manpages: italicize command names in synopses
  manpages: italicize command names
  manpages: italicize git command names (which were in teletype font)
  manpages: italicize gitk's name (where it was in teletype font)
  manpages: italicize nongit command names (if they are in teletype font)
  manpages: italicize git subcommand names (which were in teletype font)
  manpages: use teletype font for sample command lines

Junio C Hamano (3):
  fast-export --export-marks: fix off by one error
  attribute documentation: keep EXAMPLE at end
  clone -q: honor "quiet" option over native transports.

Marius Storm-Olsen (1):
  Windows: Add a new lstat and fstat implementation based on Win32 API.

Matthew Ogilvie (1):
  Documentation cvs: Clarify when a bare repository is needed

Miklos Vajna (6):
  Retire 'stupid' merge strategy
  INSTALL: Update section about git-frotz form.
  hg-to-git: avoid raising a string exception
  hg-to-git: abort if the project directory is not a hg repo
  hg-to-git: rewrite "git-frotz" to "git frotz"
  hg-to-git: use git init instead of git init-db

Nikolaus Schulz (1):
  Documentation: be precise about which date --pretty uses

Ramsay Allan Jones (1):
  Fix some warnings (on cygwin) to allow -Werror

Steffen Prohaska (2):
  Windows: Fix ntohl() related warnings about printf formatting
  compat/pread.c: Add a forward declaration to fix a warning

Thomas Rast (2):
  git-send-email: Do not attempt to STARTTLS more than once
  Fix apply --recount handling of no-EOL line

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-06-25  9:34                           ` Junio C Hamano
@ 2008-07-02  6:28                             ` Junio C Hamano
  2008-07-06 10:04                               ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-07-02  6:28 UTC (permalink / raw)
  To: git

There are a few fixes on 'maint', in addition to futureproofing of "git
shell" so that eventually we can update the ssh clients to ask for server
side programs using "git upload-pack" syntax without a dash between "git"
and the subcommand name.

Many of the medimu size items for 1.6.0 have been merged to 'master'.  The
port to MinGW series will also be merged shortly.

----------------------------------------------------------------

GIT v1.6.0 Release Notes (draft)
================================

User visible changes
--------------------

With the default Makefile settings, most of the programs are now
installed outside your $PATH, except for "git", "gitk", "git-gui" and
some server side programs that need to be accessible for technical
reasons.  Invoking a git subcommand as "git-xyzzy" from the command
line has been deprecated since early 2006 (and officially announced in
1.5.4 release notes); use of them from your scripts after adding
output from "git --exec-path" to the $PATH is still supported in this
release, but users are again strongly encouraged to adjust their
scripts to use "git xyzzy" form, as we will stop installing
"git-xyzzy" hardlinks for built-in commands in later releases.

Source changes needed for porting to MinGW environment are now all in the
main git.git codebase.

By default, packfiles created with this version uses delta-base-offset
encoding introduced in v1.4.4.  Pack idx files are using version 2 that
allows larger packs and added robustness thanks to its CRC checking,
introduced in v1.5.2.


Updates since v1.5.6
--------------------

(subsystems)

* git-p4 in contrib learned "allowSubmit" configuration to control on
  which branch to allow "submit" subcommand.

(portability)

* Sample hook scripts shipped in templates/ are now suffixed with
  *.sample.  We used to prevent them from triggering by default by
  relying on the fact that we install them as unexecutable, but on
  some filesystems this approach does not work.  Instead of running
  "chmod +x" on them, the users who want to activate these samples
  as-is can now rename them dropping *.sample suffix.

* perl's in-place edit (-i) does not work well without backup files on Windows;
  some tests are rewritten to cope with this.

(documentation)

* Updated howto/update-hook-example

* Got rid of usage of "git-foo" from the tutorial.

* Disambiguating "--" between revs and paths is finally documented.

(performance, robustness, sanity etc.)

* even more documentation pages are now accessible via "man" and "git help".

* reduced excessive inlining to shrink size of the "git" binary.

* verify-pack checks the object CRC when using version 2 idx files.

* When an object is corrupt in a pack, the object became unusable even
  when the same object is available in a loose form,  We now try harder to
  fall back to these redundant objects when able.  In particular, "git
  repack -a -f" can be used to fix such a corruption as long as necessary
  objects are available.

* git-clone does not create refs in loose form anymore (it behaves as
  if you immediately ran git-pack-refs after cloning).  This will help
  repositories with insanely large number of refs.

* core.fsyncobjectfiles configuration can be used to ensure that the loose
  objects created will be fsync'ed (this is only useful on filesystems
  that does not order data writes properly).

* "git commit-tree" plumbing can make Octopus with more than 16 parents.
  "git commit" has been capable of this for quite some time.

(usability, bells and whistles)

* git-apply can handle a patch that touches the same path more than once
  much better than before.

* git-apply can be told not to trust the line counts recorded in the input
  patch but recount, with the new --recount option.

* git-archive can be told to omit certain paths from its output using
  export-ignore attributes.

* git-clone can clone from a remote whose URL would be rewritten by
  configuration stored in $HOME/.gitconfig now.

* git-diff --check now checks leftover merge conflict markers.

* When remote side used to have branch 'foo' and git-fetch finds that now
  it has branch 'foo/bar', it refuses to lose the existing remote tracking
  branch and its reflog.  The error message has been improved to suggest
  pruning the remote if the user wants to proceed and get the latest set
  of branches from the remote, including such 'foo/bar'.

* fast-export learned to export and import marks file; this can be used to
  interface with fast-import incrementally.

* Original SHA-1 value for "update-ref -d" is optional now.

* git-send-mail can talk not just over SSL but over TLS now.

* You can tell "git status -u" to even more aggressively omit checking
  untracked files with --untracked-files=no.

* Error codes from gitweb are made more descriptive where possible, rather
  than "403 forbidden" as we used to issue everywhere.

(internal)


Fixes since v1.5.6
------------------

All of the fixes in v1.5.6 maintenance series are included in
this release, unless otherwise noted.

 * diff -c/--cc showed unnecessary "deletion" lines at the context
   boundary (needs backmerge to maint).

 * "git-clone <src> <dst>" did not create leading directories for <dst>
   like the scripted version used to do (needs backport to maint).


----------------------------------------------------------------

* The 'maint' branch has these fixes since v1.5.6.1.

Avery Pennarun (1):
  git-svn: avoid filling up the disk with temp files.

Björn Steinbrink (1):
  git cat-file: Fix memory leak in batch mode

Eric Wong (1):
  git-svn: don't sanitize remote names in config

Jeff King (1):
  doc/rev-parse: clarify reflog vs --until for specifying revisions

Jochen Voss (1):
  avoid off-by-one error in run_upload_archive

Joey Hess (1):
  fix git config example syntax

Junio C Hamano (5):
  diff --check: do not discard error status upon seeing a good line
  git-shell: accept "git foo" form
  GIT 1.5.4.6
  GIT 1.5.5.5
  Start draft release notes for 1.5.6.2

Thomas Rast (1):
  Fix 'git show' on signed tag of signed tag of commit


* The 'master' branch has these since the last announcement
  in addition to the above.

Alex Riesen (1):
  Fix use of "perl -i" on Windows

Brian Gernhardt (2):
  Fix t4017-diff-retval for white-space from wc
  Add test results directory to t/.gitignore

Christian Couder (1):
  help: check early if we have a command, if not try a documentation topic

Dmitry Potapov (2):
  update-hook-example: optionally allow non-fast-forward
  shrink git-shell by avoiding redundant dependencies

Don Zickus (1):
  git-apply: handle a patch that touches the same path more than once
    better

Jeff King (3):
  improve for-each-ref test script
  fetch: report local storage errors in status table
  fetch: give a hint to the user when local refs fail to update

Jing Xue (1):
  Add 'git-p4.allowSubmit' to git-p4

Johan Herland (4):
  Incorporate fetched packs in future object traversal
  Move pack_refs() and friends into libgit
  Prepare testsuite for a "git clone" that packs refs
  Teach "git clone" to pack refs

Johannes Schindelin (4):
  clone: respect url.insteadOf setting in global configs
  commit-tree: lift completely arbitrary limit of 16 parents
  Allow git-apply to recount the lines in a hunk (AKA recountdiff)
  clone: respect the settings in $HOME/.gitconfig and /etc/gitconfig

Jonathan Nieder (7):
  Documentation: fix links to tutorials and other new manual pages
  whitespace fix in Documentation/git-repack.txt
  Documentation: complicate example of "man git-command"
  git-daemon(1): don't assume git-daemon is in /usr/bin
  Documentation: prepare to be consistent about "git-" versus "git "
  Documentation: be consistent about "git-" versus "git "
  Documentation formatting and cleanup

Junio C Hamano (15):
  git-shell: accept "git foo" form
  Prepare execv_git_cmd() for removal of builtins from the filesystem
  Keep some git-* programs in $(bindir)
  Allow "git-reset path" when unambiguous
  Start draft release notes for 1.6.0
  diff --check: explain why we do not care whether old side is binary
  check_and_emit_line(): rename and refactor
  checkdiff: pass diff_options to the callback
  Teach "diff --check" about new blank lines at end
  diff --check: detect leftover conflict markers
  Update sample pre-commit hook to use "diff --check"
  Document the double-dash "rev -- path" disambiguator
  t9700: skip when Test::More is not available
  Update draft release notes for 1.6.0
  Update draft release notes for 1.6.0

Kevin Ballard (1):
  git-send-email: Accept fifos as well as files

Lea Wiemann (5):
  t/test-lib.sh: add test_external and test_external_without_stderr
  Git.pm: add test suite
  gitweb: standarize HTTP status codes
  test-lib.sh: show git init output when in verbose mode
  GIT-VERSION-GEN: do not fail if a 'HEAD' file exists in the working copy

Linus Torvalds (4):
  Split up default "core" config parsing into helper routine
  Split up default "user" config parsing into helper routine
  Split up default "i18n" and "branch" config parsing into helper routines
  Add config option to enable 'fsync()' of object files

Miklos Vajna (1):
  A simple script to parse the results from the testcases

Nanako Shiraishi (1):
  gitcli: Document meaning of --cached and --index

Nguyễn Thái Ngọc Duy (1):
  Move all dashed-form commands to libexecdir

Nicolas Pitre (2):
  repack.usedeltabaseoffset config option now defaults to "true"
  pack.indexversion config option now defaults to 2

Olivier Marin (2):
  Documentation: remove {show,whatchanged}.difftree config options
  show_stats(): fix stats width calculation

Patrick Higgins (1):
  Remove the use of '--' in merge program invocation

Stephan Beyer (2):
  api-builtin.txt: update and fix typo
  t3404: stricter tests for git-rebase--interactive

Sverre Rabbelier (2):
  Modify test-lib.sh to output stats to t/test-results/*
  Hook up the result aggregation in the test makefile.

Ted Percival (1):
  Don't use dash commands (git-foo) in tutorial-2

Thomas Rast (2):
  git-send-email: add support for TLS via Net::SMTP::SSL
  git-send-email: prevent undefined variable warnings if no encryption is
    set

jrnieder@uchicago.edu (1):
  Documentation: don't assume git-sh-setup and git-parse-remote are in PATH

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-06-23  7:25                         ` Junio C Hamano
@ 2008-06-25  9:34                           ` Junio C Hamano
  2008-07-02  6:28                             ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-06-25  9:34 UTC (permalink / raw)
  To: git

We'd need a maint release soon to push out the mkstemp() breakage but not
tonight.  There are a handful changes that are in 'master' and 'next' that
need backport/backmerge before 1.5.6.1 happens.

* The 'maint' branch has these fixes since the last announcement.

Jan Krüger (1):
  git-svn: make rebuild respect rewriteRoot option

Patrick Higgins (1):
  Workaround for AIX mkstemp()


* The 'master' branch has these since the last announcement
  in addition to the above.

Jeff King (1):
  clone: create intermediate directories of destination repo

Junio C Hamano (2):
  pre-rebase hook update
  Ship sample hooks with .sample suffix

Michele Ballabio (1):
  t9301-fast-export.sh: Remove debug line

Nicolas Pitre (8):
  call init_pack_revindex() lazily
  implement some resilience against pack corruptions
  test case for pack resilience against corruptions
  refactor pack structure allocation
  optimize verify-pack a bit
  move show_pack_info() where it belongs
  verify-pack: check packed object CRC when using index version 2
  verify-pack: test for detection of index v2 object CRC mismatch

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-06-21 10:06                       ` Junio C Hamano
@ 2008-06-23  7:25                         ` Junio C Hamano
  2008-06-25  9:34                           ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-06-23  7:25 UTC (permalink / raw)
  To: git

There are a few more fixes destined for maint, being tested in next first.

* The 'maint' branch has these fixes since the last announcement.

Michele Ballabio (1):
  parse-options.c: fix documentation syntax of optional arguments

Stephan Beyer (3):
  api-builtin.txt: update and fix typo
  api-parse-options.txt: Introduce documentation for parse options API
  Extend parse-options test suite


* The 'master' branch has these since the last announcement
  in addition to the above.

Jakub Narebski (2):
  gitweb: Separate filling list of projects info
  gitweb: Separate generating 'sort by' table header

Jeff King (5):
  fix whitespace violations in test scripts
  mask necessary whitespace policy violations in test scripts
  avoid whitespace on empty line in automatic usage message
  avoid trailing whitespace in zero-change diffstat lines
  enable whitespace checking of test scripts

Junio C Hamano (1):
  diff -c/--cc: do not include uninteresting deletion before leading
    context

Karl Hasselström (2):
  Clean up builtin-update-ref's option parsing
  Make old sha1 optional with git update-ref -d

Linus Torvalds (3):
  racy-git: an empty blob has a fixed object name
  Make git_dir a path relative to work_tree in setup_work_tree()
  Shrink the git binary a bit by avoiding unnecessary inline functions

Marius Storm-Olsen (3):
  Add an optional <mode> argument to commit/status -u|--untracked-files
    option
  Add argument 'no' commit/status option -u|--untracked-files
  Add configuration option for default untracked files mode

Nanako Shiraishi (2):
  environment.c: remove unused function
  config.c: make git_env_bool() static

Pieter de Bie (1):
  builtin-fast-export: Add importing and exporting of revision marks

Rafael Garcia-Suarez (1):
  gitweb: remove git_blame and rename git_blame2 to git_blame

René Scharfe (1):
  Teach new attribute 'export-ignore' to git-archive

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-06-18  7:32                     ` Junio C Hamano
  2008-06-18 10:59                       ` Jeff King
@ 2008-06-21 10:06                       ` Junio C Hamano
  2008-06-23  7:25                         ` Junio C Hamano
  1 sibling, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-06-21 10:06 UTC (permalink / raw)
  To: git

* The 'maint' branch has now preparing for 1.5.6.1, with these noncritical
  fixes.

Brandon Casey (2):
  git-merge.sh: fix typo in usage message: sucesses --> succeeds
  t7502-commit.sh: test_must_fail doesn't work with inline environment
    variables

Dan McGee (1):
  completion: add --graph to log command completion

Jan Krüger (1):
  Documentation: fix formatting in git-svn


* The 'master' branch has these since the last announcement
  in addition to the above.  Not much to see here (yet).

Cristian Peraferrer (1):
  Print errno upon failure to open the COMMIT_EDITMSG file

Jakub Narebski (1):
  t/README: Add 'Skipping Tests' section below 'Running Tests'

Lea Wiemann (1):
  test-lib.sh: add --long-tests option

Lukas Sandström (1):
  Add a helper script to send patches with Mozilla Thunderbird

Shawn O. Pearce (1):
  Correct documentation for git-push --mirror

Teemu Likonen (2):
  bash: Add more option completions for 'git log'
  Add target "install-html" the the top level Makefile

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2008-06-18  7:32                     ` Junio C Hamano
@ 2008-06-18 10:59                       ` Jeff King
  2008-06-21 10:06                       ` Junio C Hamano
  1 sibling, 0 replies; 262+ messages in thread
From: Jeff King @ 2008-06-18 10:59 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

On Wed, Jun 18, 2008 at 12:32:05AM -0700, Junio C Hamano wrote:

> I am sending this out just as the final minute preview before 1.5.6 final,
> hopefully tomorrow night.

I sent out a code cleanup for remote.c yesterday that fixes a segfault:

  http://mid.gmane.org/20080616161502.GA7219@sigill.intra.peff.net

I am OK if it doesn't make it in to 1.5.6, but if not, then we should at
least apply the very safe one-liner that prevents the segfault. That
patch is below.

-- >8 --
fix segfault with "git push bogus:bogus"

We try to guess the type of the dst half of the refspec
based on the src half. If the src half is bogus, we ended up
dereferencing NULL.
---
 remote.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/remote.c b/remote.c
index 91e3b11..fd8c71a 100644
--- a/remote.c
+++ b/remote.c
@@ -920,7 +920,8 @@ static int match_explicit(struct ref *src, struct ref *dst,
 	case 0:
 		if (!memcmp(dst_value, "refs/", 5))
 			matched_dst = make_linked_ref(dst_value, dst_tail);
-		else if((dst_guess = guess_ref(dst_value, matched_src)))
+		else if(matched_src &&
+			(dst_guess = guess_ref(dst_value, matched_src)))
 			matched_dst = make_linked_ref(dst_guess, dst_tail);
 		else
 			error("unable to push to unqualified destination: %s\n"
-- 
1.5.6.rc3.160.g2a3c9

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-06-13 10:10                   ` Junio C Hamano
@ 2008-06-18  7:32                     ` Junio C Hamano
  2008-06-18 10:59                       ` Jeff King
  2008-06-21 10:06                       ` Junio C Hamano
  0 siblings, 2 replies; 262+ messages in thread
From: Junio C Hamano @ 2008-06-18  7:32 UTC (permalink / raw)
  To: git

I am sending this out just as the final minute preview before 1.5.6 final,
hopefully tomorrow night.

* The 'maint' branch has these fixes since the last announcement.

Junio C Hamano (1):
  diff.c: fix emit_line() again not to add extra line

SZEDER Gábor (1):
  diff: reset color before printing newline


* The 'master' branch has these since the last announcement
  in addition to the above.

Alejandro Mery (1):
  git-am: head -1 is obsolete and doesn't work on some new systems

Avery Pennarun (2):
  git-svn: don't append extra newlines at the end of commit messages.
  git-svn: test that extra blank lines aren't inserted in commit messages.

Christian Couder (2):
  documentation: bisect: remove bits talking about a bisection branch
  Documentation: RelNotes-1.5.6: talk about renamed HTML files

Flavio Poletti (1):
  git-instaweb: improve auto-discovery of httpd and call conventions.

Jakub Narebski (2):
  gitweb: Make it work with $GIT containing spaces
  Use 'trash directory' thoroughly in t/test-lib.sh

Johan Herland (3):
  cpio is no longer used by git-clone
  Consistency: Use "libcurl" instead of "cURL library" and "curl"
  The "curl" executable is no longer required

Junio C Hamano (8):
  t4126: fix test that happened to work due to timing
  sha1_file.c: dead code removal
  GIT 1.5.6-rc3
  Makefile: update check-docs target
  Update RPM spec to drop curl executable requirement
  create_tempfile: make sure that leading directories can be accessible by
    peers
  sha1_file.c: simplify parse_pack_index()
  builtin-rerere: fix a small leak

Lea Wiemann (2):
  gitweb: quote commands properly when calling the shell
  gitweb: remove unused parse_ref method

Linus Torvalds (4):
  Avoid cross-directory renames and linking on object creation
  Make loose object file reading more careful
  Simplify and rename find_sha1_file()
  write_loose_object: don't bother trying to read an old object

Mark Levedahl (1):
  git-submodule - Fix errors regarding resolve_relative_url

Mike Hommey (1):
  Don't allocate too much memory in quote_ref_url

Miklos Vajna (2):
  run-command documentation: fix "memset()" parameter
  path-list documentation: document all functions and data structures

Olivier Marin (1):
  Fix approxidate("never") to always return 0

Pierre Habouzit (1):
  Make git reflog expire honour core.sharedRepository.

René Scharfe (1):
  Ignore .gitattributes in bare repositories

SZEDER Gábor (2):
  git add: add long equivalents of '-u' and '-f' options
  completion: add more 'git add' options

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-06-02  8:01                 ` Junio C Hamano
@ 2008-06-13 10:10                   ` Junio C Hamano
  2008-06-18  7:32                     ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-06-13 10:10 UTC (permalink / raw)
  To: git

Since v1.5.6-rc2 there are handful more fixes.  More important ones among
them are:

 - "git-remote prune -n" fix (Olivier Marin)

 - "git-log --graph --first-parent" fix (Adam Simpkins)

 - "git-fast-export" fix for multi-root repository (Shawn)

 - "gitk" works better with detached HEAD (Paul Mackerras)

Time for -rc3 this weekend and hopefully the final sometime next week.

---
* The 'maint' branch has these fixes since the last announcement.

Björn Steinbrink (1):
  name-rev: Fix segmentation fault when using --all

Fred Maranhão (1):
  fix typo in tutorial

Johannes Sixt (1):
  Remove exec bit from builtin-fast-export.c

Junio C Hamano (1):
  GIT 1.5.5.4

Lea Wiemann (1):
  git-for-each-ref.txt: minor improvements

Michael Dressel (1):
  describe: match pattern for lightweight tags too

Miklos Vajna (1):
  git-read-tree: document -v option.


* The 'master' branch has these since the last announcement
  in addition to the above.

Adam Simpkins (2):
  graph API: fix "git log --graph --first-parent"
  git log --graph: print '*' for all commits, including merges

Alex Riesen (1):
  Fix t5516 on cygwin: it does not like double slashes at the beginning of
    a path

Ask Bjørn Hansen (2):
  gitweb setup instruction: rewrite HEAD and root as well
  send-email: Allow the envelope sender to be set via configuration

Boyd Lynn Gerber (2):
  progress.c: avoid use of dynamic-sized array
  Port to 12 other Platforms.

Chris Ridd (1):
  Improve sed portability

Christian Couder (2):
  documentation: convert "diffcore" and "repository-layout" to man pages
  documentation: move git(7) to git(1)

Daniel Barkalow (1):
  Use nonrelative paths instead of absolute paths for cloned repositories

Dirk Suesserott (1):
  Documentation/git-mailsplit: Enhanced description of -o option

Geoffrey Irving (1):
  doc: adding gitman.info and *.texi to .gitignore

Jakub Narebski (2):
  gitweb: Fix "next" link on bottom of page
  gitweb: Add charset info to "raw" output of 'text/plain' blobs

Jeff King (2):
  Fix "git clone http://$URL" to check out the worktree when asked
  document --pretty=tformat: option

Johannes Schindelin (1):
  merge-recursive: respect core.autocrlf when writing out the result

Johannes Sixt (2):
  rebase --interactive: Compute upstream SHA1 before switching branches
  make_nonrelative_path: Use is_absolute_path()

Junio C Hamano (12):
  commit: drop duplicated parents
  GIT v1.5.6-rc1
  t7502: do not globally unset GIT_COMMITTER_* environment variables
  t7502: tighten loosely written test sequence
  Documentation: git-log cannot use rev-list specific options
  t7502: honor SHELL_PATH
  GIT 1.5.6-rc2
  http-push.c: remove duplicated code
  "remote prune": be quiet when there is nothing to prune
  Documentation/git-pull.txt: Use more standard [NOTE] markup
  Documentation: exclude @pxref{[REMOTES]} from texinfo intermediate output
  user-manual: describe how higher stages are set during a merge

Karl Hasselström (1):
  Revert "git.el: Set process-environment instead of invoking env"

Kevin Ballard (1):
  Documentation/git-filter-branch.txt: Fix description of --commit-filter

Lea Wiemann (5):
  cat-file --batch: flush stdout also when objects are missing
  t1006-cat-file.sh: typo
  cat-file --batch / --batch-check: do not exit if hashes are missing
  Documentation/git-cat-file.txt: add missing line break
  t/.gitattributes: only ignore whitespace errors in test files

Linus Torvalds (1):
  Consolidate SHA1 object file close

Marius Storm-Olsen (1):
  Add testcase for merging in a CRLF repo

Mikael Magnusson (1):
  Typo in RelNotes.

Miklos Vajna (3):
  Strbuf documentation: document most functions
  Remove unused code in parse_commit_buffer()
  git-rebase -i: mention the short command aliases in the todo list

Olivier Marin (4):
  remote show: fix the -n option
  builtin-remote: split show_or_prune() in two separate functions
  remote prune: print the list of pruned branches
  remote show: list tracked remote branches with -n

Paul Mackerras (1):
  gitk: Handle detached heads better

Philippe Bruhat (BooK) (1):
  git-cvsimport: do not fail when CVSROOT is /

Pieter de Bie (1):
  git-send-email: allow whitespace in addressee list

Shawn O. Pearce (1):
  fast-export: Correctly generate initial commits with no parents

Stephan Beyer (6):
  git-commit.txt: Correct option alternatives
  git-commit.txt: Add missing long/short options
  Docs: Use "-l::\n--long\n" format in OPTIONS sections
  Docs: add some long/short options
  git-describe.txt: document --always
  git-name-rev.txt: document --no-undefined and --always

Teemu Likonen (1):
  Print info about "git help COMMAND" on git's main usage pages

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-05-30 20:43               ` Junio C Hamano
@ 2008-06-02  8:01                 ` Junio C Hamano
  2008-06-13 10:10                   ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-06-02  8:01 UTC (permalink / raw)
  To: git

* The 'master' branch has these since the last announcement.  I'll tag
  -rc1 in a few days.  Hopefully we can make this cycle much shorter than
  the painfully long one we had for 1.5.5.

Adam Simpkins (2):
  graph API: improve display of merge commits
  graph API: avoid printing unnecessary padding before some octopus merges

Christian Couder (1):
  Documentation: convert "glossary" and "core-tutorial" to man pages

Christian Engwer (1):
  git-svn fails in prop_walk if $self->{path} is not empty

Jakub Narebski (1):
  gitweb: Remove gitweb/test/ directory

Jamis Buck (1):
  git-reset: honor -q and do not show progress message

John J. Franey (1):
  Clarify description of <repository> argument to pull/fetch for naming
    remotes.

Junio C Hamano (4):
  checkout: make reset_clean_to_new() not die by itself
  checkout: consolidate reset_{to_new,clean_to_new}()
  unpack_trees(): allow callers to differentiate worktree errors from merge
    errors
  checkout: "best effort" checkout

Karl Hasselström (1):
  Fix path duplication in git svn commit-diff

Lea Wiemann (4):
  t/test-lib.sh: resolve symlinks in working directory, for pathname
    comparisons
  Git.pm: fix documentation of hash_object
  glossary: improve a few links
  Git.pm: fix return value of config method

Linus Torvalds (2):
  Make pack creation always fsync() the result
  Remove now unnecessary 'sync()' calls

Luciano Rocha (1):
  git-init: accept --bare option

Marius Storm-Olsen (2):
  Clearify the documentation for core.ignoreStat
  Add shortcut in refresh_cache_ent() for marked entries.

Miklos Vajna (1):
  Revision walking documentation: document most important functions

Nicolas Pitre (1):
  make verify-pack a bit more useful with bad packs

Paolo Bonzini (1):
  rollback lock files on more signals than just SIGINT

Seth Falcon (1):
  Add a --dry-run option to git-svn rebase

Shawn O. Pearce (3):
  Remove unused remote_prefix member in builtin-remote
  Make "git-remote prune" delete refs according to fetch specs
  Make "git-remote rm" delete refs acccording to fetch specs

Stephan Beyer (2):
  Add test cases for git-am
  Merge t4150-am-subdir.sh and t4151-am.sh into t4150-am.sh

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-05-24  1:32             ` Junio C Hamano
@ 2008-05-30 20:43               ` Junio C Hamano
  2008-06-02  8:01                 ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-05-30 20:43 UTC (permalink / raw)
  To: git

[jc: I wrote this a few days ago but did not send it out]

* The 'master' branch has these since 1.5.6-rc0.

Christian Couder (1):
  bisect: use "$GIT_DIR/BISECT_START" to check if we are bisecting

Dmitry V. Levin (1):
  builtin-fetch.c (store_updated_refs): Honor update_local_ref() return
    value

Gerrit Pape (2):
  Documentation/git-bundle.txt: fix synopsis
  commit --interactive: properly update the index before commiting

Jeff King (1):
  clone: make sure we support the transport type

Johannes Schindelin (1):
  hg-to-git: add --verbose option

Johannes Sixt (2):
  t5700-clone-reference: Quote $U
  Revert "filter-branch: subdirectory filter needs --full-history"

Junio C Hamano (19):
  tests: do not use implicit "git diff --no-index"
  diff-files: do not play --no-index games
  "git diff": do not ignore index without --no-index
  Update draft release notes for 1.5.6
  log --graph: do not accept log --graphbogus
  log --pretty: do not accept bogus "--prettyshort"
  Release Notes for 1.5.5.2
  Documentation/git.txt: link to 1.5.5.2 documentation.
  Makefile: fix dependency on wt-status.h
  show-branch --current: do not barf on detached HEAD
  git-diff: allow  --no-index semantics a bit more
  git diff --no-index: default to page like other diff frontends
  GIT 1.5.5.3
  t5100: Avoid filename "nul"
  Git::cat_blob: allow using an empty blob to fix git-svn breakage
  fix sha1_pack_index_name()
  Manual subsection to refer to other pages is SEE ALSO
  Documentation: git-cherry uses git-patch-id
  "git checkout -- paths..." should error out when paths cannot be written

Karl Hasselström (1):
  Add some tests for git update-ref -d

Lea Wiemann (1):
  gitweb: only display "next" links in logs if there is a next page

Michele Ballabio (1):
  Documentation: fix graph in git-rev-parse.txt

Pieter de Bie (1):
  builtin-fast-export: Only output a single parent per line

Shawn O. Pearce (5):
  git-gui: Add a --trace command line option
  git-gui: Handle workdir detection when CYGWIN=nowinsymlinks
  Don't diff empty tree on branch creation in paranoid update hook
  Don't load missing ACL files in paranoid update hook
  Ignore no-op changes in paranoid update hook

Twiinz (1):
  git-gui: Vertically align textboxes with labels

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-05-14 22:35           ` Junio C Hamano
@ 2008-05-24  1:32             ` Junio C Hamano
  2008-05-30 20:43               ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-05-24  1:32 UTC (permalink / raw)
  To: git

Quite a many topics have graduated to 'master' and hopefully we can tag
1.5.6-rc0 this weekend.  At about the same time I'll do 1.5.5.2 out of
'maint' branch, as it has accumulated quite a few fixes as well.

* The 'maint' branch has these fixes since the last announcement.

Heikki Orsila (1):
  Add missing "short" alternative to --date in rev-list-options.txt

Jeff King (2):
  doc/git-daemon: s/uploadarchive/uploadarch/
  git-am: fix typo in usage message

Johannes Sixt (1):
  rev-parse --symbolic-full-name: don't print '^' if SHA1 is not a ref

Jon Loeliger (2):
  git-filter-branch: Clarify file removal example.
  git-show.txt: Not very stubby these days.

Shawn O. Pearce (1):
  Clarify repack -n documentation


* The 'master' branch has these since the last announcement
  in addition to the above.

Adam Simpkins (4):
  revision API: split parent rewriting and parent printing options
  Add history graph API
  log and rev-list: add --graph option
  graph API: eliminate unnecessary indentation

Alex Riesen (7):
  Make the exit code of add_file_to_index actually useful
  Extend interface of add_files_to_cache to allow ignore indexing errors
  Add --ignore-errors to git-add to allow it to skip files with read errors
  Add a test for git-add --ignore-errors
  Add a config option to ignore errors for git-add
  Ensure that a test is run in the trash directory
  Fix t3701 if core.filemode disabled

Anders Waldenborg (1):
  gitweb: Convert string to internal form before chopping in chop_str

Brandon Casey (4):
  repack: modify behavior of -A option to leave unreferenced objects
    unpacked
  git-gc: always use -A when manually repacking
  builtin-gc.c: deprecate --prune, it now really has no effect
  t/Makefile: "trash" directory was renamed recently

Chris Frey (2):
  Documentation/git-prune.txt: document unpacked logic
  Documentation/git-repack.txt: document new -A behaviour

Chris Parsons (1):
  Updated status to show 'Not currently on any branch' in red

Christian Couder (1):
  Documentation: rev-parse: add a few "--verify" and "--default" examples

Christian Stimming (3):
  git-gui: Update German translation
  gitk: Update German translation
  gitk: German translation again updated

Dmitry Potapov (1):
  git-init: autodetect core.ignorecase

Dustin Sallings (1):
  Allow tracking branches to set up rebase by default.

Gerrit Pape (1):
  gitk: Makefile/install: force permissions when installing files and dirs

Gustaf Hendeby (1):
  Documentation: Add missing git svn commands

Heikki Orsila (1):
  Add log.date config variable

Horst H. von Brand (1):
  Fix recipient santitization

Imran M Yousuf (1):
  Use '-f' option to point to the .gitmodules file

Jeff King (2):
  send-email: specify content-type of --compose body
  send-email: rfc2047-quote subject lines with non-ascii characters

Johannes Schindelin (2):
  submodule update: add convenience option --init
  pull --rebase: exit early when the working directory is dirty

Johannes Sixt (1):
  git-gui: Report less precise object estimates for database compression

Lars Hjemli (1):
  revision.c: really honor --first-parent

Marcel Koeppen (2):
  Replace in-place sed in t7502-commit
  Fix prepare-commit-msg hook and replace in-place sed

Michele Ballabio (1):
  gitk: Disable "Reset %s branch to here" when on a detached head

Mike Ralphson (1):
  Makefile: update the default build options for AIX

Miklos Vajna (2):
  git-fast-import: rename cmd_*() functions to parse_*()
  git-merge: exclude unnecessary options from OPTIONS_SPEC

Nicolas Pitre (9):
  pack-objects: small cleanup
  pack-objects: remove some double negative logic
  pack-objects: simplify the condition associated with --all-progress
  pack-objects: clean up write_object() a bit
  pack-objects: move compression code in a separate function
  pack-objects: allow for early delta deflating
  pack-objects: fix early eviction for max depth delta objects
  add a force_object_loose() function
  let pack-objects do the writing of unreachable objects as loose objects

Paolo Bonzini (1):
  add special "matching refs" refspec

Paul Mackerras (37):
  gitk: Use git log without --topo-order and reorganize the commits
    ourselves
  gitk: Fix bug in assigning row numbers to arcs
  gitk: Fix bug in parsing multiple revision arguments
  gitk: Compute row numbers and order tokens lazily
  gitk: Fix a couple of bugs
  gitk: Fix more bugs resulting in Tcl "no such element in array" errors
  gitk: More bug fixes and cleanups
  gitk: Implement date mode in the new framework
  gitk: Fix another collection of bugs
  gitk: Don't try to show local changes from a head that isn't shown
  gitk: Keep the same commits visible as other commits come in
  gitk: Fix some corner cases in the targetid/targetrow stuff
  gitk: Fix a couple of bugs in the find function
  gitk: Fix potential bug with fake commit IDs in renumbervarc
  gitk: Index [fnvr]highlights by id rather than row
  gitk: Fix handling of flag arguments
  gitk: Fix a bug in make_disporder
  gitk: Select head of current branch by default
  gitk: Select something appropriate on cherry-pick, branch reset and
    checkout
  gitk: Fix bug where editing an existing view would cause an infinite loop
  gitk: Fix bug causing Tcl error when no commits are selected
  gitk: Fix cherry-picking to insert a real row not a fake row
  gitk: Cope better with getting commits that we have already seen
  gitk: Fix bug where arcs could get lost
  gitk: Handle updating with path limiting better
  gitk: Fix problems with target row stuff
  gitk: Don't filter view arguments through git rev-parse
  gitk: Correct a few strings and comments to say "git log"
  gitk: Fix some corner cases in computing vrowmod and displayorder
  gitk: Avoid a crash in selectline if commitinfo($id) isn't set
  gitk: Fix problem with target row not being in scroll region
  gitk: Reorganize processing of arguments for git log
  gitk: Fix handling of tree file list with special chars in names
  gitk: Make updates go faster
  gitk: Synchronize highlighting in file view for 'f' and 'b' commands
  gitk: Show current row number and total number of rows
  gitk: Add a progress bar for checking out a head

Peter Karlsson (1):
  gitk: Initial Swedish translation.

Santiago Gala (1):
  gitk: Spanish translation of gitk

Shawn O. Pearce (3):
  git-gui: Don't use '$$cr master' with aspell earlier than 0.60
  git-gui: Setup branch.remote,merge for shorthand git-pull
  git-gui: Delete branches with 'git branch -D' to clear config

Steffen Prohaska (4):
  t0050: Test autodetect core.ignorecase
  t0050: Set core.ignorecase case to activate case insensitivity
  t0050: Add test for case insensitive add
  t0050: Fix merge test on case sensitive file systems

Stephen R. van den Berg (1):
  Simplify and fix --first-parent implementation

Teemu Likonen (1):
  Documentation/git-web--browse.txt: fix small typo

Thomas Arcila (1):
  gitk: Allow users to view diffs in external diff viewer

Trent Piepho (1):
  cvsexportcommit: Create config option for CVS dir

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-05-06  6:38         ` Junio C Hamano
@ 2008-05-14 22:35           ` Junio C Hamano
  2008-05-24  1:32             ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-05-14 22:35 UTC (permalink / raw)
  To: git

The largest change to 'master' in this round is Linus's case insensitivity
changes.  I wanted to get feedback and fixes (if needed) from case
insensitive folks while the topic was still in 'next', but it did not
happen, but this should at least not harm sane filesystems, so let's see
how it goes.

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last announcement.

A Large Angry SCM (1):
  git-repack: re-enable parsing of -n command line option

Dustin Sallings (1):
  Documentation/config.txt: Mention branch.<name>.rebase applies to "git
    pull"

Ian Hilt (1):
  Documentation/git-describe.txt: make description more readable

Jeff King (1):
  doc: clarify definition of "update" for git-add -u

Johannes Sixt (1):
  wt-status.h: declare global variables as extern

Sitaram Chamarty (1):
  builtin-commit.c: add -u as short name for --untracked-files


* The 'master' branch has these since the last announcement
  in addition to the above.

Alex Riesen (1):
  Improve reporting of errors in config file routines

Brandon Casey (1):
  compat/fopen.c: avoid clobbering the system defined fopen macro

Bryan Donlan (10):
  git-rebase.sh: Fix --merge --abort failures when path contains whitespace
  config.c: Escape backslashes in section names properly
  git-send-email.perl: Handle shell metacharacters in $EDITOR properly
  test-lib.sh: Add a test_set_editor function to safely set $VISUAL
  Use test_set_editor in t9001-send-email.sh
  test-lib.sh: Fix some missing path quoting
  lib-git-svn.sh: Fix quoting issues with paths containing shell
    metacharacters
  Don't use the 'export NAME=value' in the test scripts.
  Fix tests breaking when checkout path contains shell metacharacters
  Rename the test trash directory to contain spaces.

Caio Marcelo de Oliveira Filho (1):
  git-format-patch: add --no-binary to omit binary changes in the patch.

Christian Couder (12):
  help: use man viewer path from "man.<tool>.path" config var
  documentation: help: add "man.<tool>.path" config variable
  help: use "man.<tool>.cmd" as custom man viewer command
  documentation: help: add info about "man.<tool>.cmd" config var
  documentation: web--browse: add a note about konqueror
  Documentation: rename "hooks.txt" to "githooks.txt" and make it a man
    page
  Documentation: improve "add", "pull" and "format-patch" examples
  Documentation: bisect: add a few "git bisect run" examples
  bisect: print an error message when "git rev-list --bisect-vars" fails
  rev-parse: add test script for "--verify"
  rev-parse: fix using "--default" with "--verify"
  rev-parse --verify: do not output anything on error

Dan McGee (1):
  Allow cherry-pick (and revert) to add signoff line

Daniel Barkalow (2):
  Make walker.fetch_ref() take a struct ref.
  Make ls-remote http://... list HEAD, like for git://...

Dustin Sallings (1):
  Allow tracking branches to set up rebase by default.

Eric Wong (1):
  git-svn: fix cloning of HTTP URLs with '+' in their path

Gerrit Pape (1):
  git-bisect.sh: don't accidentally override existing branch "bisect"

Gustaf Hendeby (1):
  Documentation/config.txt: Add git-gui options

Jakub Narebski (1):
  gitweb: Use feed link according to current view

Jeff King (7):
  add merge.renamelimit config option
  bump rename limit defaults
  diff: make "too many files" rename warning optional
  fix bsd shell negation
  t5000: tar portability fix
  clone: bsd shell portability fix
  filter-branch: fix variable export logic

Johannes Sixt (1):
  compat-util: avoid macro redefinition warning

Junio C Hamano (3):
  diff: a submodule not checked out is not modified
  diff-lib.c: rename check_work_tree_entity()
  is_racy_timestamp(): do not check timestamp for gitlinks

Krzysztof Kowalczyk (1):
  alloc_ref_from_str(): factor out a common pattern of alloc_ref from
    string

Linus Torvalds (12):
  Make unpack_trees_options bit flags actual bitfields
  Move name hashing functions into a file of its own
  Make "index_name_exists()" return the cache_entry it found
  Make hash_name_lookup able to do case-independent lookups
  Add 'core.ignorecase' option
  Make branch merging aware of underlying case-insensitive filsystems
  Make unpack-tree update removed files before any updated files
  When adding files to the index, add support for case-independent matches
  Make git-add behave more sensibly in a case-insensitive environment
  Optimize match_pathspec() to avoid fnmatch()
  Avoid some unnecessary lstat() calls
  Optimize symlink/directory detection

Mark Hills (1):
  Be more careful with objects directory permissions on clone

Miklos Vajna (3):
  git-format-patch: add a new format.cc configuration variable
  git-send-email: add a new sendemail.cc configuration variable
  Add tests for sendemail.cc configuration variable

Ping Yin (2):
  t4027: test diff for submodule with empty directory
  Add t7506 to test submodule related functions for git-status

SZEDER Gábor (5):
  doc: moved merge.* config variables into separate merge-config.txt
  merge, pull: introduce '--(no-)stat' option
  add 'merge.stat' config variable
  fmt-merge-msg: add '--(no-)log' options and 'merge.log' config variable
  merge, pull: add '--(no-)log' command line option

Santi Béjar (3):
  Preparation to call determine_author_info from prepare_to_commit
  commit: Show author if different from committer
  commit: Show committer if automatic

Sebastian Schuberth (1):
  mergetool: Make ECMerge use the settings as specified by the user in the
    GUI

Steven Grimm (1):
  Add svn-compatible "blame" output format to git-svn

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-04-27  6:04       ` Junio C Hamano
@ 2008-05-06  6:38         ` Junio C Hamano
  2008-05-14 22:35           ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-05-06  6:38 UTC (permalink / raw)
  To: git

* The 'maint' branch has these fixes since the last announcement.

Alex Riesen (2):
  Use "=" instead of "==" in condition as it is more portable
  Fix use after free() in builtin-fetch

Dan McGee (1):
  Remove 'header' from --signoff option description

Florian Ragwitz (1):
  filter-branch: Documentation fix.

Jeff King (3):
  fix reflog approxidate parsing bug
  cvsimport: always pass user data to "system" as a list
  checkout: don't rfc2047-encode oneline on detached HEAD

Junio C Hamano (2):
  clone: detect and fail on excess parameters
  fetch-pack: brown paper bag fix

Linus Torvalds (1):
  fetch-pack: do not stop traversing an already parsed commit


* The 'master' branch has these since the last announcement
  in addition to the above.

Adam Simpkins (2):
  Remove dead code: show_log() sep argument and diff_options.msg_sep
  log: print log entry terminator even if the message is empty

Alex Riesen (1):
  Use the modern syntax of git-diff-files in t2002-checkout-cache-u.sh

Bart Trojanowski (1):
  make git-status use a pager

Brandon Casey (1):
  filter-branch.sh: support nearly proper tag name filtering

Christian Couder (3):
  rev-parse: teach "--verify" to be quiet when using "-q" or "--quiet"
  rev-parse: fix --verify to error out when passed junk after a good rev
  Documentation: hooks: fix missing verb in pre-applypatch description

Gustaf Hendeby (2):
  git-svn: Make create-ignore use git add -f
  Documentation: Add create-ignore to git svn manual

Heikki Orsila (4):
  Document functions xmemdupz(), xread() and xwrite()
  Die for an early EOF in a file reading loop
  Make read_in_full() and write_in_full() consistent with xread() and
    xwrite()
  Cleanup xread() loops to use read_in_full()

Jeff King (2):
  git-fetch: always show status of non-tracking-ref fetches
  Documentation: point git-prune users to git-gc

Jon Loeliger (1):
  Add otherwise missing --strict option to unpack-objects summary.

Junio C Hamano (2):
  write_index(): optimize ce_smudge_racily_clean_entry() calls with
    CE_UPTODATE
  diff-files: mark an index entry we know is up-to-date as such

Jörg Sommer (1):
  post-merge: Add it's not executed if merge failed.

Lars Hjemli (7):
  Add platform-independent .git "symlink"
  Teach resolve_gitlink_ref() about the .git file
  Teach git-submodule.sh about the .git file
  Teach GIT-VERSION-GEN about the .git file
  git-branch: add support for --merged and --no-merged
  git-branch.txt: compare --contains, --merged and --no-merged
  Add tests for `branch --[no-]merged`

Liu Yubao (1):
  Documentation on --git-dir and --work-tree

Matthieu Moy (1):
  git-svn: detect and fail gracefully when dcommitting to a void

Miklos Vajna (2):
  git checkout: add -t alias for --track
  INSTALL: add a note about GNU interactive tools has been renamed

Paolo Bonzini (1):
  Add a remote.*.mirror configuration option

Richard Quirk (2):
  bash: Add completion for gitk --merge
  Documentation gitk: Describe what --merge does

Stephen R. van den Berg (1):
  git-svn: Same default as cvsimport when using --use-log-author

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-04-19  8:18     ` Junio C Hamano
@ 2008-04-27  6:04       ` Junio C Hamano
  2008-05-06  6:38         ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-04-27  6:04 UTC (permalink / raw)
  To: git

Post 1.5.5 maintenance track is getting stable and more boring ;-).

* The 'maint' branch has these fixes since v1.5.5.1

Andy Parkins (1):
  post-receive-email: fix accidental removal of a trailing space in
    signature line

Ariel Badichi (2):
  copy.c: copy_fd - correctly report write errors
  archive.c: format_subst - fixed bogus argument to memchr

Brandon Casey (1):
  git-clone.txt: Adjust note to --shared for new pruning behavior of git-gc

Dmitry Potapov (1):
  git-gc --prune is deprecated

Gerrit Pape (1):
  diff-options.txt: document the new "--dirstat" option

Jeff King (5):
  Don't force imap.host to be set when imap.tunnel is set
  t5516: remove ambiguity test (1)
  doc/git-gc: add a note about what is collected
  push: allow unqualified dest refspecs to DWIM
  remote: create fetch config lines with '+'

Junio C Hamano (1):
  write-tree: properly detect failure to write tree objects

Matt Graham (1):
  Linked glossary from cvs-migration page

Matthew Ogilvie (1):
  gitattributes: Fix subdirectory attributes specified from root directory

Michael Weber (1):
  svn-git: Use binmode for reading/writing binary rev maps

Miklos Vajna (1):
  diff options documentation: refer to --diff-filter in --name-status

Sam Vilain (1):
  Amend git-push refspec documentation

Teemu Likonen (1):
  bash: Add completion for git diff --base --ours --theirs

Thomas Guyot-Sionnest (1):
  git-svn bug with blank commits and author file

martin f. krafft (2):
  Escape project name in regexp
  Escape project names before creating pathinfo URLs


* The 'master' branch has these since the last announcement
  in addition to the above.

Clifford Caoile (1):
  git.el: Set process-environment instead of invoking env

Dan McGee (2):
  completion: allow 'git remote' subcommand completion
  completion: remove use of dashed git commands

Heikki Orsila (1):
  Make core.sharedRepository more generic

Jeff King (1):
  git-remote: show all remotes with "git remote show"

Junio C Hamano (5):
  sha1-lookup: more memory efficient search in sorted list of SHA-1
  diff: make --dirstat binary-file safe
  sha1-lookup: make selection of 'middle' less aggressive
  log: teach "terminator" vs "separator" mode to "--pretty=format"
  First batch of post 1.5.5 updates

Matthias Kestenholz (1):
  Use color.ui variable in scripts too

Miklos Vajna (3):
  git-gc --auto: add pre-auto-gc hook
  Documentation/hooks: add pre-auto-gc hook
  contrib/hooks: add an example pre-auto-gc hook

Ping Yin (3):
  git-submodule summary: --for-status option
  builtin-status: submodule summary support
  builtin-status: Add tests for submodule summary

Rafael Garcia-Suarez (1):
  Spelling fixes in the gitweb documentation

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-04-14  7:00   ` Junio C Hamano
@ 2008-04-19  8:18     ` Junio C Hamano
  2008-04-27  6:04       ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-04-19  8:18 UTC (permalink / raw)
  To: git

As quite some fixes have accumulated on 'maint', I am planning to do
1.5.5.1 this Sunday with what is in 'maint', perhaps with the 'rebase: do
not munge commit log message' fix that is in 'master' tonight.

* The 'maint' branch has these fixes since the last announcement.

Alberto Bertogli (1):
  builtin-apply: Show a more descriptive error on failure when opening a
    patch

Christian Couder (2):
  bisect: squelch "fatal: ref HEAD not a symref" misleading message
  git-bisect: make "start", "good" and "skip" succeed or fail atomically

Jakub Narebski (1):
  gitweb: Fix 'history' view for deleted files with history

Jon Loeliger (1):
  Clarify and fix English in "git-rm" documentation

Jonas Fonseca (1):
  git-remote: reject adding remotes with invalid names

Junio C Hamano (2):
  git-am: minor cleanup
  am: POSIX portability fix

Linus Torvalds (2):
  Ignore leading empty lines while summarizing merges
  git-am: cope better with an empty Subject: line

Mark Levedahl (1):
  git-submodule - possibly use branch name to describe a module

Matthieu Moy (1):
  Document that WebDAV doesn't need git on the server, and works over SSL

Scott Collins (1):
  Clarify documentation of git-cvsserver, particularly in relation to
    git-shell

Shawn Bohrer (2):
  git clean: Don't automatically remove directories when run within
    subdirectory
  git clean: Add test to verify directories aren't removed with a prefix


* The 'master' branch has these since the last announcement
  in addition to the above.

Christian Couder (1):
  bisect: add "git bisect help" subcommand to get a long usage string

Johannes Sixt (1):
  builtin-commit.c: Remove a redundant assignment.

Junio C Hamano (3):
  git_config_bool_or_int()
  Fix git_config_bool_or_int
  rebase: do not munge commit log message

Stephan Beyer (1):
  builtin-apply.c: use git_config_string() to get apply_default_whitespace

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-04-09  9:44 ` What's in git.git (stable) Junio C Hamano
@ 2008-04-14  7:00   ` Junio C Hamano
  2008-04-19  8:18     ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-04-14  7:00 UTC (permalink / raw)
  To: git

* The 'maint' branch has these fixes since v1.5.5; perhaps v1.5.5.1 mid
  next week.

Björn Steinbrink (1):
  Fix section about backdating tags in the git-tag docs

Carlos Rica (2):
  Fix documentation syntax of optional arguments in short options.
  core-tutorial.txt: Fix showing the current behaviour.

Christian Couder (2):
  bisect: fix bad rev checking in "git bisect good"
  bisect: report bad rev better

Clifford Caoile (1):
  Docs gitk: Explicitly mention the files that gitk uses (~/.gitk)

Daniel Barkalow (1):
  Fix config key miscount in url.*.insteadOf

Dirk Suesserott (1):
  Documentation/git-request-pull: Fixed a typo ("send" -> "end")

Jeff King (1):
  git-fetch: fix status output when not storing tracking ref

Johannes Sixt (1):
  Document option --only of git commit

Junio C Hamano (3):
  Document -w option to shortlog
  Documentation/git-submodule: typofix
  t7401: squelch garbage output

Michele Ballabio (1):
  revision.c: make --date-order overriddable

Pedro Melo (1):
  Force the medium pretty format on calls to git log

Ping Yin (1):
  git-submodule: Avoid 'fatal: cannot describe' message

René Scharfe (1):
  git-archive: ignore prefix when checking file attribute


* The 'master' branch has these since the last announcement
  in addition to the above.

Christian Couder (1):
  bisect: add "git bisect help" subcommand to get a long usage string

Johannes Sixt (1):
  builtin-commit.c: Remove a redundant assignment.

Junio C Hamano (1):
  git_config_bool_or_int()

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-04-09  6:51 [ANNOUNCE] GIT 1.5.5 Junio C Hamano
@ 2008-04-09  9:44 ` Junio C Hamano
  2008-04-14  7:00   ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-04-09  9:44 UTC (permalink / raw)
  To: git

* The 'master' branch has these since v1.5.5.

Frank Lichtenheld (4):
  var: Don't require to be in a git repository.
  Git.pm: Don't require a repository instance for config
  Git.pm: Don't require repository instance for ident
  send-email: Don't require to be called in a repository

Gerrit Pape (2):
  gitweb: fallback to system-wide config file if default config does not
    exist
  gitweb: fallback to system-wide config file (fixup)

Govind Salinas (1):
  pretty.c: add %x00 format specifier.

Jeff King (2):
  add--interactive: ignore mode change in 'p'atch command
  add--interactive: allow user to choose mode update

Junio C Hamano (4):
  Optimize rename detection for a huge diff
  t5300: add test for "unpack-objects --strict"
  unpack-objects: fix --strict handling
  rebase [--onto O] A B: omit needless checkout

Martin Koegler (3):
  unpack-objects: prevent writing of inconsistent objects
  receive-pack: allow using --strict mode for unpacking objects
  t5300: add test for "index-pack --strict"

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2008-04-04 18:24                           ` Junio C Hamano
@ 2008-04-05  3:13                             ` Shawn O. Pearce
  0 siblings, 0 replies; 262+ messages in thread
From: Shawn O. Pearce @ 2008-04-05  3:13 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Junio C Hamano <gitster@pobox.com> wrote:
> * The 'master' branch has these since the last announcement and we are now
>   at 1.5.5-rc3.  The real 1.5.5 hopefully this weekend.
...
> Shawn O. Pearce (1):
>   git-gui 0.10

0.10 is a dud on Linux.  My master branch has a bug fix, but I'm
considering bringing in Michele's patch before tagging 0.10.1.

So 0.10.1, most likely tagged in a few hours, should be in 1.5.5.
Otherwise Linux users of git-gui will be sort of pissed.

Damn.

-- 
Shawn.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-03-31  8:39                         ` Junio C Hamano
@ 2008-04-04 18:24                           ` Junio C Hamano
  2008-04-05  3:13                             ` Shawn O. Pearce
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-04-04 18:24 UTC (permalink / raw)
  To: git

* The 'master' branch has these since the last announcement and we are now
  at 1.5.5-rc3.  The real 1.5.5 hopefully this weekend.

Brandon Casey (2):
  mktag.c: improve verification of tagger field and tests
  mktag.c: tweak validation of tagger field and adjust test script

Christian Couder (1):
  help: Add a missing OPT_END().

Damien Diederen (7):
  cvsserver: Respond to the 'editors' and 'watchers' commands
  cvsserver: Only print the file part of the filename in status header
  cvsserver: Do not include status output for subdirectories if -l is
    passed
  cvsserver: Add a few tests for 'status' command
  cvsserver: Implement update -p (print to stdout)
  cvsserver: Add test for update -p
  cvsserver: Use the user part of the email in log and annotate results

Johannes Sixt (3):
  filter-branch: Test renaming directories in a tree-filter
  verify-tag: Clean up the temporary file if gpg cannot be started.
  t7004-tag: Skip more tests if gpg is not available.

Jonathan del Strother (1):
  git-gui: Add shortcut keys for Show More/Less Context

Josh Elsasser (1):
  Allow git-cvsserver database table name prefix to be specified.

Junio C Hamano (2):
  Accept git aliases outside a git repository
  GIT 1.5.5-rc3

Paolo Bonzini (1):
  git-cvsserver: handle change type T

Shawn O. Pearce (1):
  git-gui 0.10

Teemu Likonen (1):
  Describe the bug in handling filenames with funny characters in 'git add
    -i'

veillette@yahoo.ca (1):
  filter-branch: Fix renaming a directory in the tree-filter

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-03-28  1:45                       ` Junio C Hamano
@ 2008-03-31  8:39                         ` Junio C Hamano
  2008-04-04 18:24                           ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-03-31  8:39 UTC (permalink / raw)
  To: git

A handful fixes are in 'master', and a few topics are still in 'next' as I
ran out of time this weekend.

* The 'master' branch has these since the last announcement.

Bryan Donlan (1):
  Silence cpio's "N blocks" output when cloning locally

Eric Wong (1):
  git-svn: remove redundant slashes from show-ignore

Junio C Hamano (4):
  builtin-prune: protect objects listed on the command line
  Add corner case tests for diff-index and diff-files
  diff-index: careful when inspecting work tree items
  diff-files: careful when inspecting work tree items

Marius Storm-Olsen (1):
  git-p4: Handle Windows EOLs properly after removal of p4 submit template
    handling.

Michele Ballabio (3):
  parse-options.c: introduce OPT_DATE
  Add tests for git-prune
  builtin-prune.c: use parse_options()

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-03-23 10:08                     ` Junio C Hamano
@ 2008-03-28  1:45                       ` Junio C Hamano
  2008-03-31  8:39                         ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-03-28  1:45 UTC (permalink / raw)
  To: git

Again with a handful fixes, the most important of which is for regression
introduced in 1.5.4 to "git fetch" (if you are using .git/branches/it to
name your remote repositories, "git fetch it" should update your local
"it" branch but it doesn't since the breakage), maybe we would need
another maintenance branch soon from 'maint'.

With fixes to a handful regressions in the changes that happened during
the 1.5.5 cycle, 'master' is nearling -rc2, which hopefully will happen
soon.  There still are one or two topics we may want to merge from 'next',
but at this point both testers and developers are encouraged to switch to
'master' if you have been using 'next' for your real work to catch the
last minute glitches.

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last announcement.

Brandon Casey (1):
  t/t3800-mktag.sh: use test_must_fail rather than '!'

Daniel Barkalow (2):
  Tighten refspec processing
  Fix branches file configuration

Guanqun Lu (1):
  Fix the wrong output of `git-show v1.3.0~155^2~4` in documentation.

Jeff King (1):
  Documentation: clarify use of .git{ignore,attributes} versus .git/info/*

Junio C Hamano (2):
  git-fetch test: test tracking fetch results, not just FETCH_HEAD
  Update draft release notes for 1.5.4.5


* The 'master' branch has these since the last announcement
  in addition to the above.

Dirk Süsserott (1):
  Documentation: git-tag '-m'/'-F' implies '-a'

Frank Lichtenheld (1):
  t9600-cvsimport.sh: set HOME before checking for cvsps availability

Gerrit Pape (1):
  imap-send: properly error out if imap.host is not set in config

Guanqun Lu (1):
  Fix the wrong output of `git-show v1.3.0~155^2~4` in documentation.

Johannes Schindelin (2):
  RelNotes: mention checkout/branch's --track option, too
  init: show "Reinit" message even in an (existing) empty repository

Johannes Sixt (1):
  builtin-remote: Fix missing newline at end of listing of pushed branches

Julian Phillips (1):
  Documentation/git-checkout: Update summary to reflect current abilities

Junio C Hamano (3):
  refspec: allow colon-less wildcard "refs/category/*"
  test_must_fail: 129 is a valid error code from usage()
  Update draft release notes for 1.5.5

SZEDER Gábor (1):
  Always set *nongit_ok in setup_git_directory_gently()

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-03-14  9:11                   ` Junio C Hamano
@ 2008-03-23 10:08                     ` Junio C Hamano
  2008-03-28  1:45                       ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-03-23 10:08 UTC (permalink / raw)
  To: git

With a few late topics came quite a few regression fixes to make us ready
for -rc1.

 * gitk, git-gui and git-p4 have been updated.

 * "git gc --auto" annoyance is hopefully reduced away.

 * Breakage in automated tag following by git-fetch rewritten in C has
   hopefully been fixed.

 * Quite a few portability improvements from Solaris porting efforts.

 * "git remote show" does not talk about symrefs anymore.

 * "git help" updates to plug in more backends.

 * "git submodule summary" to show symmetric differences between commits
   in submodules.

---

* The 'maint' branch has these fixes since the last announcement.

Bernt Hansen (1):
  git-new-workdir: Share SVN meta data between work dirs and the repository

Eric Wong (1):
  git-svn: don't blindly append '*' to branch/tags config

Jonas Fonseca (1):
  Make man page building quiet when DOCBOOK_XSL_172 is defined

Junio C Hamano (3):
  format-patch: generate MIME header as needed even when there is
    format.header
  rebase -m: do not trigger pre-commit verification
  Start draft ReleaseNotes for 1.5.4.5

Linus Torvalds (1):
  rev-parse: fix meaning of rev~ vs rev~0.


* The 'master' branch has these since the last announcement
  in addition to the above.

Alex Riesen (1):
  git-gui: update russian translation

Brandon Casey (2):
  builtin-gc.c: allow disabling all auto-gc'ing by assigning 0 to gc.auto
  t/t7003-filter-branch.sh: use test_must_fail rather than '!'

Christian Couder (5):
  help: add "man.viewer" config var to use "woman" or "konqueror"
  Documentation: help: describe 'man.viewer' config variable
  help: implement multi-valued "man.viewer" config option
  Documentation: help: explain 'man.viewer' multiple values
  help: warn if specified 'man.viewer' is unsupported, instead of erroring
    out

Daniel Barkalow (4):
  Write diff output to a file in struct diff_options
  Tighten refspec processing
  Fix t3200 config
  Fix tag following

David Aguilar (1):
  gitk: Don't show local changes when we there is no work tree

Eyvind Bernhardsen (2):
  fast-import: Allow "reset" to delete a new branch without error
  fast-import: Document the effect of "merge" with no "from" in a commit

Jeff King (15):
  gitk: make autoselect optional
  tr portability fixes
  t0050: perl portability fix
  more tr portability test script fixes
  grep portability fix: don't use "-e" or "-q"
  remove use of "tail -n 1" and "tail -1"
  add test_cmp function for test scripts
  t4020: don't use grep -a
  t6000lib: tr portability fix
  add NO_EXTERNAL_GREP build option
  filter-branch: don't use xargs -0
  filter-branch: use $SHELL_PATH instead of 'sh'
  t9112: add missing #!/bin/sh header
  t7505: use SHELL_PATH in hook
  t6000lib: re-fix tr portability

Johannes Schindelin (1):
  remote show: do not show symbolic refs

Johannes Sixt (1):
  git-submodule summary: fix that some "wc" flavors produce leading spaces

Jonas Fonseca (1):
  shortlog: do not require to run from inside a git repository

Junio C Hamano (15):
  Makefile: DIFF_OBJS is not special at all these days
  Makefile: flatten enumeration of headers, objects and programs
  Documentation/git-help: typofix
  Redo "add test_cmp function for test scripts"
  git-gui: Improve directions regarding POT update in po/README
  Resurrect git-rerere to contrib/examples
  Update draft release notes for 1.5.5
  t1000: use "test_must_fail git frotz", not "! git frotz"
  git-merge-one-file: fix longstanding stupid thinko
  Test: catch if trash cannot be removed
  Add tests to catch problems with un-unlinkable symlinks
  Fix read-tree not to discard errors
  remote.c: Fix overtight refspec validation
  gc --auto: raise default auto pack limit from 20 to 50
  GIT 1.5.5-rc1

Kevin Ballard (4):
  Add --reverse to the git-rev-list usage string
  Document the sendemail.smtpserverport config variable
  Don't try and percent-escape existing percent escapes in git-svn URIs
  Make git-svn tests behave better on OS X

Kristian Høgsberg (1):
  wt-status.c: no need for dup() dance anymore

Linus Torvalds (4):
  Fix recent 'unpack_trees()'-related changes breaking 'git stash'
  Don't update unchanged merge entries
  Fix possible Solaris problem in 'checkout_entry()'
  Make revision limiting more robust against occasional bad commit dates

Marius Storm-Olsen (1):
  git-p4: Optimize the fetching of data from perforce.

Michele Ballabio (4):
  gitk: Mark another string for translation
  git-gui: update Italian translation
  gitk: initial Italian translation
  git-gui: remove spurious "fuzzy" attributes in po/it.po

Miklos Vajna (3):
  Update Hungarian translation. 100% completed.
  git-gui: Updated Hungarian translation (e5fba18)
  Documentation/git-merge: document subtree strategy.

Nanako Shiraishi (2):
  git-gui: Update Japanese translation
  git-gui: Update Japanese translation

Nicolas Pitre (1):
  make it easier for people who just want to get rid of 'git gc --auto'

Paul Mackerras (3):
  gitk: Only restore window size from ~/.gitk, not position
  gitk: Avoid Tcl error when switching views
  gitk: Default to using po2msg.sh if msgfmt doesn't grok --tcl, -l and -d

Pekka Kaitaniemi (1):
  gitk: Add horizontal scrollbar to the diff view

Peter Karlsson (2):
  git-gui: Regenerated po template and merged translations with it
  git-gui: updated Swedish translation

Ping Yin (5):
  git-submodule summary: code framework
  git-submodule summary: show commit summary
  git-submodule summary: limit summary size
  git-submodule summary: documentation
  git-submodule summary: test

Ralf Wildenhues (1):
  Improve description of git filter-branch.

Shawn Bohrer (2):
  git-p4: Unset P4DIFF environment variable when using 'p4 -du diff'
  git-p4: Use P4EDITOR environment variable when set

Shawn O. Pearce (2):
  git-gui: Don't translate the special Apple menu
  git-gui: Adjusted Japanese translation to updated POT

Yann Dirson (1):
  Add an --argscmd flag to get the list of refs to show

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-03-09 10:46                 ` Junio C Hamano
@ 2008-03-14  9:11                   ` Junio C Hamano
  2008-03-23 10:08                     ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-03-14  9:11 UTC (permalink / raw)
  To: git

We still have remaining fixes and a handful backports (cherry-picks) from
'master' to 'maint', and we would probably need v1.5.4.5 shortly.

On the 'master' front, we have git-gui updates, more bash completion, and
a few recent graduates (rewrite of unpack_trees(), reimplementation of
git-remote).

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last announcement.

Andy Whitcroft (1):
  shortlog: take the first populated line of the description

Clemens Buchacher (1):
  merge-recursive: handle file mode changes

Jakub Narebski (1):
  gitweb: Fix bug in href(..., -replay=>1) when using 'pathinfo' form

Jeff King (1):
  t0021: tr portability fix for Solaris

Johannes Schindelin (3):
  launch_editor(): allow spaces in the filename
  git fetch: Take '-n' to mean '--no-tags'
  merge-file: handle empty files gracefully

Junio C Hamano (3):
  filter-branch: handle "disappearing tree" case correctly in subdir filter
  git-pull documentation: warn about the option order
  quiltimport: fix misquoting of parsed -p<num> parameter

Marc-Andre Lureau (2):
  git-svn: fix find-rev error message when missing arg
  git-cvsimport: fix merging with remote parent branch

Mike Hommey (1):
  git rebase --abort: always restore the right commit

Pierre Habouzit (1):
  git-quiltimport: better parser to grok "enhanced" series files.

Vineet Kumar (1):
  Minor wording changes in the keyboard descriptions in git-add
    --interactive.

----------------------------------------------------------------

* The 'master' branch has these since the last announcement
  in addition to the above.

Adam Piątyszek (1):
  git-gui: Add option for changing the width of the commit message text box

Christian Couder (2):
  web--browse: use custom commands defined at config time
  Documention: web--browse: add info about "browser.<tool>.cmd" config var

Johannes Schindelin (9):
  path-list: add functions to work with unsorted lists
  parseopt: add flag to stop on first non option
  Test "git remote show" and "git remote prune"
  Make git-remote a builtin
  builtin-remote: prune remotes correctly that were added with --mirror
  remote show: Clean up connection correctly if object fetch wasn't done
  remote: fix "update [group...]"
  builtin remote rm: remove symbolic refs, too
  gc: call "prune --expire 2.weeks.ago" by default

Junio C Hamano (6):
  merge-recursive: split low-level merge functions out.
  expose a helper function peel_to_type().
  traverse_trees_recursive(): propagate merge errors up
  git-gui: Simplify MSGFMT setting in Makefile
  Documentation/config: typofix
  read-tree() and unpack_trees(): use consistent limit

Kevin Ballard (1):
  bash: Properly quote the GIT_DIR at all times to fix subdirectory paths
    with spaces

Linus Torvalds (11):
  Add 'df_name_compare()' helper function
  Make 'traverse_tree()' use linked structure rather than 'const char
    *base'
  Add return value to 'traverse_tree()' callback
  Make 'traverse_trees()' traverse conflicting DF entries in parallel
  Move 'unpack_trees()' over to 'traverse_trees()' interface
  Fix tree-walking compare_entry() in the presense of --prefix
  Add 'const' where appropriate to index handling functions
  Make 'unpack_trees()' take the index to work on as an argument
  Make 'unpack_trees()' have a separate source and destination index
  unpack_trees(): minor memory leak fix in unused destination index
  unpack_trees(): fix diff-index regression.

Michal Rokos (1):
  autoconf: Test FREAD_READS_DIRECTORIES

Nicolas Pitre (1):
  pack-objects: proper pack time stamping with --max-pack-size

Philipp A. Hartmann (1):
  git-gui: if a background colour is set, set foreground colour as well

SZEDER Gábor (7):
  bash: remove unnecessary conditions when checking for subcommands
  bash: refactor searching for subcommands on the command line
  bash: add new 'git stash' subcommands
  bash: add 'git svn' subcommands and options
  bash: use __gitdir when completing 'git rebase' options
  bash: fix long option with argument double completion
  update 'git rebase' documentation

Samuel Tardieu (1):
  "remote update": print remote name being fetched from

Shawn O. Pearce (1):
  bash: Remove completion of core.legacyheaders option

Teemu Likonen (1):
  bash: Add more long options to be completed with "git --<TAB>"

eric miao (1):
  git-gui: translate the remaining messages in zh_cn.po to chinese

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-03-08 10:08               ` Junio C Hamano
@ 2008-03-09 10:46                 ` Junio C Hamano
  2008-03-14  9:11                   ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-03-09 10:46 UTC (permalink / raw)
  To: git

Maintenance release 1.5.4.4 is out with accumulated fixes.

Except for a few remaining topics ("remote rewritten in C", and "saner
unpack_trees"), 'master' is almost feature complete for 1.5.5 and we will
hopefully soon enter -rc freeze.

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last announcement.

Adeodato Simó (1):
  Really make the LF after reset in fast-import optional

Johannes Schindelin (1):
  cvsexportcommit: be graceful when "cvs status" reorders the arguments

Johannes Sixt (2):
  daemon: send more error messages to the syslog
  daemon: ensure that base-path is an existing directory

John Goerzen (1):
  Fix dcommit, rebase when rewriteRoot is in use

Junio C Hamano (2):
  Fix "git log --merge --left-right"
  GIT 1.5.4.4

Mike Hommey (1):
  Set proxy override with http_init()

Santi Béjar (1):
  ident.c: reword error message when the user name cannot be determined

Sebastian Noack (1):
  git-svn: Don't prompt for client cert password everytime.

----------------------------------------------------------------

* The 'master' branch has these since the last announcement
  in addition to the above.

Andy Whitcroft (1):
  shortlog: take the first populated line of the description

Carlos Rica (1):
  Make builtin-reset.c use parse_options.

Charles Bailey (2):
  git-mergetool documentaiton: show toolnames in typewriter font
  merge-tool documentation: describe custom command usage

Dmitry Potapov (2):
  Make private quote_path() in wt-status.c available as
    quote_path_relative()
  git-clean: correct printing relative path

Jakub Narebski (1):
  gitweb: Fix and simplify pickaxe search

Jeff King (1):
  Add a test for read-tree -u --reset with a D/F conflict

Junio C Hamano (10):
  describe --always: fall back to showing an abbreviated object name
  am: read from the right mailbox when started from a subdirectory
  am: remove support for -d .dotest
  am: --rebasing
  get_pathspec(): die when an out-of-tree path is given
  Revert part of 744dacd (builtin-mv: minimum fix to avoid losing files)
  Revert part of 1abf095 (git-add: adjust to the get_pathspec() changes)
  Revert part of d089eba (setup: sanitize absolute and funny paths in
    get_pathspec())
  git-clean: add tests for relative path
  filter-branch: handle "disappearing tree" case correctly in subdir filter

Mark Levedahl (1):
  git-submodule - Allow adding a submodule in-place

Michal Rokos (1):
  Add compat/snprintf.c for systems that return bogus

Pierre Habouzit (2):
  parse-opt: bring PARSE_OPT_HIDDEN and NONEG to git-rev-parse --parseopt
  parse-options: new option type to treat an option-like parameter as an
    argument.

Shawn O. Pearce (11):
  Remove unused variable in builtin-fetch find_non_local_tags
  Remove unnecessary delaying of free_refs(ref_map) in builtin-fetch
  Ensure tail pointer gets setup correctly when we fetch HEAD only
  Allow builtin-fetch's find_non_local_tags to append onto a list
  Free the path_lists used to find non-local tags in git-fetch
  Teach upload-pack to log the received need lines to an fd
  Make git-fetch follow tags we already have objects for sooner
  Teach git-fetch to grab a tag at the same time as a commit
  git-pack-objects: Automatically pack annotated tags if object was packed
  Teach fetch-pack/upload-pack about --include-tag
  Teach git-fetch to exploit server side automatic tag following


^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-03-06  6:02             ` Junio C Hamano
@ 2008-03-08 10:08               ` Junio C Hamano
  2008-03-09 10:46                 ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-03-08 10:08 UTC (permalink / raw)
  To: git

There are about half a dozen topics that need to be merged to 'maint'
before 1.5.4.4 can happen, which hopefully will be mid next week.  They
are already in 'master' and we haven't heard about breakages with them.

It would be really nice to also have msgfmt issue on OSX resolved (e.g.
http://article.gmane.org/gmane.comp.version-control.git/76355) before
that.

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last announcement.

Junio C Hamano (1):
  test-lib: fix TERM to dumb for test repeatability

Pierre Habouzit (1):
  unquote_c_style: fix off-by-one.

Shawn O. Pearce (1):
  git-gui: Gracefully fall back to po2msg.sh if msgfmt --tcl fails

Uwe Kleine-König (1):
  config.txt: refer to --upload-pack and --receive-pack instead of --exec


* The 'master' branch has these since the last announcement
  in addition to the above.

Alex Riesen (1):
  Do not use GUID on dir in git init --shared=all on FreeBSD

Brandon Casey (10):
  builtin-reflog.c: fix typo that accesses an unset variable
  reflog-delete: parse standard reflog options
  git-reflog: add option --rewrite to update reflog entries while expiring
  refs.c: make close_ref() and commit_ref() non-static
  git-reflog: add option --updateref to write the last reflog sha1 into the
    ref
  git-stash: add new 'drop' subcommand
  git-stash: add new 'pop' subcommand
  t3903-stash.sh: Add missing '&&' to body of testcase
  git-reflog.txt: Document new commands --updateref and --rewrite
  t3903-stash.sh: Add tests for new stash commands drop and pop

Charles Bailey (4):
  Tidy up git mergetool's backup file behaviour
  Changed an internal variable of mergetool to support custom commands
  Teach git mergetool to use custom commands defined at config time
  Add a very basic test script for git mergetool

Christian Couder (1):
  run-command: Redirect stderr to a pipe before redirecting stdout to
    stderr

Denis Cheng (3):
  whatchanged documentation: share description of --pretty with others
  specify explicit "--pretty=medium" with `git log/show/whatchanged`
  log/show/whatchanged: introduce format.pretty configuration

Johannes Schindelin (1):
  Teach "git reflog" a subcommand to delete single entries

Junio C Hamano (1):
  send-email: --no-signed-off-cc should suppress 'sob' cc


^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-03-03  2:06           ` Junio C Hamano
@ 2008-03-06  6:02             ` Junio C Hamano
  2008-03-08 10:08               ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-03-06  6:02 UTC (permalink / raw)
  To: git

I should probably do a 1.5.4.4 shortly from 'maint' to flush accumulated
fixes.  There is nothing major, but send-email regression fix deserves to
be delibered sooner to the end users.

On the 'master', we briefly had a faulty receive-pack to cause a small
pushes to fail, but that glitch has been reverted.  Also fixed was a
git-describe not quite working when your tags are packed (e.g. after
git-gc).

----------------------------------------------------------------
* The 'maint' branch has these fixes since the last announcement.

Björn Steinbrink (1):
  receive-pack: Initialize PATH to include exec-dir.

Gerrit Pape (1):
  git-merge.sh: better handling of combined --squash,--no-ff,--no-commit
    options

Jeff King (1):
  revert: actually check for a dirty index

Junio C Hamano (2):
  tests: introduce test_must_fail
  Update draft release notes for 1.5.4.4

Matthieu Moy (1):
  Fix incorrect wording in git-merge.txt.

Mike Hommey (1):
  Fix random crashes in http_cleanup()

Ping Yin (1):
  git-submodule: Fix typo 'url' which should be '$url'

Shawn O. Pearce (1):
  Fix 'git remote show' regression on empty repository in 1.5.4

----------------------------------------------------------------
* The 'master' branch has these since the last announcement
  in addition to the above.

Alex Riesen (1):
  Fix test for cleanup failure in t7300 on Windows

Junio C Hamano (8):
  Update draft release notes for 1.5.5
  git-describe: use tags found in packed-refs correctly
  describe: fix --long output
  describe: re-fix display_name()
  t6120 (describe): check --long properly
  Revert "receive-pack: use strict mode for unpacking objects"
  Revert "unpack-objects: prevent writing of inconsistent objects"
  fsck.c: fix bogus "empty tree" check

Martin Koegler (1):
  fetch-pack: check parse_commit/object results

Mike Hommey (1):
  t3407-rebase-abort.sh: Enhance existing tests, and add test for rebase
    --merge

SZEDER Gábor (2):
  bash: add git-branch options
  bash: git-branch -d and -m lists only local branches

Shawn O. Pearce (3):
  Don't allow git-describe failures to go unnoticed in t6120
  Test for packed tags in git-describe output
  Add git-describe test for "verify annotated tag names on output"

Simon Hausmann (1):
  git-p4: Fix import of changesets with file deletions


^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-02-28  0:43         ` Junio C Hamano
@ 2008-03-03  2:06           ` Junio C Hamano
  2008-03-06  6:02             ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-03-03  2:06 UTC (permalink / raw)
  To: git

The 'master' has, aside from trivial fixes and enhancements, the following
topics that have been cooking:

 * "verify-pack" improvements;

 * "describe" that warns about a tag whose name and path contradict;

 * "describe --long" to show an tagged commit as $tag-0-$sha1;

 * "cvsimport -M" can be given more than once;

 * "gitweb" grep-search improvements;

A handful of the topics are meant also for 'maint'; after seeing no
complaints for a while they will be merged to 'maint' as part of the next
maintenance release v1.5.4.4.

----------------------------------------------------------------
* The 'maint' branch has these fixes since the last announcement.

Daniel Barkalow (1):
  Correct name of diff_flush() in API documentation

Gerrit Pape (1):
  templates/Makefile: don't depend on local umask setting

Junio C Hamano (1):
  Start preparing for 1.5.4.4

Mike Ralphson (1):
  Documentation cherry-pick: Fix cut-and-paste error

Rémi Vanicat (1):
  git.el: find the git-status buffer whatever its name is

Shawn O. Pearce (1):
  git-gui: Paper bag fix info dialog when no files are staged at commit

----------------------------------------------------------------
* The 'master' branch has these since the last announcement
  in addition to the above.

Alex Riesen (1):
  Fix builtin checkout crashing when given an invalid path

Christian Stimming (2):
  git-gui: (i18n) Add newly added translation strings to template.
  git-gui: Update German translation.

Clemens Buchacher (2):
  http-push: push <remote> :<branch> deletes remote branch
  http-push: add regression tests

Daniel Barkalow (3):
  Always use the current connection's remote ref list in git protocol
  Use diff_tree() directly in making cover letter
  Write index file on any checkout of files

Denis Cheng (1):
  cleanup: remove unused git_checkout_config

Frank Lichtenheld (1):
  gc: Add --quiet option

Jakub Narebski (4):
  gitweb: Change parse_commits signature to allow for multiple options
  gitweb: Simplify fixed string search
  Documentation: Remove --{min,max}-age option from git-log(1)
  gitweb: Mark first match when searching commit messages

Jean-Luc Herren (1):
  fast-import: exit with proper message if not a git dir

Jeff King (3):
  use build-time SHELL_PATH in test scripts
  rename: warn user when we have turned off rename detection
  allow git-am to run in a subdirectory

Johannes Schindelin (4):
  completion: support format-patch's --cover-letter option
  Fix make_absolute_path() for parameters without a slash
  format-patch: use the diff options for the cover letter, too
  format-patch: wrap cover-letter's shortlog sensibly

Johannes Sixt (2):
  daemon: send more error messages to the syslog
  daemon: ensure that base-path is an existing directory

Junio C Hamano (11):
  git-remote: do not complain on multiple URLs for a remote
  Fix "git log --merge --left-right"
  format-patch: remove a leftover debugging message
  tests: introduce test_must_fail
  Update draft release notes for 1.5.5
  t6024: move "git reset" to prepare for a test inside the test itself
  CodingGuidelines: spell out how we use grep in our scripts
  find_unique_abbrev(): redefine semantics
  Clean up find_unique_abbrev() callers
  diff-lib.c: constness strengthening
  diff: make sure work tree side is shown as 0{40} when different

Martin Koegler (10):
  add generic, type aware object chain walker
  builtin-fsck: move away from object-refs to fsck_walk
  Remove unused object-ref code
  builtin-fsck: reports missing parent commits
  builtin-fsck: move common object checking code to fsck.c
  add common fsck error printing function
  unpack-object: cache for non written objects
  unpack-objects: prevent writing of inconsistent objects
  index-pack: introduce checking mode
  receive-pack: use strict mode for unpacking objects

Michele Ballabio (1):
  git-gui: fix typo in lib/spellcheck.tcl

Mike Hommey (4):
  Set proxy override with http_init()
  Add test for git rebase --abort
  Documentation/git-rebase.txt: Add --strategy to synopsys
  git rebase --abort: always restore the right commit

Miklos Vajna (1):
  Improve t6029 to check the real "subtree" case

Nicolas Pitre (4):
  factorize revindex code out of builtin-pack-objects.c
  make verify_one_pack() a bit less wrong wrt packed_git structure
  fix unimplemented packed_object_info_detail() features
  add storage size output to 'git verify-pack -v'

Petr Baudis (1):
  gitweb: Clearly distinguish regexp / exact match searches

Philippe Bruhat (BooK (3):
  cvsimport: have default merge regex allow for dashes in the branch name
  cvsimport: allow for multiple -M options
  cvsimport: document that -M can be used multiple times

Ralf Wildenhues (1):
  Fix doc typos.

Santi Béjar (2):
  git-describe: --long shows the object name even for a tagged commit
  clone: support cloning full bundles

Sebastian Noack (1):
  git-svn: Don't prompt for client cert password everytime.

Shawn O. Pearce (7):
  git-gui: Ensure all spellchecker 'class' variables are initialized
  git-gui: Remove explicit references to 'aspell' in message strings
  git-gui: Only bind the spellcheck popup suggestion hook once
  git-gui: Catch and display aspell startup failures to the user
  git-gui: Gracefully display non-aspell version errors to users
  git-gui: Shorten Aspell version strings to just Aspell version number
  Teach git-describe to verify annotated tag names before output

Uwe Kleine-König (1):
  rev-list: add --branches, --tags and --remotes


^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-02-25  8:42       ` Junio C Hamano
@ 2008-02-28  0:43         ` Junio C Hamano
  2008-03-03  2:06           ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-02-28  0:43 UTC (permalink / raw)
  To: git

For the next maintenance release v1.5.4.4, I made a few
cherry-picks from 'master' and also a merge down of a topic
branch that has been cooking there, to 'maint'.

On the 'master' front, many topics have been merged.  With a few
more topics that are still in 'next', we are pretty much done
feature-wise for the next feature release v1.5.5.

----------------------------------------------------------------
* The 'maint' branch has these fixes since the last announcement.

Brandon Casey (1):
  builtin-reflog.c: don't install new reflog on write failure

Bryan Donlan (1):
  Documentation/git-am.txt: Pass -r in the example invocation of rm -f
    .dotest

Caio Marcelo de Oliveira Filho (1):
  filter-branch documentation: non-zero exit status in command abort the
    filter

Carl Worth (1):
  Eliminate confusing "won't bisect on seeked tree" failure

Daniel Barkalow (2):
  Use a single implementation and API for copy_file()
  Don't use GIT_CONFIG in t5505-remote

Jay Soffian (2):
  rev-parse: fix potential bus error with --parseopt option spec handling
  send-email: fix In-Reply-To regression

Johan Herland (2):
  Add testcase for 'git cvsexportcommit -w $cvsdir ...' with relative
    $GIT_DIR
  Fix 'git cvsexportcommit -w $cvsdir ...' when used with relative $GIT_DIR

Johannes Schindelin (3):
  http-push: avoid invalid memory accesses
  http-push: do not get confused by submodules
  http-push: avoid a needless goto

Jonathan del Strother (1):
  Prompt to continue when editing during rebase --interactive

Miklos Vajna (2):
  Documentation/git-filter-branch: add a new msg-filter example
  Documentation/git svn log: add a note about timezones.

Steven Drake (1):
  timezone_names[]: fixed the tz offset for New Zealand.


----------------------------------------------------------------
* The 'master' branch has these since the last announcement
  in addition to the above.

Alexandre Julliard (1):
  git.el: Do not display empty directories.

Andreas Ericsson (1):
  pack-objects: Add runtime detection of online CPU's

Brandon Casey (2):
  builtin-reflog.c: don't install new reflog on write failure
  pack-objects: Print a message describing the number of threads for packing

Carl Worth (1):
  Eliminate confusing "won't bisect on seeked tree" failure

Daniel Barkalow (26):
  Allow callers of unpack_trees() to handle failure
  Add flag to make unpack_trees() not print errors.
  Send unpack-trees debugging output to stderr
  Discard "deleted" cache entries after using them to update the working tree
  Add "skip_unmerged" option to unpack_trees.
  Build-in merge-recursive
  Move create_branch into a library file
  Use diff -u instead of diff in t7201
  Library function to check for unmerged index entries
  Move code to clean up after a branch change to branch.c
  Build in checkout
  Clean up reporting differences on branch switch
  Add more tests for format-patch
  Improve message-id generation flow control for format-patch
  Export some email and pretty-printing functions
  Use ALLOC_GROW in remote.{c,h}
  Add a --cover-letter option to format-patch
  Add tests for extra headers in format-patch
  Fix format.headers not ending with a newline
  Combine To: and Cc: headers
  Support a --cc=<email> option in format-patch
  Resolve value supplied for no-colon push refspecs
  builtin-checkout.c: Remove unused prefix arguments in switch_branches path
  Add support for url aliases in config files
  Add API access to shortlog
  Improve collection of information for format-patch --cover-letter

Gerrit Pape (1):
  hash-object: cleanup handling of command line options

Jakub Narebski (2):
  gitweb: Better cutting matched string and its context
  Add '--fixed-strings' option to "git log --grep" and friends

Jay Soffian (3):
  builtin-checkout.c: fix possible usage segfault
  branch: optionally setup branch.*.merge from upstream local branches
  doc: documentation update for the branch track changes

Jeff King (3):
  help: use parseopt
  make alias lookup a public, procedural function
  help: respect aliases

Jim Meyering (1):
  Avoid unnecessary "if-before-free" tests.

Johannes Schindelin (2):
  xdl_merge(): make XDL_MERGE_ZEALOUS output simpler
  xdl_merge(): introduce XDL_MERGE_ZEALOUS_ALNUM

Johannes Sixt (2):
  start_command(), .in/.out/.err = -1: Callers must close the file descriptor
  start_command(), if .in/.out > 0, closes file descriptors, not the callers

Junio C Hamano (12):
  diff --relative: output paths as relative to the current subdirectory
  diff --relative: help working in a bare repository
  checkout: notice when the switched branch is behind or forked
  checkout: tone down the "forked status" diagnostic messages
  checkout: work from a subdirectory
  checkout: updates to tracking report
  Add merge-subtree back
  checkout: show progress when checkout takes long time while switching
    branches
  checkout: error out when index is unmerged even with -m
  url rewriting: take longest and first match
  git-apply --whitespace=fix: fix off by one thinko
  Revert "pack-objects: Print a message describing the number of threads
    for packing"

Sebastian Noack (1):
  git-svn: Don't prompt for client cert password everytime.

Shawn O. Pearce (5):
  Optimize peel_ref for the current ref of a for_each_ref callback
  Teach git-describe to use peeled ref information when scanning tags
  Avoid accessing non-tag refs in git-describe unless --all is requested
  Teach git-describe --exact-match to avoid expensive tag searches
  Use git-describe --exact-match in bash prompt on detached HEAD

Simon Hausmann (4):
  git-p4: Remove --log-substitutions feature.
  git-p4: Clean up git-p4 submit's log message handling.
  git-p4: Removed git-p4 submit --direct.
  git-p4: git-p4 submit cleanups.

Steffen Prohaska (2):
  t4014: Replace sed's non-standard 'Q' by standard 'q'
  Add tests for filesystem challenges (case and unicode normalization)

Tommy Thorn (1):
  git-p4: support exclude paths

Tor Arvid Lund (1):
  git-p4: Support usage of perforce client spec

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-02-21  4:16     ` Junio C Hamano
@ 2008-02-25  8:42       ` Junio C Hamano
  2008-02-28  0:43         ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-02-25  8:42 UTC (permalink / raw)
  To: git

By the end of this week, we will hopefully pretty much know what
will be (and what won't be) in 1.5.5.  Tonight's 'master'
contains Linus's "diff --dirstat" and my "apply ---whitespace"
enhancements, among other things.  The next 'master' update is
expected to be fairly big (see "What's cooking").

----------------------------------------------------------------

* The 'maint' branch has these fixes since v1.5.4.3

Shawn O. Pearce (3):
  Ensure 'make dist' compiles git-archive.exe on Cygwin
  Protect peel_ref fallback case from NULL parse_object result
  Correct fast-export file mode strings to match fast-import standard

----------------------------------------------------------------

* The 'master' branch has these since the last announcement
  in addition to the above.

Gerrit Pape (2):
  git-merge-index documentation: clarify synopsis
  builtin-tag.c: remove cruft

Jakub Narebski (1):
  gitweb: Fix bugs in git_search_grep_body: it's length(), not len()

Jay Soffian (2):
  send-email: fix In-Reply-To regression
  pull: pass --strategy along to to rebase

Jeff King (5):
  git_config_*: don't assume we are parsing a config file
  t3404: use configured shell instead of /bin/sh
  diff: fix java funcname pattern for solaris
  t9001: enhance fake sendmail test harness
  send-email: test compose functionality

Johannes Sixt (1):
  prefix_path: use is_absolute_path() instead of *orig == '/'

Junio C Hamano (18):
  builtin-apply.c: refactor small part that matches context
  builtin-apply.c: restructure "offset" matching
  builtin-apply.c: push match-beginning/end logic down
  builtin-apply.c: make it more line oriented
  builtin-apply.c: optimize match_beginning/end processing a bit.
  builtin-apply.c: mark common context lines in lineinfo structure.
  builtin-apply.c: clean-up apply_one_fragment()
  builtin-apply.c: simplify calling site to apply_line()
  builtin-apply.c: do not feed copy_wsfix() leading '+'
  builtin-apply.c: move copy_wsfix() function a bit higher.
  builtin-apply.c: pass ws_rule down to match_fragment()
  git-apply --whitespace=fix: fix whitespace fuzz introduced by previous
    run
  core.whitespace: cr-at-eol
  apply: do not barf on patch with too large an offset
  git-reset --hard and git-read-tree --reset: fix read_cache_unmerged()
  gitweb: Better chopping in commit search results
  ws_fix_copy(): move the whitespace fixing function to ws.c
  diff --dirstat: saner handling of binary and unmerged files

Linus Torvalds (5):
  Add "--dirstat" for some directory statistics
  Fix name re-hashing semantics
  Name hash fixups: export (and rename) remove_hash_entry
  Use helper function for copying index entry information
  Be more verbose when checkout takes a long time

Michele Ballabio (1):
  builtin-for-each-ref.c: fix typo in error message

Miklos Vajna (1):
  git-clean: handle errors if removing files fails

Santi Béjar (1):
  git-bundle.txt: Add different strategies to create the bundle

Shawn O. Pearce (1):
  Teach git-grep --name-only as synonym for -l

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-02-17  3:56   ` What's in git.git (stable) Junio C Hamano
  2008-02-17 13:39     ` Jakub Narebski
@ 2008-02-21  4:16     ` Junio C Hamano
  2008-02-25  8:42       ` Junio C Hamano
  1 sibling, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-02-21  4:16 UTC (permalink / raw)
  To: git

With a handful of fixes and RPM specfile updates, we would
probably want to do 1.5.4.3 in a week or so from 'maint'.

A handful of new topics are now on 'master', and the ones still
on 'next' are maturing with necessary fixes.  I think we have
enough material for 1.5.5 when they graduate, and I am hoping to
do an rc1 sometime early to mid next month.  We'll see.

* The 'maint' branch has these fixes since the last announcement.

Gerrit Pape (1):
  git-clone.sh: properly configure remote even if remote's head is dangling

Jay Soffian (1):
  send-email: squelch warning due to comparing undefined $_ to ""

Jeff King (3):
  push: indicate partialness of error message
  Documentation/push: clarify matching refspec behavior
  push: document the status output

Junio C Hamano (1):
  GIT 1.5.4.2

Kristian Høgsberg (1):
  Rename git-core rpm to just git and rename the meta-pacakge to git-all.

Miklos Vajna (1):
  Documentation/git-stash: document options for git stash list

Pekka Kaitaniemi (1):
  Clarified the meaning of git-add -u in the documentation


* The 'master' branch has these since the last announcement
  in addition to the above.

Brandon Casey (1):
  Add compat/fopen.c which returns NULL on attempt to open directory

Bruno Ribas (1):
  gitweb: Use the config file to set repository owner's name.

Christian Couder (1):
  help.c: use 'git_config_string' to get 'help_default_format'.

Daniel Barkalow (1):
  API documentation for remote.h

David Kågedal (1):
  git.el: Set process-environment instead of invoking env

Jakub Narebski (3):
  gitweb: Fix displaying unchopped argument in chop_and_escape_str
  gitweb: Add new option -nohtml to quot_xxx subroutines
  gitweb: Fix bug in href(..., -replay=>1) when using 'pathinfo' form

Jay Soffian (1):
  Correct git-pull documentation

Jeff King (2):
  hard-code the empty tree object
  add--interactive: handle initial commit better

Johannes Schindelin (5):
  http-push: avoid invalid memory accesses
  http-push: do not get confused by submodules
  http-push: avoid a needless goto
  bisect view: check for MinGW32 and MacOSX in addition to X11
  cvsexportcommit: be graceful when "cvs status" reorders the arguments

Johannes Sixt (1):
  Technical documentation of the run-command API.

Junio C Hamano (5):
  setup: sanitize absolute and funny paths in get_pathspec()
  git-add: adjust to the get_pathspec() changes.
  builtin-mv: minimum fix to avoid losing files
  Sync with 1.5.4.2 and start 1.5.5 Release Notes
  sending errors to stdout under $PAGER

Lars Hjemli (1):
  Simplify setup of $GIT_DIR in git-sh-setup.sh

Linus Torvalds (1):
  Add "--show-all" revision walker flag for debugging

Marco Costalba (1):
  Avoid a useless prefix lookup in strbuf_expand()

Martin Koegler (15):
  deref_tag: handle return value NULL
  deref_tag: handle tag->tagged = NULL
  check return code of prepare_revision_walk
  read_object_with_reference: don't read beyond the buffer
  get_sha1_oneline: check return value of parse_object
  mark_blob/tree_uninteresting: check for NULL
  reachable.c::add_one_tree: handle NULL from lookup_tree
  list-objects.c::process_tree/blob: check for NULL
  check results of parse_commit in merge_bases
  process_tag: handle tag->tagged == NULL
  reachable.c::process_tree/blob: check for NULL
  revision.c: handle tag->tagged == NULL
  parse_commit: don't fail, if object is NULL
  check return value from parse_commit() in various functions
  peel_onion: handle NULL

Matthias Kestenholz (1):
  Add color.ui variable which globally enables colorization if set

Robin Rosenberg (1):
  Make blame accept absolute paths

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2008-02-18  3:12                 ` Junio C Hamano
@ 2008-02-18 11:15                   ` Jeff King
  0 siblings, 0 replies; 262+ messages in thread
From: Jeff King @ 2008-02-18 11:15 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Johannes Schindelin, Jakub Narebski, git

On Sun, Feb 17, 2008 at 07:12:53PM -0800, Junio C Hamano wrote:

> Jeff King <peff@peff.net> writes:
> 
> > .... This is in contrast to the
> > current 'master' and v1.5.4, which discard the cache _three_ times
> > during the status process.
> 
> The current 'master' meaning before 959ba67 (commit: discard
> index after setting up partial commit), right?

Heh. Yes. The current 'master' meaning 'the current master when I wrote
that patch.' :)

-Peff

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2008-02-18  1:43               ` Jeff King
  2008-02-18  2:05                 ` Johannes Schindelin
@ 2008-02-18  3:12                 ` Junio C Hamano
  2008-02-18 11:15                   ` Jeff King
  1 sibling, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-02-18  3:12 UTC (permalink / raw)
  To: Jeff King; +Cc: Johannes Schindelin, Jakub Narebski, git

Jeff King <peff@peff.net> writes:

> .... This is in contrast to the
> current 'master' and v1.5.4, which discard the cache _three_ times
> during the status process.

The current 'master' meaning before 959ba67 (commit: discard
index after setting up partial commit), right?

I've been hoping that when this turns out to be Ok it would be
worth cherry-picking to 'maint' before 1.5.4.3.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2008-02-18  1:43               ` Jeff King
@ 2008-02-18  2:05                 ` Johannes Schindelin
  2008-02-18  3:12                 ` Junio C Hamano
  1 sibling, 0 replies; 262+ messages in thread
From: Johannes Schindelin @ 2008-02-18  2:05 UTC (permalink / raw)
  To: Jeff King; +Cc: Junio C Hamano, Jakub Narebski, git

Hi,

On Sun, 17 Feb 2008, Jeff King wrote:

> On Mon, Feb 18, 2008 at 01:34:50AM +0000, Johannes Schindelin wrote:
> 
> > Well, my workflow has lots of these moments.  I do not even feel "oops" 
> > about it.  More like "by the way, this needs committing _now_".
> > 
> > So I guess I'll be the guinea pig for this patch, and if it is too 
> > painful, I'll just go and fix it.
> 
> Just to be clear, this patch discards the cache after preparing the
> partial index but before doing the status. This is in contrast to the
> current 'master' and v1.5.4, which discard the cache _three_ times
> during the status process.

... but then goes through big pains to reconstruct an index that needs as 
little updating as possible.

> So no, the performance will probably not be a big deal. It is better 
> than it has been in any released version of git.

I'll see, and report back.

IOW I think that your patch is necessary.  There might be some followup 
work to do for me, but at the moment, your patch fixes an existing bug.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2008-02-18  1:34             ` Johannes Schindelin
@ 2008-02-18  1:43               ` Jeff King
  2008-02-18  2:05                 ` Johannes Schindelin
  2008-02-18  3:12                 ` Junio C Hamano
  0 siblings, 2 replies; 262+ messages in thread
From: Jeff King @ 2008-02-18  1:43 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Junio C Hamano, Jakub Narebski, git

On Mon, Feb 18, 2008 at 01:34:50AM +0000, Johannes Schindelin wrote:

> Well, my workflow has lots of these moments.  I do not even feel "oops" 
> about it.  More like "by the way, this needs committing _now_".
> 
> So I guess I'll be the guinea pig for this patch, and if it is too 
> painful, I'll just go and fix it.

Just to be clear, this patch discards the cache after preparing the
partial index but before doing the status. This is in contrast to the
current 'master' and v1.5.4, which discard the cache _three_ times
during the status process.

So no, the performance will probably not be a big deal. It is better
than it has been in any released version of git.

-Peff

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2008-02-18  1:31           ` Junio C Hamano
@ 2008-02-18  1:34             ` Johannes Schindelin
  2008-02-18  1:43               ` Jeff King
  0 siblings, 1 reply; 262+ messages in thread
From: Johannes Schindelin @ 2008-02-18  1:34 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Jakub Narebski, git

Hi,

On Sun, 17 Feb 2008, Junio C Hamano wrote:

> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> 
> > On Sun, 17 Feb 2008, Junio C Hamano wrote:
> >
> >> The more fundamental improvement was along the lines of what I suggested 
> >> soon after Kristian's initial round was posted, but what the current 
> >> code does is not wrong nor hack.  It is about a partial commit after all 
> >> and is not performance critical either.
> >
> > You mean: at this point, it is not necessary to be careful about the 
> > index, as the index that will be reloaded will already have the most 
> > recent timestamps, right?
> 
> I do not understand the question, but if you are referring to my "not 
> performance critical", I meant: "A partial commit is never performance 
> critical".
> 
> A partial commit is by its nature "oops, I earlier told you to git add 
> this and git add that but I did not mean that, eh, I do mean it but not 
> for this commit yet, sorry, I want to commit changes to these paths 
> first please and then I'll deal with the earlier added paths in later 
> commit perhaps.", i.e. very interactive.  Its performance requirement is 
> unlike an automated script slurping hundreds of changes per minute 
> applying exactly the change it wants in each commit to the index and 
> making commits in rapid succession.

Well, my workflow has lots of these moments.  I do not even feel "oops" 
about it.  More like "by the way, this needs committing _now_".

So I guess I'll be the guinea pig for this patch, and if it is too 
painful, I'll just go and fix it.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2008-02-17 20:51         ` Johannes Schindelin
@ 2008-02-18  1:31           ` Junio C Hamano
  2008-02-18  1:34             ` Johannes Schindelin
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-02-18  1:31 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Jakub Narebski, git

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

> On Sun, 17 Feb 2008, Junio C Hamano wrote:
>
>> The more fundamental improvement was along the lines of what I suggested 
>> soon after Kristian's initial round was posted, but what the current 
>> code does is not wrong nor hack.  It is about a partial commit after all 
>> and is not performance critical either.
>
> You mean: at this point, it is not necessary to be careful about the 
> index, as the index that will be reloaded will already have the most 
> recent timestamps, right?

I do not understand the question, but if you are referring to my
"not performance critical", I meant: "A partial commit is
never performance critical".

A partial commit is by its nature "oops, I earlier told you to
git add this and git add that but I did not mean that, eh, I do
mean it but not for this commit yet, sorry, I want to commit
changes to these paths first please and then I'll deal with the
earlier added paths in later commit perhaps.", i.e. very
interactive.  Its performance requirement is unlike an automated
script slurping hundreds of changes per minute applying exactly
the change it wants in each commit to the index and making
commits in rapid succession.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2008-02-17 20:45       ` Junio C Hamano
@ 2008-02-17 20:51         ` Johannes Schindelin
  2008-02-18  1:31           ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Johannes Schindelin @ 2008-02-17 20:51 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Jakub Narebski, git

Hi,

On Sun, 17 Feb 2008, Junio C Hamano wrote:

> Jakub Narebski <jnareb@gmail.com> writes:
> 
> >>   commit: discard index after setting up partial commit
> >
> > IIRC there was also request for proper solution; this was more a hack.
> 
> It is not a hack at all.
> 
> The more fundamental improvement was along the lines of what I suggested 
> soon after Kristian's initial round was posted, but what the current 
> code does is not wrong nor hack.  It is about a partial commit after all 
> and is not performance critical either.

You mean: at this point, it is not necessary to be careful about the 
index, as the index that will be reloaded will already have the most 
recent timestamps, right?

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2008-02-17 13:39     ` Jakub Narebski
@ 2008-02-17 20:45       ` Junio C Hamano
  2008-02-17 20:51         ` Johannes Schindelin
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2008-02-17 20:45 UTC (permalink / raw)
  To: Jakub Narebski; +Cc: git

Jakub Narebski <jnareb@gmail.com> writes:

>>   commit: discard index after setting up partial commit
>
> IIRC there was also request for proper solution; this was more a hack.

It is not a hack at all.

The more fundamental improvement was along the lines of what I
suggested soon after Kristian's initial round was posted, but
what the current code does is not wrong nor hack.  It is about a
partial commit after all and is not performance critical either.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2008-02-17  3:56   ` What's in git.git (stable) Junio C Hamano
@ 2008-02-17 13:39     ` Jakub Narebski
  2008-02-17 20:45       ` Junio C Hamano
  2008-02-21  4:16     ` Junio C Hamano
  1 sibling, 1 reply; 262+ messages in thread
From: Jakub Narebski @ 2008-02-17 13:39 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Junio C Hamano <gitster@pobox.com> writes:

> On the 'master' front, a handful topics have graduated:
> 
>  - Brian Downing's compat/qsort;
>  - Crhstian Couder's browser wrapper;
>  - Paolo Bonzini's prepare-commit-msg hook;
>  - Steffen Prohaska's safe-crlf;
>  - "foo/" in .gitignore matches directory "foo".

Nice.

> Daniel Barkalow (1):
>   Validate nicknames of remote branches to prohibit confusing ones

Good one.

> Jeff King (2):
>   status: suggest "git rm --cached" to unstage for initial commit

Corner case, but good one.

>   commit: discard index after setting up partial commit

IIRC there was also request for proper solution; this was more a hack.

-- 
Jakub Narebski
Poland
ShadeHawk on #git

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2008-02-12  7:25 ` What's in git.git Junio C Hamano
@ 2008-02-17  3:56   ` Junio C Hamano
  2008-02-17 13:39     ` Jakub Narebski
  2008-02-21  4:16     ` Junio C Hamano
  0 siblings, 2 replies; 262+ messages in thread
From: Junio C Hamano @ 2008-02-17  3:56 UTC (permalink / raw)
  To: git

I'll hopefully soon apply the RPM spec patch from Kristian
Høgsberg to 'maint' and cut 1.5.4.2.  It will have bunch of
config parser related fixes among others.

On the 'master' front, a handful topics have graduated:

 - Brian Downing's compat/qsort;
 - Crhstian Couder's browser wrapper;
 - Paolo Bonzini's prepare-commit-msg hook;
 - Steffen Prohaska's safe-crlf;
 - "foo/" in .gitignore matches directory "foo".

Also, updated versions of gitk and git-gui are included.

Have fun.

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last announcement.

Christian Couder (8):
  config: add test cases for empty value and no value config variables.
  diff.c: replace a 'strdup' with 'xstrdup'.
  diff.c: remove useless check for value != NULL
  config: add 'git_config_string' to refactor string config variables.
  Add "const" qualifier to "char *pager_program".
  Add "const" qualifier to "char *editor_program".
  Add "const" qualifier to "char *excludes_file".
  diff.c: add "const" qualifier to "char *cmd" member of "struct
    ll_diff_driver"

Daniel Barkalow (1):
  Validate nicknames of remote branches to prohibit confusing ones

Gerrit Pape (1):
  cvsimport: have default merge regex also match beginning of commit
    message

Jay Soffian (1):
  mailinfo: feed only one line to handle_filter() for QP input

Jeff King (2):
  status: suggest "git rm --cached" to unstage for initial commit
  commit: discard index after setting up partial commit

Johannes Schindelin (1):
  bisect: use verbatim commit subject in the bisect log

Johannes Sixt (1):
  upload-pack: Initialize the exec-path.

Junio C Hamano (6):
  Revert "pack-objects: only throw away data during memory pressure"
  Protect get_author_ident_from_commit() from filenames in work tree
  diff.c: fixup garding of config parser from value=NULL
  diff: Fix miscounting of --check output
  filter-branch: handle filenames that need quoting
  Documentation/git-reset:

Miklos Vajna (1):
  git clone -s documentation: force a new paragraph for the NOTE

Pieter de Bie (2):
  Documentation/git-reset: don't mention --mixed for selected-paths reset
  Documentation/git-reset: Add an example of resetting selected paths

Sergei Organov (1):
  git-cvsimport.txt: fix '-M' description.

Shawn O. Pearce (1):
  fast-import: check return value from unpack_entry()

Stelian Pop (1):
  hg-to-git: fix parent analysis

----------------------------------------------------------------

* The 'master' branch has these since the last announcement
  in addition to the above.

Brian Downing (1):
  compat: Add simplified merge sort implementation from glibc

Christian Couder (7):
  help: make 'git-help--browse' usable outside 'git-help'.
  help--browse: add '--config' option to check a config option for a
    browser.
  Rename 'git-help--browse.sh' to 'git-web--browse.sh'.
  instaweb: use 'git-web--browse' to launch browser.
  Documentation: instaweb: add 'git-web--browse' information.
  web--browse: Add a few quotes in 'init_browser_path'.
  Documentation: add 'git-web--browse.txt' and simplify other docs.

Christian Stimming (2):
  git-gui: (i18n) Fix a bunch of still untranslated strings.
  git-gui: Update German translation.

Dmitry Potapov (1):
  git-web--browse: do not start the browser with nohup

Gerrit Pape (1):
  gitk: properly deal with tag names containing / (slash)

Jay Soffian (3):
  git-gui: support Git Gui.app under OS X 10.5
  git-help--browse: improve browser support under OS X
  git-web--browse: fix misplaced quote in init_browser_path()

Jeff King (2):
  allow suppressing of global and system config
  fix config reading in tests

Johan Herland (2):
  Add testcase for 'git cvsexportcommit -w $cvsdir ...' with relative
    $GIT_DIR
  Fix 'git cvsexportcommit -w $cvsdir ...' when used with relative $GIT_DIR

Johannes Schindelin (1):
  Adjust .gitignore for 5884f1(Rename 'git-help--browse.sh'...)

Johannes Sixt (1):
  gitk: Heed the lines of context in merge commits

Junio C Hamano (7):
  Documentation/SubmittingPatches: Instruct how to use [PATCH] Subject
    header
  Documentation/SubmittingPatches: discuss first then submit
  Documentation/SubmittingPatches: What's Acked-by and Tested-by?
  gitignore(5): Allow "foo/" in ignore list to match directory "foo"
  gitignore: lazily find dtype
  .mailmap: adjust to a recent patch application glitch.
  Documentation/SubmittingPatches - a suggested patch flow

Linus Torvalds (1):
  gitk: learn --show-all output

Michele Ballabio (1):
  gitk: Fix "Key bindings" message

Paolo Bonzini (4):
  git-commit: support variable number of hook arguments
  git-commit: set GIT_EDITOR=: if editor will not be launched
  git-commit: Refactor creation of log message.
  git-commit: add a prepare-commit-msg hook

Shawn O. Pearce (7):
  git-gui: Automatically spell check commit messages as the user types
  git-gui: Paper bag fix bad string length call in spellchecker
  git-gui: Correct size of dictionary name widget in options dialog
  Include annotated tags in fast-import crash reports
  Include the fast-import marks table in crash reports
  Finish current packfile during fast-import crash handler
  Update fast-import documentation to discuss crash reports

Steffen Prohaska (2):
  safecrlf: Add mechanism to warn about irreversible crlf conversions
  gitk: Add checkbutton to ignore space changes

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
@ 2008-01-14  1:53 Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2008-01-14  1:53 UTC (permalink / raw)
  To: git

* The 'master' branch has these since v1.5.4-rc3

Eric Wong (1):
  git-svn: handle leading/trailing whitespace from svnsync revprops

Jeff King (1):
  git-clean: fix off-by-one memory access when given no arguments

Junio C Hamano (1):
  builtin-commit.c: remove useless check added by faulty cut and paste

Linus Torvalds (1):
  Fix performance regression for partial commits

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-12-07  9:50                     ` Junio C Hamano
@ 2007-12-09 10:32                       ` Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-12-09 10:32 UTC (permalink / raw)
  To: git

One more topic remains in 'next' before 1.5.4-rc0 where "bugfix only"
freeze period begins.  We have a handful regression fixes on 'master'
from the fallout from massive C-rewrite during this cycle.

People still following 'next' are requested to switch to 'master', and
spare a bit more time on finding and fixing regressions there instead of
coming up with new topics from now on.

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last announcement.

Jim Meyering (1):
  config.c:store_write_pair(): don't read the byte before a malloc'd
    buffer.

----------------------------------------------------------------

* The 'master' branch has these since the last announcement
  in addition to the above.

Jeff King (3):
  wt-status.c:quote_path(): convert empty path to "./"
  add status.relativePaths config variable
  git-status: documentation improvements

Junio C Hamano (13):
  War on whitespace: first, a bit of retreat.
  git-diff: complain about >=8 consecutive spaces in initial indent
  core.whitespace: add test for diff whitespace error highlighting
  builtin-apply: rename "whitespace" variables and fix styles
  builtin-apply: teach whitespace_rules
  core.whitespace: documentation updates.
  Use gitattributes to define per-path whitespace rule
  git-bisect visualize: work in non-windowed environments better
  mailmap: fix bogus for() loop that happened to be safe by accident
  shortlog: code restructuring and clean-up
  ls-remote: resurrect pattern limit support
  Fix commit-msg hook to allow editing
  Re-fix "builtin-commit: fix --signoff"

Nicolas Pitre (3):
  pack-objects: fix delta cache size accounting
  pack-objects: reverse the delta search sort list
  pack-objects: fix threaded load balancing

Pini Reznik (1):
  Open external merge tool with original file extensions for all three
    files

Sergei Organov (1):
  Let git-help prefer man-pages installed with this version of git

Wincent Colaiuta (4):
  Teach "git add -i" to colorize whitespace errors
  Allow --no-verify to bypass commit-msg hook
  Documentation: fix --no-verify documentation for "git commit"
  Add tests for pre-commit and commit-msg hooks

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-12-05 10:57                   ` Junio C Hamano
@ 2007-12-07  9:50                     ` Junio C Hamano
  2007-12-09 10:32                       ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-12-07  9:50 UTC (permalink / raw)
  To: git

Heavy merges to 'master' continues.  We are almost there for -rc0.
Merged to 'master' are:

 * Colorized "add -i" (Dan Zwell)
 * Talk more about diff options in "git log" documentation (Miklos)
 * git-gui 0.9.1 preview
 * Make cvsserver act more like receive-pack (Michael Witten)
 * "git-clean <paths>" limits the damage to named paths
 * Use right Perl in Documentation/Makefile

Also people's favorite topic "squelching compilation warnings for iconv"
is included.

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last announcement.

David Symonds (1):
  Change from using email.com to example.com as example domain, as per RFC
    2606.

Junio C Hamano (2):
  git grep shows the same hit repeatedly for unmerged paths
  git-am -i: report rewritten title

Nguyễn Thái Ngọc Duy (3):
  Add missing inside_work_tree setting in setup_git_directory_gently
  Do check_repository_format() early
  Do check_repository_format() early (re-fix)

----------------------------------------------------------------

* The 'master' branch has these since the last announcement
  in addition to the above.

Björn Steinbrink (1):
  git config: Don't rely on regexec() returning 1 on non-match

Brian M. Carlson (1):
  git-gui: Reorder msgfmt command-line arguments

Christian Stimming (2):
  Update git-gui.pot with latest (few) string additions and changes.
  Update German translation. 100% completed.

Jakub Narebski (1):
  autoconf: Add test for OLD_ICONV (squelching compiler warning)

Jeff King (1):
  t7300: add test for clean with wildcard pathspec

Johannes Sixt (2):
  git-gui: Improve the application icon on Windows.
  for-each-ref: Fix quoting style constants.

Junio C Hamano (12):
  Run the specified perl in Documentation/
  git-cvsserver runs hooks/post-update
  Revert "git-am: catch missing author date early."
  Documentation: color.* = true means "auto"
  git config --get-colorbool
  Color support for "git-add -i"
  git-clean: Honor pathspec.
  config --get-colorbool: diff.color is a deprecated synonym to color.diff
  hg-to-git: handle an empty dir in hg.
  do not discard status in fetch_refs_via_pack()
  git-status documentation: mention subdirectory behaviour
  Update draft release notes to 1.5.4

Kristian Høgsberg (1):
  Rewrite builtin-fetch option parsing to use parse_options().

Matthias Kestenholz (1):
  Documentation: add --patch option to synopsis of git-add

Michael Witten (1):
  git-cvsserver runs hooks/post-receive

Michele Ballabio (2):
  git-gui: fix a typo in lib/commit.tcl
  git-gui: update it.po and glossary/it.po

Miklos Vajna (2):
  Include diff options in the git-log manpage
  Update Hungarian translation. 100% completed.

Nanako Shiraishi (1):
  Update ja.po for git-gui

Robert Schiele (1):
  git-gui: install-sh from automake does not like -m755

Wincent Colaiuta (1):
  Silence iconv warnings on Leopard

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-12-04  8:43                 ` Junio C Hamano
@ 2007-12-05 10:57                   ` Junio C Hamano
  2007-12-07  9:50                     ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-12-05 10:57 UTC (permalink / raw)
  To: git

I haven't tagged the tip of 'master' as -rc0 yet, this has more than 80%
of it.  Graduated to 'master' tonight are:

 * Wincent's "git add -p"
 * "git commit in C" by Kristian and others
 * Steffen Prohaska's clean-up of push/fetch refspec handling.

----------------------------------------------------------------

* The 'master' branch has these since the last announcement
  in addition to the above.

Alex Riesen (2):
  Do not generate full commit log message if it is not going to be used
  Simplify crud() in ident.c

H.Merijn Brand (1):
  Do not rely on the exit status of "unset" for unset variables

Jakub Narebski (1):
  contrib: Make remotes2config.sh script more robust

Jeff King (3):
  git-commit: clean up die messages
  quote_path: fix collapsing of relative paths
  t9600: require cvsps 2.1 to perform tests

Johannes Schindelin (8):
  launch_editor(): read the file, even when EDITOR=:
  builtin-commit: fix reflog message generation
  git status: show relative paths when run in a subdirectory
  builtin-commit: fix --signoff
  builtin-commit --s: add a newline if the last line was not a S-o-b
  builtin-commit: resurrect behavior for multiple -m options
  builtin-commit: Add newline when showing which commit was created
  Replace "runstatus" with "status" in the tests

Junio C Hamano (15):
  file_exists(): dangling symlinks do exist
  builtin-commit: do not color status output shown in the message template
  builtin-commit: run commit-msg hook with correct message file
  Export three helper functions from ls-files
  Fix add_files_to_cache() to take pathspec, not user specified list of
    files
  builtin-commit: fix partial-commit support
  git-add -i: allow multiple selection in patch subcommand
  Add a few more tests for git-commit
  builtin-add: fix command line building to call interactive
  add -i: Fix running from a subdirectory
  Fix --signoff in builtin-commit differently.
  git-commit: Allow to amend a merge commit that does not change the tree
  git-commit --allow-empty
  Documentation/git.txt: typofix
  t5510: add a bit more tests for fetch

Kristian Høgsberg (10):
  Add testcase for amending and fixing author in git commit.
  Export launch_editor() and make it accept ':' as a no-op editor.
  Port git commit to C.
  builtin-commit: Refresh cache after adding files.
  Call refresh_cache() when updating the user index for --only commits.
  builtin-commit: Clean up an unused variable and a debug fprintf().
  t7501-commit: Add test for git commit <file> with dirty index.
  builtin-commit: Include the diff in the commit message when verbose.
  Fix off-by-one error when truncating the diff out of the commit message.
  Use a strbuf for copying the command line for the reflog.

Pascal Obry (1):
  Set OLD_ICONV on Cygwin.

Pierre Habouzit (1):
  builtin-commit.c: export GIT_INDEX_FILE for launch_editor as well.

Ralf Wildenhues (1):
  Document all help keys in "git add -i" patch mode.

Shawn Bohrer (1):
  Make git status usage say git status instead of git commit

Shawn O. Pearce (1):
  Remove git-status from list of scripts as it is builtin

Steffen Prohaska (4):
  push: support pushing HEAD to real branch name
  add refname_match()
  push: use same rules as git-rev-parse to resolve refspecs
  refactor fetch's ref matching to use refname_match()

Wincent Colaiuta (6):
  Teach builtin-add to pass multiple paths to git-add--interactive
  Add path-limiting to git-add--interactive
  Add "--patch" option to git-add--interactive
  Highlight keyboard shortcuts in git-add--interactive
  add -i: allow prefix highlighting for "Add untracked" as well.
  git-add -i: add help text for list-and-choose UI

İsmail Dönmez (1):
  gitweb: use Perl built-in utf8 function for UTF-8 decoding.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-12-01  2:05               ` Junio C Hamano
@ 2007-12-04  8:43                 ` Junio C Hamano
  2007-12-05 10:57                   ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-12-04  8:43 UTC (permalink / raw)
  To: git

Nothing exciting on 'maint' since 1.5.3.7.

On the 'master' front, we will soon be in feature freeze for 1.5.4.
Many topics that have been cooking in 'next' has been pushed out.  This
round it is a rather large batch but hopefully it will not destabilize
it too much.  Knock wood.

 * "git pull --rebase" is a different way to integrate what you fetched
   into your current branch.

 * "git fast-export" produces datastream that can be fed to fast-import
   to reproduce the history recorded in a git repository.

 * gitk is now merged as a subdirectory of git.git project, in
   preparation for its i18n.

 * Value "true" for color.diff and color.status configuration used to
   mean "always" (even when the output is not going to a terminal).
   This has been corrected to mean the same thing as "auto".

 * "git commit --allow-empty" allows you to create a single-parent
   commit that records the same tree as its parent, overriding the usual
   safety valve.

 * "git stash random-text" does not create a new stash anymore.  It was
   a UI mistake.  Use "git stash save random-text", or "git stash"
   (without extra args) for that.

 * HTTP proxy can be specified per remote repository using
   remote.*.proxy configuration, or global http.proxy configuration
   variable.

 * "git rebase -i" also triggers rerere to help you repeated merges.

 * "git prune --expire <time>" can exempt young loose objects from
   getting pruned.

 * "git branch --contains <commit>" can list branches that are
   descendants of a given commit.

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last announcement.

Jeff King (1):
  t9600: test cvsimport from CVS working tree

Junio C Hamano (2):
  Fix typo in t4008 test title
  GIT 1.5.3.7


* The 'master' branch has these since the last announcement
  in addition to the above.

Andy Whitcroft (1):
  git-svn: add support for pulling author from From: and Signed-off-by:

Carlos Rica (1):
  Make builtin-tag.c use parse_options.

Christian Couder (2):
  Documentation: add a new man page for "git-help"
  Trace and quote with argv: get rid of unneeded count argument.

David D. Kilzer (1):
  git-svn: Remove unnecessary Git::SVN::Util package

David Symonds (1):
  Mention that git-rm can be an appropriate resolution as well as git-add.

Denis Cheng (1):
  gitweb: the commitdiff is very commonly used, it's needed on search page,
    too

Gustaf Hendeby (1):
  git-svn now reads settings even if called in subdirectory

Jakub Narebski (1):
  gitweb: Update and improve gitweb/README file

Jeff King (2):
  git-tag: test that -s implies an annotated tag
  Enable rewrite as well as rename detection in git-status

Johannes Schindelin (7):
  Replace instances of export VAR=VAL with VAR=VAL; export VAR
  Teach 'git pull' about --rebase
  rebase -i: give rerere a chance
  Add "--expire <time>" option to 'git prune'
  Add 'git fast-export', the sister of 'git fast-import'
  fast-export: rename the signed tag mode 'ignore' to 'verbatim'
  Allow ':/<oneline-prefix>' syntax to work with save_commit_buffer == 0

Johannes Sixt (1):
  git-commit: Allow to amend a merge commit that does not change the tree

Junio C Hamano (17):
  Move gitk to its own subdirectory
  git-branch --contains=commit
  git-branch --contains: doc and test
  builtin-tag: accept and process multiple -m just like git-commit
  "git-tag -s" should create a signed annotated tag
  "color.diff = true" is not "always" anymore.
  git-config --get-color: get configured color
  Update draft release notes for 1.5.4
  Resurrect peek-remote
  Consolidate command list to one.
  Update draft release notes for 1.5.4
  rename: Break filepairs with different types.
  git-am: catch missing author date early.
  git-commit --allow-empty
  git-commit documentation: fix unfinished sentence.
  Add git-fast-export to list of commands.
  Update draft release notes for 1.5.4

Kevin Leung (1):
  git-stash: Display help message if git-stash is run with wrong
    sub-commands

Pierre Habouzit (1):
  parse-options: Allow to hide options from the default usage.

Robert Schiele (1):
  install-sh from automake does not like -m without delimiting space

Sam Vilain (2):
  Allow HTTP proxy to be overridden in config
  Add remote.<name>.proxy

Steven Grimm (1):
  git-svn: Don't create a "master" branch every time rebase is run

Theodore Ts'o (2):
  Make the list of common commands more exclusive
  Remove hint to use "git help -a"

Vineet Kumar (1):
  git-svn: add a show-externals command.

Wincent Colaiuta (1):
  revert/cherry-pick: Allow overriding the help text by the calling
    Porcelain

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-11-25 20:45             ` Junio C Hamano
@ 2007-12-01  2:05               ` Junio C Hamano
  2007-12-04  8:43                 ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-12-01  2:05 UTC (permalink / raw)
  To: git

* The 'maint' branch has these fixes since the last announcement.

J. Bruce Fields (4):
  user-manual: define "branch" and "working tree" at start
  user-manual: failed push to public repository
  user-manual: clarify language about "modifying" old commits
  user-manual: recovering from corruption

Jan Hudec (1):
  Improve description of git-branch -d and -D in man page.

Jeff King (4):
  Add basic cvsimport tests
  cvsimport: use rev-parse to support packed refs
  cvsimport: miscellaneous packed-ref fixes
  cvsimport: fix usage of cvsimport.module

Johannes Schindelin (1):
  Replace the word 'update-cache' by 'update-index' everywhere

Johannes Sixt (1):
  t7003-filter-branch: Fix test of a failing --msg-filter.

Junio C Hamano (1):
  scripts: do not get confused with HEAD in work tree


* The 'master' branch has these since the last announcement
  in addition to the above.

André Goddard Rosa (2):
  Print the real filename that we failed to open.
  Error out when user doesn't have access permission to the repository

Jakub Narebski (1):
  Add config_int() method to the Git perl module

Jeff King (1):
  Revert "t5516: test update of local refs on push"

Johannes Schindelin (4):
  filter-branch: fix dirty way to provide the helpers to commit filters
  git checkout's reflog: even when detaching the HEAD, say from where
  bash completion: add diff options
  receive-pack: allow deletion of corrupt refs

Junio C Hamano (3):
  revert/cherry-pick: do not mention the original ref
  dir.c: minor clean-up
  per-directory-exclude: lazily read .gitignore files

Linus Torvalds (2):
  Fix a pathological case in git detecting proper renames
  Fix a pathological case in git detecting proper renames

Pascal Obry (1):
  git-stash: do not get fooled with "color.diff = true"

Steffen Prohaska (2):
  Use is_absolute_path() in diff-lib.c, lockfile.c, setup.c, trace.c
  sha1_file.c: Fix size_t related printf format warnings

Wincent Colaiuta (1):
  Fix typo in draft 1.5.4 release notes

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-11-17 21:00           ` Junio C Hamano
@ 2007-11-25 20:45             ` Junio C Hamano
  2007-12-01  2:05               ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-11-25 20:45 UTC (permalink / raw)
  To: git

There are quite a few backported fixes on 'maint' and it might make
sense to cut 1.5.3.7 soon.

On 'master' front, many topics that have been cooking in 'next' have
graduated.  Notably:

 - git-bisect learns "skip";

 - git-rebase --skip does not need "reset --hard" beforehand;

 - git-clean is now in C;

 - git-push is much more careful reporting errors and updateing tracking
   refs.

 - git-push learns --mirror option.

Also contains the 0.9.0 series of git-gui with i18n.

----------------------------------------------------------------
* The 'maint' branch has these fixes since the last announcement.

Björn Steinbrink (3):
  git-commit.sh: Fix usage checks regarding paths given when they do
      not make sense
  t7005-editor.sh: Don't invoke real vi when it is in GIT_EXEC_PATH
  git-commit: Add tests for invalid usage of -a/--interactive with paths

Brian Downing (2):
  config: correct core.loosecompression documentation
  config: clarify compression defaults

J. Bruce Fields (3):
  git-remote.txt: fix example url
  user-manual: mention "..." in "Generating diffs", etc.
  Documentation: Fix references to deprecated commands

Jeff King (1):
  send-email: add transfer encoding header with content-type

Johannes Schindelin (1):
  bundle create: keep symbolic refs' names instead of resolving them

Junio C Hamano (10):
  format-patch -s: add MIME encoding header if signer's name requires so
  test format-patch -s: make sure MIME content type is shown as needed
  ce_match_stat, run_diff_files: use symbolic constants for readability
  git-add: make the entry stat-clean after re-adding the same contents
  t2200: test more cases of "add -u"
  grep -An -Bm: fix invocation of external grep command
  GIT 1.5.3.6
  Make test scripts executable.
  Fix sample pre-commit hook
  git-checkout: describe detached head correctly

Linus Torvalds (1):
  Fix rev-list when showing objects involving submodules

Matthieu Moy (1):
  Doc fix for git-reflog: mention @{...} syntax, and <ref> in synopsys.

Rémi Vanicat (1):
  Make GIT_INDEX_FILE apply to git-commit

Steffen Prohaska (1):
  user-manual: Add section "Why bisecting merge commits can be harder ..."


----------------------------------------------------------------
* The 'master' branch has these since the last announcement
  in addition to the above.

Alex Riesen (4):
  More updates and corrections to the russian translation of git-gui
  Updated russian translation of git-gui
  Add a test checking if send-pack updated local tracking branches
      correctly
  Update the tracking references only if they were succesfully
      updated on remote

Andy Whitcroft (5):
  Teach send-pack a mirror mode
  git-push: plumb in --mirror mode
  Add tests for git push'es mirror mode
  git-push: add documentation for the newly added --mirror mode
  git-quiltimport.sh fix --patches handling

Anton Gyllenberg (1):
  gitview: import only one of gtksourceview and gtksourceview2

Ask Bjørn Hansen (1):
  send-email: Don't add To: recipients to the Cc: header

Christian Couder (4):
  Bisect reset: remove bisect refs that may have been packed.
  Bisect visualize: use "for-each-ref" to list all good refs.
  Bisect: use "$GIT_DIR/BISECT_NAMES" to check if we are bisecting.
  Bisect reset: do nothing when not bisecting.

Christian Stimming (12):
  Mark strings for translation.
  Makefile rules for translation catalog generation and installation.
  Add glossary that can be converted into a po file for each
      language.
  Add glossary translation template into git.
  German translation for git-gui
  German glossary for translation
  git-gui: Add more words to translation glossary
  git-gui: Update German glossary according to mailing list
      discussion
  git-gui: Incorporate glossary changes into existing German
      translation
  git-gui: Update German translation, including latest glossary
      changes
  git-gui: Add more terms to glossary.
  git-gui: Update German translation

Daniel Barkalow (5):
  Miscellaneous const changes and utilities
  Build-in peek-remote, using transport infrastructure.
  Use built-in send-pack.
  Build-in send-pack, with an API for other programs to call.
  Build in ls-remote

David D Kilzer (3):
  git-svn log: fix ascending revision ranges
  git-svn log: include commit log for the smallest revision in a
      range
  git-svn log: handle unreachable revisions like "svn log"

David D. Kilzer (4):
  git-send-email: show all headers when sending mail
  git-svn: extract reusable code into utility functions
  git-svn info: implement info command
  git-svn: info --url [path]

David Reiss (1):
  git-svn: Fix a typo and add a comma in an error message in git-svn

David Symonds (2):
  git-checkout: Support relative paths containing "..".
  git-checkout: Test for relative path use.

Eric Wong (3):
  git-svn: add tests for command-line usage of init and clone
      commands
  t9106: fix a race condition that caused svn to miss modifications
  git-svn: allow `info' command to work offline

Guido Ostkamp (1):
  Use compat mkdtemp() on Solaris boxes

Harri Ilari Tapio Liusvaara (1):
  git-gui: Disambiguate "commit"

Irina Riesen (1):
  git-gui: initial version of russian translation

Jakub Narebski (3):
  gitweb: Style all tables using CSS
  gitweb: Put project README in div.readme, fix its padding
  autoconf: Add tests for memmem, strtoumax and mkdtemp functions

Jeff King (11):
  more terse push output
  receive-pack: don't mention successful updates
  send-pack: require --verbose to show update of tracking refs
  send-pack: track errors for each ref
  send-pack: check ref->status before updating tracking refs
  send-pack: assign remote errors to each ref
  make "find_ref_by_name" a public function
  send-pack: tighten remote error reporting
  send-pack: fix "everything up-to-date" message
  avoid "defined but not used" warning for fetch_objs_via_walker
  send-pack: cluster ref status reporting

Johannes Schindelin (9):
  Add po/git-gui.pot
  Ignore po/*.msg
  git-gui: Deiconify startup wizard so it raises to the top
  git-gui: add a simple msgfmt replacement
  po2msg: ignore entries marked with "fuzzy"
  po2msg: ignore untranslated messages
  po2msg: actually output statistics
  Close files opened by lock_file() before unlinking.
  rebase -i: move help to end of todo file

Johannes Sixt (14):
  git-gui: Change main window layout to support wider screens
  Give git-am back the ability to add Signed-off-by lines.
  t5300-pack-object.sh: Split the big verify-pack test into smaller
      parts.
  t7501-commit.sh: Not all seds understand option -i
  t5302-pack-index: Skip tests of 64-bit offsets if necessary.
  Skip t3902-quoted.sh if the file system does not support funny
      names.
  Use is_absolute_path() in sha1_file.c.
  Move #include <sys/select.h> and <sys/ioctl.h> to
      git-compat-util.h.
  builtin run_command: do not exit with -1.
  Allow a relative builtin template directory.
  Introduce git_etc_gitconfig() that encapsulates access of
      ETC_GITCONFIG.
  Allow ETC_GITCONFIG to be a relative path.
  fetch-pack: Prepare for a side-band demultiplexer in a thread.
  Flush progress message buffer in display().

Junio C Hamano (20):
  git-gui po/README: Guide to translators
  git-gui: Update Japanese strings (part 2)
  scripts: Add placeholders for OPTIONS_SPEC
  git-rev-parse --parseopt
  git-sh-setup: fix parseopt `eval` string underquoting
  send-pack: segfault fix on forced push
  git-am: -i does not take a string parameter.
  git-bisect: war on "sed"
  git-bisect: use update-ref to mark good/bad commits
  git-bisect: modernize branch shuffling hack
  Draft release notes: fix clean.requireForce description
  Update draft release notes for 1.5.4
  git-clean: Fix error message if clean.requireForce is not set.
  git-compat-util.h: auto-adjust to compiler support of FLEX_ARRAY a
      bit better
  Fix "quote" misconversion for rewrite diff output.
  Make test scripts executable.
  Addendum to "MaintNotes"
  t4119: correct overeager war-on-whitespace
  Deprecate peek-remote
  Update draft release notes for 1.5.4

Kirill (1):
  Updated Russian translation.

Konstantin V. Arkhipov (1):
  git-svn's dcommit must use subversion's config

Linus Torvalds (6):
  Simplify topo-sort logic
  Add "--early-output" log flag for interactive GUI use
  Enhance --early-output format
  revision walker: mini clean-up
  Fix rev-list when showing objects involving submodules
  Fix parent rewriting in --early-output

Michele Ballabio (4):
  git-gui: remove dots in some UI strings
  git-gui: add some strings to translation
  git-gui: fix typo in lib/blame.tcl
  git-gui: update Italian translation

Mike Hommey (1):
  Do git reset --hard HEAD when using git rebase --skip

Miklos Vajna (1):
  Hungarian translation of git-gui

Nanako Shiraishi (2):
  Japanese translation of git-gui
  git-gui: Update Japanese strings

Nicolas Pitre (1):
  rehabilitate some t5302 tests on 32-bit off_t machines

Paolo Ciarrocchi (1):
  Italian translation of git-gui

Pierre Habouzit (17):
  Add a parseopt mode to git-rev-parse to bring parse-options to
      shell scripts.
  Update git-sh-setup(1) to allow transparent use of git-rev-parse
      --parseopt
  Migrate git-clean.sh to use git-rev-parse --parseopt.
  Migrate git-clone to use git-rev-parse --parseopt
  Migrate git-am.sh to use git-rev-parse --parseopt
  Migrate git-merge.sh to use git-rev-parse --parseopt
  Migrate git-instaweb.sh to use git-rev-parse --parseopt
  Migrate git-checkout.sh to use git-rev-parse --parseopt
      --keep-dashdash
  Migrate git-quiltimport.sh to use git-rev-parse --parseopt
  Migrate git-repack.sh to use git-rev-parse --parseopt
  sh-setup: don't let eval output to be shell-expanded.
  parse-options new features.
  Use OPT_SET_INT and OPT_BIT in builtin-branch
  Use OPT_BIT in builtin-for-each-ref
  Use OPT_BIT in builtin-pack-refs
  Make the diff_options bitfields be an unsigned with explicit masks.
  Reorder diff_opt_parse options more logically per topics.

Shawn Bohrer (2):
  Make git-clean a builtin
  Teach git clean to use setup_standard_excludes()

Shawn O. Pearce (57):
  git-gui: Locate the library directory early during startup
  git-gui: Initialize Tcl's msgcat library for internationalization
  git-gui: Update po/README as symlink process is not necessary
  git-gui: Correct stock message for 'Invalid font specified in %s'
  git-gui: Quiet the msgfmt part of the make process
  git-gui: Ensure msgfmt failure stops GNU make
  git-gui: Mark revision chooser tooltip for translation
  git-gui: Localize commit/author dates when displaying them
  git-gui: Support context-sensitive i18n
  git-gui: Document the new i18n context support
  git-gui: Make the tree browser also use lightgray selection
  git-gui: Paper bag fix missing translated strings
  git-gui: Fix missing i18n markup in push/fetch windows
  git-gui: Support native Win32 Tcl/Tk under Cygwin
  git-gui: Refactor some UI init to occur earlier
  git-gui: Allow users to choose/create/clone a repository
  git-gui: Avoid console scrollbars unless they are necessary
  git-gui: Don't bother showing OS error message about hardlinks
  git-gui: Keep the UI responsive while counting objects in clone
  git-gui: Copy objects/info/alternates during standard clone
  git-gui: Don't delete console window namespaces too early
  git-gui: Don't delete scrollbars in console windows
  git-gui: Switch the git-gui logo to Henrik Nyh's logo
  git-gui: Make the status bar easier to read in the setup wizard
  git-gui: Use Henrik Nyh's git logo icon on Windows systems
  git-gui: Support a native Mac OS X application bundle
  git-gui: Refer to ourselves as "Git Gui" and not "git-gui"
  git-gui: Allow forced push into remote repository
  git-gui: Refactor Henrik Nyh's logo into its own procedure
  git-gui: Refactor about dialog code into its own module
  git-gui: Include our Git logo in the about dialog
  git-gui: Use progress meter in the status bar during index updates
  git-gui: Consolidate the Fetch and Push menus into a Remote menu
  git-gui: Bind Cmd-, to Preferences on Mac OS X
  git-gui: Shorten the staged/unstaged changes title bar text
  git-gui: Updated po strings based on current sources
  git-gui: Move load_config procedure below git-version selection
  git-gui: Refactor git-config --list parsing
  git-gui: Support LFs embedded in config file values
  git-gui: Change repository browser radio buttons to hyperlinks
  git-gui: Offer repository management features in menu bar
  git-gui: Fix bind errors when switching repository chooser panels
  git-gui: Disable the text widget in the repository chooser
  git-gui: Bind n/c/o accelerators in repository chooser
  git-gui: Ensure copyright message is correctly read as UTF-8
  git-gui: Use proper Windows shortcuts instead of bat files
  git-gui: Support cloning Cygwin based work-dirs
  git-gui: Collapse $env(HOME) to ~/ in recent repositories on
      Windows
  git-gui: Honor a config.mak in git-gui's top level
  git-gui: Paper bag fix the global config parsing
  git-gui: Make sure we get errors from git-update-index
  git-gui: Protect against bad translation strings
  git-gui: Allow users to set font weights to bold
  Reteach builtin-ls-remote to understand remotes
  git-gui: Bind Meta-T for "Stage To Commit" menu action
  Fix warning about bitfield in struct ref
  git-gui 0.9.0

Shun Kei Leung (1):
  git-p4: Fix typo in --detect-labels

Simon Hausmann (1):
  git-p4: Fix direct import from perforce after fetching changes
      through git from origin

Steffen Prohaska (4):
  git-gui: add directory git-gui is located in to PATH (on Windows)
  git-gui: set NO_MSGFMT to force using pure tcl replacement in
      msysgit
  git-gui: add mingw specific startup wrapper
  git-gui: offer a list of recent repositories on startup

Thomas Harning (1):
  git-merge-ours: make it a builtin.

Wincent Colaiuta (3):
  Further clarify clean.requireForce changes
  Authenticate only once in git-send-email
  Refactor patch_update_cmd

Xudong Guan (2):
  Initial Chinese translation for git-gui
  git-gui: Added initial version of po/glossary/zh_cn.po

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-11-15  0:20         ` Junio C Hamano
@ 2007-11-17 21:00           ` Junio C Hamano
  2007-11-25 20:45             ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-11-17 21:00 UTC (permalink / raw)
  To: git

* The 'maint' branch has these fixes since the last announcement.

There are a few candidate fixes for back-porting from the
development series (see "What's cooking" message).  I will
include them in 1.5.3.6, probably on or around 20th of this
month.

David Symonds (1):
  Improve accuracy of check for presence of deflateBound.

Jeff King (1):
  git-send-email: add charset header if we add encoded 'From'

Junio C Hamano (3):
  core.excludesfile clean-up
  Fix per-directory exclude handing for "git add"
  Update draft release notes for 1.5.3.6

Wincent Colaiuta (1):
  Fix t9101 test failure caused by Subversion "auto-props"


* The 'master' branch has these since the last announcement
  in addition to the above.

Guido Ostkamp (1):
  Remove unreachable statements

Jeff King (1):
  git-ls-files: add --exclude-standard

Johannes Sixt (1):
  refs.c: Remove unused get_ref_sha1()

Junio C Hamano (2):
  Fix per-directory exclude handing for "git add"
  Update draft release notes for 1.5.4

Mike Hommey (1):
  Fix and improve t7004 (git-tag tests)

Sergei Organov (3):
  Documentation: customize diff-options depending on particular
      command
  user-manual.txt: minor clarification.
  Documentation: fix git-clone manpage not to refer to itself

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-11-12  7:06       ` Junio C Hamano
@ 2007-11-15  0:20         ` Junio C Hamano
  2007-11-17 21:00           ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-11-15  0:20 UTC (permalink / raw)
  To: git

* The 'maint' branch has these fixes since the last announcement.

Benoit Sigoure (1):
  git-svn: prevent dcommitting if the index is dirty.

Christian Couder (1):
  for-each-ref: fix off by one read.

Jeff King (1):
  git-branch: remove mention of non-existent '-b' option

Jing Xue (1):
  replace reference to git-rm with git-reset in git-commit doc

Jonas Fonseca (1):
  Documentation: Fix man page breakage with DocBook XSL v1.72

Junio C Hamano (3):
  t/t3404: fix test for a bogus todo file.
  revert/cherry-pick: allow starting from dirty work tree.
  git-clean: honor core.excludesfile

Sergei Organov (2):
  core-tutorial.txt: Fix argument mistake in an example.
  git-remote.txt: fix typo

Shawn O. Pearce (2):
  Fix memory leak in traverse_commit_list
  Don't allow fast-import tree delta chains to exceed maximum depth

Wincent Colaiuta (1):
  Grammar fixes for gitattributes documentation


* The 'master' branch has these since the last announcement
  in addition to the above.

Alex Riesen (1):
  Fix dependencies of parse-options test program

Andreas Ericsson (1):
  Simplify strchrnul() compat code

Björn Steinbrink (3):
  git-commit.sh: Fix usage checks regarding paths given when they do
      not make sense
  t7005-editor.sh: Don't invoke real vi when it is in GIT_EXEC_PATH
  git-commit: Add tests for invalid usage of -a/--interactive with
      paths

Brian Gernhardt (2):
  format-patch: Add configuration and off switch for --numbered
  format-patch: Test --[no-]numbered and format.numbered

David Symonds (1):
  Rearrange git-format-patch synopsis to improve clarity.

Emil Medve (1):
  git-stash: Fix listing stashes

Eric Wong (1):
  git-svn: support for funky branch and project names over HTTP(S)

Gordon Hopper (1):
  git-cvsimport: fix handling of user name when it is not set in
      CVSROOT

Johannes Schindelin (2):
  rebase: operate on a detached HEAD
  rebase: fix "rebase --continue" breakage

Johannes Sixt (2):
  git-clean: Fix error message if clean.requireForce is not set.
  Fix preprocessor logic that determines the availablity of
      strchrnul().

Jonas Fonseca (1):
  Documentation: Fix references to deprecated commands

Junio C Hamano (9):
  stash: implement "stash create"
  rebase: allow starting from a dirty tree.
  Revert "rebase: allow starting from a dirty tree."
  git-merge: no reason to use cpio anymore
  ce_match_stat, run_diff_files: use symbolic constants for
      readability
  git-add: make the entry stat-clean after re-adding the same
      contents
  t2200: test more cases of "add -u"
  Resurrect git-revert.sh example and add comment to builtin-revert.c
  core.excludesfile clean-up

Mike Hommey (2):
  Reuse previous annotation when overwriting a tag
  Add tests for git tag

Nicolas Pitre (6):
  fix display overlap between remote and local progress
  sideband.c: ESC is spelled '\033' not '\e' for portability.
  make display of total transferred more accurate
  remove dead code from the csum-file interface
  make display of total transferred fully accurate
  nicer display of thin pack completion

Pierre Habouzit (1):
  git-fetch: be even quieter.

René Scharfe (5):
  Add strchrnul()
  --pretty=format: on-demand format expansion
  --pretty=format: parse commit message only once
  add strbuf_adddup()
  --format=pretty: avoid calculating expensive expansions twice

Robin Rosenberg (1):
  cvsexportcommit: Add switch to specify CVS workdir

Rémi Vanicat (1):
  Make GIT_INDEX_FILE apply to git-commit

Sergei Organov (2):
  user-manual.txt: fix a few mistakes
  user-manual: minor rewording for clarity.

Shawn O. Pearce (5):
  git-fetch: Always fetch tags if the object they reference exists
  run-command: Support sending stderr to /dev/null
  rev-list: Introduce --quiet to avoid /dev/null redirects
  git-fetch: avoid local fetching from alternate (again)
  Handle broken vsnprintf implementations in strbuf

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-11-08  8:06     ` Junio C Hamano
  2007-11-08 11:38       ` Pierre Habouzit
@ 2007-11-12  7:06       ` Junio C Hamano
  2007-11-15  0:20         ` Junio C Hamano
  1 sibling, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-11-12  7:06 UTC (permalink / raw)
  To: git

* The 'maint' branch has these fixes since the last announcement.

Alex Riesen (1):
  stop t1400 hiding errors in tests

Benoit Sigoure (1):
  git-send-email: Change the prompt for the subject of the initial
      message.

Gerrit Pape (1):
  git-mailsplit: with maildirs not only process cur/, but also new/

Jonas Fonseca (1):
  instaweb: Minor cleanups and fixes for potential problems

Junio C Hamano (3):
  refresh_index_quietly(): express "optional" nature of index writing
      better
  Makefile: add missing dependency on wt-status.h
  Start preparing for 1.5.3.6

Nicolas Pitre (3):
  print warning/error/fatal messages in one shot
  git-hash-object should honor config variables
  fix index-pack with packs >4GB containing deltas on 32-bit machines

Ralf Wildenhues (2):
  Avoid a few unportable, needlessly nested "...`...".
  Fix sed string regex escaping in module_name.

Sergei Organov (1):
  SubmittingPatches: improve the 'Patch:' section of the checklist

Vincent Zanotti (1):
  gitweb: correct month in date display for atom feeds


* The 'master' branch has these since the last announcement
  in addition to the above.

Gerrit Pape (3):
  hooks--update: fix test for properly set up project description
      file
  hooks--update: decline deleting tags or branches by default, add
      config options
  contrib/hooks/post-receive-email: remove cruft, $committer is not
      used

Johannes Schindelin (4):
  parse-options: abbreviation engine fix.
  builtin-reset: do not call "ls-files --unmerged"
  builtin-reset: avoid forking "update-index --refresh"
  builtin-blame: set up the work_tree before the first file access

Johannes Sixt (1):
  upload-pack: Use finish_{command,async}() instead of waitpid().

Junio C Hamano (6):
  Style: place opening brace of a function definition at column 1
  Update draft release notes for 1.5.4
  Documentation: lost-found is now deprecated.
  Make check-docs target detect removed commands
  Documentation: remove documentation for removed tools.
  git-commit: a bit more tests

Lars Hjemli (1):
  for-each-ref: fix setup of option-parsing for --sort

Michele Ballabio (1):
  test-lib.sh: move error line after error() declaration

Nicolas Pitre (1):
  add a howto document about corrupted blob recovery

Ralf Wildenhues (1):
  git-bisect.sh: Fix sed script to work with AIX and BSD sed.

Sergei Organov (1):
  core-tutorial.txt: Fix git-show-branch example and its description

Steffen Prohaska (2):
  push: mention --verbose option in documentation
  push: teach push to pass --verbose option to transport layer

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-11-08  8:06     ` Junio C Hamano
@ 2007-11-08 11:38       ` Pierre Habouzit
  2007-11-12  7:06       ` Junio C Hamano
  1 sibling, 0 replies; 262+ messages in thread
From: Pierre Habouzit @ 2007-11-08 11:38 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

[-- Attachment #1: Type: text/plain, Size: 1193 bytes --]

On Thu, Nov 08, 2007 at 08:06:14AM +0000, Junio C Hamano wrote:
> On 'master' front:
> 
>  - git-p4 in contrib/ has updates.  As I cannot test it myself
>    and did not hear any success/failure stories from the list,
>    the only way to make sure is to push it out and see if
>    anybody screams.
> 
>  - "git lost-found" is going to be deprecated (not removed) in
>    the next feature release.
> 
>  - Unspecified clean.requireForce defaults to true; this would
>    make "git clean" require "-f" by default.
> 
>  - "git send-email --suppress-from" does not CC yourself even
>    when your name is on S-o-b: or Cc: lines in the body of the
>    message.
> 
> ----------------------------------------------------------------
> 
> * The 'maint' branch has these fixes since the last announcement.
[...]
> Pierre Habouzit (1):
>   Some better parse-options documentation.

  Eeeer isn't there some kind of problem ? This is not in maint, I
believe you swapped 'master' and 'maint' :)

-- 
·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-11-04  3:52   ` Junio C Hamano
@ 2007-11-08  8:06     ` Junio C Hamano
  2007-11-08 11:38       ` Pierre Habouzit
  2007-11-12  7:06       ` Junio C Hamano
  0 siblings, 2 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-11-08  8:06 UTC (permalink / raw)
  To: git

On 'master' front:

 - git-p4 in contrib/ has updates.  As I cannot test it myself
   and did not hear any success/failure stories from the list,
   the only way to make sure is to push it out and see if
   anybody screams.

 - "git lost-found" is going to be deprecated (not removed) in
   the next feature release.

 - Unspecified clean.requireForce defaults to true; this would
   make "git clean" require "-f" by default.

 - "git send-email --suppress-from" does not CC yourself even
   when your name is on S-o-b: or Cc: lines in the body of the
   message.

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last announcement.

Ask Bjørn Hansen (1):
  When exec() fails include the failing command in the error message

David D Kilzer (2):
  RelNotes-1.5.3.5: fix typo
  RelNotes-1.5.3.5: fix another typo

Eric Wong (2):
  git-svn: fix dcommit clobbering when committing a series of diffs
  git-svn: t9114: verify merge commit message in test

Gerrit Pape (3):
  git-diff.txt: add section "output format" describing the diff
      formats
  git-cvsimport: really convert underscores in branch names to dots
      with -u
  git-daemon: fix remote port number in log entry

Johannes Schindelin (1):
  Add Documentation/CodingGuidelines

Junio C Hamano (1):
  grep with unmerged index

Marco Costalba (1):
  Remove a couple of duplicated include

Mike Hommey (1):
  Delay pager setup in git blame


* The 'master' branch has these since the last announcement
  in addition to the above.

Benoit Sigoure (1):
  git-svn: sort the options in the --help message.

Brian Gernhardt (1):
  t3502: Disambiguate between file and rev by adding --

Chris Pettitt (2):
  git-p4: Add a helper function to parse the full git diff-tree
      output.
  git-p4: Detect changes to executable bit and include them in p4
      submit.

Daniel Barkalow (1):
  Use parseopts in builtin-push

David Symonds (1):
  Improve accuracy of check for presence of deflateBound.

Gerrit Pape (4):
  git-reset: add -q option to operate quietly
  contrib/hooks/post-receive-email: fix typo
  contrib/hooks/post-receive-email: reformat to wrap comments at 76
      chars
  contrib/hooks/post-receive-email: make subject prefix configurable

Heikki Orsila (1):
  git-clone: honor "--" to end argument parsing

J. Bruce Fields (1):
  errors: "strict subset" -> "ancestor"

Jakub Narebski (9):
  gitweb: Always set 'from_file' and 'to_file' in
      parse_difftree_raw_line
  gitweb: Add 'status_str' to parse_difftree_raw_line output
  gitweb: Remove CGI::Carp::set_programname() call from t9500 gitweb
      test
  gitweb: Easier adding/changing parameters to current URL
  gitweb: Use href(-replay=>1, page=>...) to generate pagination
      links
  gitweb: Use href(-replay=>1, action=>...) to generate alternate
      views
  gitweb: Add tests for overriding gitweb config with repo config
  gitweb: Read repo config using 'git config -z -l'
  gitweb: Use config file for repository description and URLs

Johannes Schindelin (3):
  git-reset: do not be confused if there is nothing to reset
  Split off the pretty print stuff into its own file
  Deprecate git-lost-found

Johannes Sixt (1):
  Fix an infinite loop in sq_quote_buf().

Junio C Hamano (6):
  revert/cherry-pick: work on merge commits as well
  format-patch -s: add MIME encoding header if signer's name requires
      so
  cherry-pick/revert -m: add tests
  test format-patch -s: make sure MIME content type is shown as
      needed
  clean: require -f to do damage by default
  gc: --prune prunes unreferenced objects.

Mike Hommey (5):
  Refactor working tree setup
  Use setup_work_tree() in builtin-ls-files.c
  Don't always require working tree for git-rm
  Make git-blame fail when working tree is needed and we're not in
      one
  Small code readability improvement in show_reference() in
      builtin-tag.c

Nicolas Pitre (4):
  make the pack index version configurable
  pack-objects: get rid of an ugly cast
  git-fetch: more terse fetch output
  restore fetching with thin-pack capability

Pierre Habouzit (1):
  Some better parse-options documentation.

Ralf Wildenhues (1):
  Fix minor nits in configure.ac

Shawn Bohrer (1):
  Add more tests for git-clean

Simon Sasburg (1):
  Make mailsplit and mailinfo strip whitespace from the start of the
      input

Steffen Prohaska (1):
  Fix comment in strbuf.h to use correct name strbuf_avail()

Steven Grimm (1):
  builtin-fetch: Add "-q" as a synonym for "--quiet"

Uwe Kleine-König (1):
  send-email: apply --suppress-from to S-o-b and cc-cmd

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-11-01  5:39 ` What's in git.git (stable) Junio C Hamano
@ 2007-11-04  3:52   ` Junio C Hamano
  2007-11-08  8:06     ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-11-04  3:52 UTC (permalink / raw)
  To: git

* The 'maint' branch has these fixes since the last announcement.

Brad King (1):
  cvsexportcommit: fix for commits that do not have parents

Jakub Narebski (1):
  gitweb: Update config file example for snapshot feature in
      gitweb/INSTALL

Jonas Fonseca (1):
  Remove escaping of '|' in manpage option sections

Jonathan del Strother (1):
  Fixing path quoting in git-rebase

Kristian Høgsberg (1):
  Remove unecessary hard-coding of EDITOR=':' VISUAL=':' in some test
      suites.

Ralf Wildenhues (1):
  git-clone.txt: Improve --depth description.

Sergei Organov (3):
  git-filter-branch.txt: fix a typo.
  git-format-patch.txt: fix explanation of an example.
  Documentation: quote commit messages consistently.

----------------------------------------------------------------

* The 'master' branch has these since the last announcement
  in addition to the above.  Notable topics are:

  - fork-exec removal from MinGW work.
  - the first batch of parse-options.
  - terse progress display.

Short log follows.

Alex Riesen (2):
  Rework make_usage to print the usage message immediately
  Do no colorify test output if stdout is not a terminal

Blake Ramsdell (1):
  transport.c: squelch a gcc 4.0.1 complaint about an uninitialized
      variable

Emil Medve (1):
  Fixed a command line option type for builtin-fsck.c

Gerrit Pape (1):
  git-diff.txt: add section "output format" describing the diff
      formats

James Bowes (1):
  gc: use parse_options

Johannes Schindelin (2):
  Add tests for parse-options.c
  parse-options: Allow abbreviated options when unambiguous

Johannes Sixt (14):
  Change git_connect() to return a struct child_process instead of a
      pid_t.
  Use start_command() in git_connect() instead of explicit fork/exec.
  Use start_command() to run content filters instead of explicit
      fork/exec.
  Use run_command() to spawn external diff programs instead of
      fork/exec.
  Use start_comand() in builtin-fetch-pack.c instead of explicit
      fork/exec.
  Have start_command() create a pipe to read the stderr of the child.
  upload-pack: Use start_command() to run pack-objects in
      create_pack_file().
  Add infrastructure to run a function asynchronously.
  Use the asyncronous function infrastructure in
      builtin-fetch-pack.c.
  upload-pack: Move the revision walker into a separate function.
  upload-pack: Run rev-list in an asynchronous function.
  t0021-conversion.sh: Test that the clean filter really cleans
      content.
  Avoid a dup2(2) in apply_filter() - start_command() can do it for
      us.
  Use the asyncronous function infrastructure to run the content
      filter.

Jonas Fonseca (1):
  Update manpages to reflect new short and long option aliases

Kristian Høgsberg (5):
  Enable wt-status output to a given FILE pointer.
  Enable wt-status to run against non-standard index file.
  Introduce entry point add_interactive and add_files_to_cache
  Export rerere() and launch_editor().
  Port builtin-add.c to use the new option parser.

Nicolas Pitre (16):
  more compact progress display
  cope with multiple line breaks within sideband progress messages
  pack-objects: no delta possible with only one object in the list
  pack-objects.c: fix some global variable abuse and memory leaks
  fix const issues with some functions
  fix for more minor memory leaks
  prune-packed: don't call display_progress() for every file
  make struct progress an opaque type
  relax usage of the progress API
  add throughput to progress display
  add throughput display to index-pack
  add some copyright notice to the progress display code
  add throughput display to git-push
  return the prune-packed progress display to the inner loop
  make sure throughput display gets updated even if progress doesn't
      move
  Show total transferred as part of throughput progress

Pierre Habouzit (17):
  Add a simple option parser.
  parse-options: be able to generate usages automatically
  parse-options: make some arguments optional, add callbacks.
  Add shortcuts for very often used options.
  parse-options: allow callbacks to take no arguments at all.
  Make builtin-rm.c use parse_options.
  Make builtin-mv.c use parse-options
  Make builtin-branch.c use parse_options.
  Make builtin-describe.c use parse_options
  Make builtin-revert.c use parse_options.
  Make builtin-update-ref.c use parse_options
  Make builtin-symbolic-ref.c use parse_options.
  Make builtin-for-each-ref.c use parse-opts.
  Make builtin-fsck.c use parse_options.
  Make builtin-count-objects.c use parse_options.
  Make builtin-name-rev.c use parse_options.
  Make builtin-pack-refs.c use parse_options.

Scott R Parish (7):
  "git" returns 1; "git help" and "git help -a" return 0
  remove unused/unneeded "pattern" argument of list_commands
  "current_exec_path" is a misleading name, use "argv_exec_path"
  list_commands(): simplify code by using chdir()
  use only the $PATH for exec'ing git commands
  include $PATH in generating list of commands for "help -a"
  shell should call the new setup_path() to setup $PATH

Shawn O. Pearce (3):
  Change 'Deltifying objects' to 'Compressing objects'
  Teach prune-packed to use the standard progress meter
  Stop displaying "Pack pack-$ID created." during git-gc

Steffen Prohaska (3):
  mergetool: use path to mergetool in config var
      mergetool.<tool>.path
  mergetool: add support for ECMerge
  mergetool: avoid misleading message "Resetting to default..."

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-10-22  6:11 What's in git/spearce.git (stable) Shawn O. Pearce
@ 2007-11-01  5:39 ` Junio C Hamano
  2007-11-04  3:52   ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-11-01  5:39 UTC (permalink / raw)
  To: git

* The 'maint' branch has just produced the 1.5.3.5 release.

* The 'master' branch has these since the last announcement
  in addition to what's in 1.5.3.5.

  - git-bisect enhancements to support "git bisect skip".
  - git-fetch rewritten in C for performance and portability.
  - git-svnimport is no more --- use git-svn.
  - git-send-pack does not update the tracking ref on the local
    side for failed push (needs cherry-picking to 'maint').
  - git-rebase does not choke when $GIT_DIR has whitespace in it
    (needs cherry-picking to 'maint').
  - optimize rename detection.
  - comes with updated gitk.

  The above list makes me realize that it probably is a good
  time to start freezing things for 1.5.4.  Tonight's "What's
  cooking" will talk about what other topics should graduate to
  'master' before that happens.

Alex Riesen (1):
  Fix a crash in ls-remote when refspec expands into nothing

Alexandre Julliard (4):
  git.el: Fix typo in "Reverted file" message.
  git.el: Fix typo in git-update-saved-file error handling.
  git.el: Refresh only the changed file marks when marking/unmarking
      all.
  git.el: Run git-gc --auto after commits.

Benoit Sigoure (1):
  core-tutorial: Catch up with current Git

Christian Couder (12):
  Test suite: reset TERM to its previous value after testing.
  rev-list: implement --bisect-all
  rev-list documentation: add "--bisect-all".
  Bisect: fix some white spaces and empty lines breakages.
  Bisect: implement "bisect skip" to mark untestable revisions.
  Bisect: refactor "bisect_write_*" functions.
  Bisect: refactor some logging into "bisect_write".
  Bisect: refactor "bisect_{bad,good,skip}" into "bisect_state".
  Bisect: add "bisect skip" to the documentation.
  Bisect: add a "bisect replay" test case.
  Bisect run: "skip" current commit if script exit code is 125.
  Bisect: add "skip" to the short usage string.

Dan McGee (1):
  Remove outdated references to cogito in documentation

Daniel Barkalow (15):
  Refactor http.h USE_CURL_MULTI fill_active_slots().
  Make function to refill http queue a callback
  Remove obsolete commit-walkers
  Modularize commit-walker
  Add uploadpack configuration info to remote.
  Report information on branches from remote.h
  Make fetch-pack a builtin with an internal API
  Push code for transport library
  Add matching and parsing for fetch-side refspec rules
  Add fetch methods to transport library.
  Make fetch a builtin
  Allow abbreviations in the first refspec to be merged
  Restore default verbosity for http fetches.
  Remove duplicate ref matches in fetch
  Correct handling of upload-pack in builtin-fetch-pack

David Symonds (3):
  gitweb: Provide title attributes for abbreviated author names.
  gitweb: Refactor abbreviation-with-title-attribute code.
  gitweb: Use chop_and_escape_str in more places.

Gerrit Pape (1):
  No longer install git-svnimport, move to contrib/examples

Jakub Narebski (1):
  gitweb: Fix and simplify "split patch" detection

Jari Aalto (1):
  On error, do not list all commands, but point to --help option

Jeff King (2):
  send-pack: don't update tracking refs on error
  t5516: test update of local refs on push

Jim Meyering (1):
  hooks-pre-commit: use \t, rather than a literal TAB in regexp

Johannes Schindelin (6):
  Move bundle specific stuff into bundle.[ch]
  Add bundle transport
  Introduce remove_dir_recursively()
  fetch/push: readd rsync support
  Fix compilation when NO_CURL is defined
  fetch: if not fetching from default remote, ignore default merge

Jonathan del Strother (1):
  Fixing path quoting in git-rebase

Junio C Hamano (5):
  bundle transport: fix an alloc_ref() call
  k.org git toppage: Add link to 1.5.3 release notes.
  help: remove extra blank line after "See 'git --help'" message
  git-fetch: do not fail when remote branch disappears
  RelNotes-1.5.4: describe recent updates

Lars Hjemli (1):
  Teach git-pull about --[no-]ff, --no-squash and --commit

Lars Knoll (1):
  Speedup scanning for excluded files.

Linus Torvalds (8):
  Add 'diffcore.h' to LIB_H
  Split out "exact content match" phase of rename detection
  Ref-count the filespecs used by diffcore
  copy vs rename detection: avoid unnecessary O(n*m) loops
  Do linear-time/space rename logic for exact renames
  Do exact rename detection regardless of rename limits
  Fix ugly magic special case in exact rename detection
  Do the fuzzy rename detection limits with the exact renames removed

Miklos Vajna (1):
  git-send-email: add a new sendemail.to configuration variable

Nguyễn Thái Ngọc Duy (1):
  git-sh-setup.sh: use "git rev-parse --show-cdup" to check for
      SUBDIRECTORY_OK

Paul Mackerras (34):
  gitk: Establish and use global left-to-right ordering for commits
  gitk: Improve the drawing of links to parent lines
  gitk: Eliminate diagonal arrows
  gitk: Get rid of idrowranges and rowrangelist
  gitk: Get rid of idinlist array
  gitk: Fix some problems with the display of ids as links
  gitk: Get rid of the rowchk array
  gitk: Do only the parts of the layout that are needed
  gitk: Fix bug causing incorrect ref list contents when switching
      view
  gitk: Fix bug causing undefined variable error when cherry-picking
  gitk: Add a cache for the topology info
  gitk: Make it possible to lay out all the rows we have received so
      far
  gitk: Fix bugs in setting rowfinal
  gitk: Get rid of lookingforhead, use commitinterest instead
  gitk: Fix bug in generating patches
  gitk: Simplify highlighting interface and combine with Find
      function
  gitk: Fix a couple of bugs
  gitk: Add progress bars for reading in stuff and for finding
  gitk: Fix the tab setting in the diff display window
  gitk: Fix bug causing Tcl error when changing find match type
  gitk: Use named fonts instead of the font specification
  gitk: Keep track of font attributes ourselves instead of using font
      actual
  gitk: Add a font chooser
  gitk: Fix bug where the last few commits would sometimes not be
      visible
  gitk: Get rid of the diffopts variable
  gitk: Fix Tcl error: can't unset findcurline
  gitk: Limit diff display to listed paths by default
  gitk: Ensure tabstop setting gets restored by Cancel button
  gitk: Integrate the reset progress bar in the main frame
  gitk: Use the status window for other functions
  gitk: Fix some bugs with path limiting in the diff display
  gitk: Fix a couple more bugs in the path limiting
  gitk: Simplify the code for finding commits
  gitk: Use the UI font for the diff/old version/new version radio
      buttons

Pierre Habouzit (3):
  Add some fancy colors in the test library when terminal supports
      it.
  Support a --quiet option in the test-suite.
  fast-import.c: fix regression due to strbuf conversion

Shawn O. Pearce (37):
  Correct builtin-fetch to handle + in refspecs
  Fix off by one bug in reflog messages written by builtin-fetch
  Remove unnecessary debugging from builtin-fetch
  Remove unused unpacklimit variable from builtin-fetch
  Replace custom memory growth allocator with ALLOC_GROW
  Simplify fetch transport API to just one function
  Refactor index-pack "keep $sha1" handling for reuse
  Remove pack.keep after ref updates in git-fetch
  Always ensure the pack.keep file is removed by git-fetch
  Fix builtin-fetch memory corruption by not overstepping array
  Backup the array passed to fetch_pack so we can free items
  Properly cleanup in http_cleanup so builtin-fetch does not segfault
  Don't bother passing ref log details to walker in builtin-fetch
  Cleanup duplicate initialization code in transport_get
  Add transport.h to LIB_H as transport.o is in LIB_OBJS
  Remove unnecessary 'fetch' argument from transport_get API
  Allow builtin-fetch to work on a detached HEAD
  Don't configure remote "." to fetch everything to itself
  Remove more debugging from builtin-fetch
  builtin-fetch: Don't segfault on "fetch +foo"
  Don't attempt to merge non-existant remotes in t5515
  Correct handling of branch.$name.merge in builtin-fetch
  Avoid printing unnecessary warnings during fetch and push
  Use 'unsigned:1' when we mean boolean options
  Rename remote.uri to remote.url within remote handling internals
  Refactor struct transport_ops inlined into struct transport
  Always obtain fetch-pack arguments from struct fetch_pack_args
  Ensure builtin-fetch honors {fetch,transfer}.unpackLimit
  Fix memory leaks when disconnecting transport instances
  Cleanup style nit of 'x == NULL' in remote.c
  Cleanup unnecessary break in remote.c
  Prevent send-pack from segfaulting when a branch doesn't match
  Fix 'push --all branch...' error handling
  Support 'push --dry-run' for rsync transport
  Support 'push --dry-run' for http transport
  Avoid scary errors about tagged trees/blobs during git-fetch
  Define compat version of mkdtemp for systems lacking it

Väinö Järvelä (1):
  Added a test for fetching remote tags when there is not tags.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-08-23  0:37 Junio C Hamano
@ 2007-08-24  0:28 ` Jakub Narebski
  0 siblings, 0 replies; 262+ messages in thread
From: Jakub Narebski @ 2007-08-24  0:28 UTC (permalink / raw)
  To: git

Junio C Hamano wrote:

> Hopefully we can do the final without another -rc sometime early
> next week.

By the way, there is no info in RelNotes about performance fix of the O(n^2)
wrt number of files behavior.

-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
@ 2007-08-23  0:37 Junio C Hamano
  2007-08-24  0:28 ` Jakub Narebski
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-08-23  0:37 UTC (permalink / raw)
  To: git

Many documentation updates, fast-import fixes and enhancements,
updated gitk.

Hopefully we can do the final without another -rc sometime early
next week.

----------------------------------------------------------------

* The 'master' branch has these since the last announcement
  in addition to the above.

Alex Riesen (3):
  Fix whitespace in "Format of STDIN stream" of fast-import
  Avoid using va_copy in fast-import: it seems to be unportable.
  Fix git-remote for ActiveState Perl

Alexandre Julliard (1):
  git.el: Avoid a lisp error when there's no current branch (detached
      HEAD).

Arjen Laarhoven (2):
  gitk: Make the date/time display configurable
  t1301-shared-repo.sh: fix 'stat' portability issue

Brian Downing (1):
  Clarify actual behavior of 'git add' and ignored files

Brian Gernhardt (1):
  Minor clarifications to git-filter-branch usage and doc

Dave Watson (1):
  Fix misspelling of 'suppress' in docs

Eric Wong (1):
  git-svn: update documentation with CAVEATS section

Johannes Sixt (1):
  gitk: Handle 'copy from' and 'copy to' in diff headers.

Junio C Hamano (5):
  Documentation/git-rebase: fix an example
  Clean-up read-tree error condition.
  fast-import pull request
  git clone: do not issue warning while cloning locally across
      filesystems
  GIT 1.5.3-rc6

Lars Hjemli (1):
  git-submodule: re-enable 'status' as the default subcommand

Linus Torvalds (2):
  Make thin-pack generation subproject aware.
  Take binary diffs into account for "git rebase"

Lukas Sandström (1):
  Add the word reflog to
      Documentation/config.txt:core.logAllRefUpdates

Mark Levedahl (1):
  git-completion.bash - add support for git-bundle

Matthieu Moy (1):
  Add and document a global --no-pager option for git.

Mike Hommey (1):
  Clarify commit-tree documentation

Paul Mackerras (3):
  gitk: Fix warning when removing a branch
  gitk: Fix bug in fix for warning when removing a branch
  gitk: Add a window to list branches, tags and other references

Quy Tonthat (1):
  Fix breakage in git-rev-list.txt

René Scharfe (1):
  Documentation: update tar.umask default

Sean Estabrooks (2):
  Fix small typo in git send-email man page.
  Reset terminal attributes when terminating git send-email

Shawn O. Pearce (13):
  git-gui: Avoid Tcl error in popup menu on diff viewer
  Actually allow TAG_FIXUP branches in fast-import
  Use handy ALLOC_GROW macro in fast-import when possible
  Teach fast-import to ignore lines starting with '#'
  Make trailing LF following fast-import `data` commands optional
  Make trailing LF optional for all fast-import commands
  Allow frontends to bidirectionally communicate with fast-import
  Generate crash reports on die in fast-import
  Include recent command history in fast-import crash reports
  Correct documentation of 'reflog show' to explain it shows HEAD
  Don't allow combination of -g and --reverse as it doesn't work
  Fix new-workdir (again) to work on bare repositories
  Suggest unsetting core.bare when using new-workdir on a bare
      repository

Stefan Sperling (1):
  Document -u option in git-svnimport man page

Steffen Prohaska (1):
  gitk: Let user easily specify lines of context in diff view

Steven Grimm (1):
  Document what the stage numbers in the :$n:path syntax mean.

Väinö Järvelä (1):
  git-gui: Added support for OS X right click

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-08-11  8:41 Junio C Hamano
  2007-08-11  9:32 ` David Kastrup
@ 2007-08-16  5:02 ` Junio C Hamano
  1 sibling, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-08-16  5:02 UTC (permalink / raw)
  To: git

Maintenance release 1.5.2.5 is out, so that a fix for "add -u"
breakage can be propagated out to a released version without
waiting for the 1.5.3 final.

The 'master' branch has a few more fixes since -rc5.  Notable
are:

 - fix "add -u" (in 'maint');
 - fix "read-tree -m base1 base2 ours theirs";
 - fix "clone --bare";
 - teach "git apply" to handle submodule patches;

I would like to ask subsystem people to give a pull request
destined for the 1.5.3 final by the end of the week, so that we
can do -rc6 and make it the last rc in this cycle.

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last announcement.

Junio C Hamano (2):
  Fix "git add -u" data corruption.
  GIT 1.5.2.5

Salikh Zakirov (1):
  git-add -u paths... now works from subdirectory


* The 'master' branch has these since the last announcement
  in addition to the above.

Alberto Bertogli (1):
  Allow git-svnimport to take "" as the trunk directory.

Alex Riesen (2):
  gitk: Continue and show error message in new repos
  gitk: Show an error and exit if no .git could be found

Alexandre Julliard (3):
  git.el: Add support for interactive diffs.
  git.el: Always set the current directory in the git-diff buffer.
  git-add: Add support for --refresh option.

Brian Downing (1):
  Add read_cache to builtin-check-attr

Brian Gernhardt (1):
  Fix t5701-clone-local for white space from wc

David Kastrup (2):
  git-sh-setup.sh: make GIT_DIR absolute
  Add a test for git-commit being confused by relative GIT_DIR

Eric Wong (1):
  git-svn: fix log with single revision against a non-HEAD branch

Junio C Hamano (10):
  t3404: fix "fake-editor"
  builtin-bundle create - use lock_file
  git-diff: squelch "empty" diffs
  merge-recursive: do not rudely die on binary merge
  attr.c: refactoring
  attr.c: read .gitattributes from index as well.
  GIT 1.5.3-rc5
  Fix read-tree merging more than 3 trees using 3-way merge
  Update documentation links for older releases.
  git-clone: allow --bare clone

Luiz Fernando N. Capitulino (3):
  Avoid ambiguous error message if pack.idx header is wrong
  Introduces xmkstemp()
  Use xmkstemp() instead of mkstemp()

Marco Costalba (1):
  Add --log-size to git log to print message size

Mark Levedahl (3):
  gitk: Enable selected patch text on Windows
  gitk: Handle MouseWheel events on Windows
  t3902 - skip test if file system doesn't support HT in names

Nicolas Pitre (1):
  pack-objects: remove bogus arguments to delta_cacheable()

Paul Mackerras (4):
  gitk: Add a context menu for file list entries
  gitk: Fix bug causing the "can't unset idinlist(...)" error
  gitk: Fix bug introduced in commit 67a4f1a7
  gitk: Fix bug causing Tcl error when updating graph

Reece H. Dunn (1):
  git-p4: Fix the sorting of changelists when cloning a Perforce
      repository.

René Scharfe (3):
  diff: don't run pager if user asked for a diff style exit code
  diff: squelch empty diffs even more
  path-list.c: always free strdup'ed paths

Steffen Prohaska (1):
  Improved hint on how to set identity

Sven Verdoolaege (1):
  git-apply: apply submodule changes

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-08-11  8:41 Junio C Hamano
@ 2007-08-11  9:32 ` David Kastrup
  2007-08-16  5:02 ` Junio C Hamano
  1 sibling, 0 replies; 262+ messages in thread
From: David Kastrup @ 2007-08-11  9:32 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Junio C Hamano <gitster@pobox.com> writes:

> I thought we were pretty in good shape and in a nice and quiet
> freeze period.
>
> Until a few days ago.
>
> Then suddenly, flurry of activity happened.  A few performance
> issues were raised and fixed:

The fix to git-filter-branch I posted is tested and obviously
necessary (without it, git-filter-branch will only work if GIT_DIR is
set previously to calling it).

Also documentation and usage of git-filter-branch are out of kilter,
the given examples for wiping a file from history don't work,
specifing the refs to work on reacts impredictably (it is not clear
what gets accepted and what not, and one seemingly has to always
specify "HEAD" which is basically ignored).

Could you ask Dscho to consider adding cases based on the
documentation to the test suite?  That should help weed out the worst
discrepances.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
@ 2007-08-11  8:41 Junio C Hamano
  2007-08-11  9:32 ` David Kastrup
  2007-08-16  5:02 ` Junio C Hamano
  0 siblings, 2 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-08-11  8:41 UTC (permalink / raw)
  To: git

I thought we were pretty in good shape and in a nice and quiet
freeze period.

Until a few days ago.

Then suddenly, flurry of activity happened.  A few performance
issues were raised and fixed:

 * "git-status" on a huge tree was way suboptimal and found to
   have unnecessary O(n^2) codepath.  Fixing this also sped up
   "git-diff --cached";
 * "git-commit paths..." had a few other bottlenecks.  "git-add
   --stdin" was one of them;
 * In addition, Linus optimized all three cases of "git
   read-tree" that had the same inefficiency;
 * "git-bundle create" had a stupid "one-byte-at-a-time" loop
   that was unnecessary.

Also one of the new features in 1.5.3, GIT_WORK_TREE, was found
to be not-quite-ready.  I think the few commits during the last
couple of days should finally make it ready.

I have resisted merging any new features that were not present
in 1.5.3-rc1, but it appears that we would need to have a few
more -rc rounds before the final _anyway_, so I went into a
merge-binge. A couple of well done topics from the next branch
are now in master:

    * Carlos's "builtin tag" series;
    * David's "format documentation in info format as well" series;

Expect the tip of 'master' to be tagged v1.5.3-rc5 and let's
hope it to be the last -rc before 1.5.3 final.

----------------------------------------------------------------

* The 'master' branch has these since the last announcement
  in addition to the above.

Alex Riesen (1):
  Fix filehandle leak in "git branch -D"

Brian Downing (1):
  cvsserver: Fix for work trees

Carlos Rica (3):
  Make git tag a builtin.
  builtin-tag.c: Fix two memory leaks and minor notation changes.
  Make verify-tag a builtin.

David Kastrup (4):
  Documentation/git-commit.txt: correct bad list formatting.
  Add support for an info version of the user manual
  INSTALL: explain info installation and dependencies.
  Documentation/Makefile: remove cmd-list.made before redirecting to
      it.

Johannes Schindelin (3):
  launch_editor(): Heed GIT_EDITOR and core.editor settings
  Teach "git stripspace" the --strip-comments option
  Reinstate the old behaviour when GIT_DIR is set and GIT_WORK_TREE
      is unset

Junio C Hamano (9):
  git-clone: aggressively optimize local clone behaviour.
  Reorder the list of commands in the manual.
  Fix formatting of git-blame documentation.
  Fix an illustration in git-rev-parse.txt
  tweak manpage formatting
  Revert "tweak manpage formatting"
  Optimize "diff --cached" performance.
  allow git-bundle to create bottomless bundle
  allow git-bundle to create bottomless bundle

Linus Torvalds (7):
  connect: accept file:// URL scheme
  Start moving unpack-trees to "struct tree_desc"
  Fix "git commit directory/" performance anomaly
  Move old index entry removal from "unpack_trees()" into the
      individual functions
  Optimize the common cases of git-read-tree
  Optimize the two-way merge of git-read-tree too
  Optimize the three-way merge of git-read-tree

Mark Levedahl (2):
  builtin-bundle.c - use stream buffered input for rev-list
  builtin-bundle - use buffered reads for bundle header

Shawn O. Pearce (3):
  Teach update-paranoid how to store ACLs organized by groups
  Teach the update-paranoid to look at file differences
  Use the empty tree for base diff in paranoid-update on new branches

Simon Hausmann (2):
  git-p4: Fix support for symlinks.
  git-p4: Fix git-p4 submit to include only changed files in the
      perforce submit template.

Steve Hoelzer (2):
  git-stash documentation: stash numbering starts at zero, not one
  git-stash documentation: add missing backtick

Steven Grimm (1):
  Add a note about the index being updated by git-status in some
      cases

Uwe Kleine-König (2):
  send-email: rfc822 forbids using <address@domain> without a
      non-empty "phrase"
  send-email: get all the quoting of realnames right

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-07-28  8:47                       ` What's in git.git (stable) Junio C Hamano
  2007-07-28  8:56                         ` David Kastrup
  2007-07-28 12:28                         ` Thomas Glanzmann
@ 2007-08-07  6:22                         ` Junio C Hamano
  2 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-08-07  6:22 UTC (permalink / raw)
  To: git

* The 'maint' branch has these fixes since the last
  announcement, which are all included in 'master' as well.
  Because 1.5.3 is just around the corner, I think it is
  pointless to do 1.5.2.5 from here, though.

Christian Couder (1):
  rev-list --bisect: fix allocation of "int*" instead of "int".

Junio C Hamano (1):
  setup.c:verify_non_filename(): don't die unnecessarily while
      disambiguating

Linus Torvalds (1):
  apply: remove directory that becomes empty by renaming the last
      file away

* The 'master' branch has these since 1.5.3-rc4.

Adam Roben (1):
  Documentation/git-svn: how to clone a git-svn-created repository

Gerrit Pape (1):
  git-am: initialize variable $resume on startup

J. Bruce Fields (4):
  user-manual: update for new default --track behavior
  user-manual: mention git-gui
  documentation: use the word "index" in the git-add manual page
  documentation: use the word "index" in the git-commit man page

Jakub Narebski (1):
  gitweb: Fix handling of $file_name in feed generation

Johannes Schindelin (1):
  checkout-index needs a working tree

Junio C Hamano (8):
  git-completion: add "git stash"
  INSTALL: add warning on docbook-xsl 1.72 and 1.73
  unpack-trees.c: assume submodules are clean during check-out
  Fix install-doc-quick target
  user-manual: mention git stash
  setup.c:verify_non_filename(): don't die unnecessarily while
      disambiguating
  pager: find out pager setting from configuration
  Fix "make GZ=1 quick-install-doc"

Jyotirmoy Bhattacharya (1):
  Fixed git-push manpage

Linus Torvalds (1):
  apply: remove directory that becomes empty by renaming the last
      file away

Randal L. Schwartz (1):
  add "test-absolute-path" to .gitignore

Shawn O. Pearce (1):
  Document GIT_SSH environment variable alongside other variables

Uwe Kleine-König (1):
  send-email: teach sanitize_address to do rfc2047 quoting

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-07-29  9:05                               ` David Kastrup
@ 2007-07-29 16:40                                 ` Theodore Tso
  0 siblings, 0 replies; 262+ messages in thread
From: Theodore Tso @ 2007-07-29 16:40 UTC (permalink / raw)
  To: David Kastrup; +Cc: git

On Sun, Jul 29, 2007 at 11:05:42AM +0200, David Kastrup wrote:
> Theodore Tso <tytso@mit.edu> writes:
> 
> > So I really am beginning to think the right answer is to give up on
> > using git-mergetool to support anything other than basic emacs users
> > (who just use emacs as an editor, what a concept),
> 
> In contrast, you are trying to support only people by using Emacs
> _not_ as an editor, but as a mergetool under the control of git.
> That's a mistake.

The whole *point* of git-mergetool is to automatically call merge
tools so you can do three-way merges under the control of git.  

If you just want an *editor* then you can just edit the files that are
listed as being in conflict after a failed merge or after running "git
status".  You can do that today without using git-mergetool at all!

> Sorry, but you are way off here.  The normal, standard use of Emacs is
> to start it once and do everything in it.  Its startup time is such
> that other uses are not feasible.

Huh?  The startup time of running emacs for me is well under a second
(and I have a 20k ~/.emacs.el file that loads a number of other
files).  I'm sure if you put enough *crap* into your .emacs.el file,
you can make it take a huge amount of time, but I suspect your idea of
what is "normal" for emacs is more than a little skewed.

> So git's mergetool philosophy is currently _straight_ set against the
> way Emacs is designed to work.

So don't use git-mergetool.  Like I said, I suspect the right answer
is contrib/git-mergetool.el, and do everything inside emacs.  If you
are as extreme as someone who pulls in gazillions of emacs packages,
and you are using emacs as a desktop, a shell, and a window manager,
then you can probably do much better using a pure emacs lisp merge
system.

Git mergetool is fundamentally designed to work with tools like meld,
kdiff3, xxdiff, tkdiff, etc.  These are all merge tools, and they work
a certain way.  They expect, and need, to be driven a certain way.  If
you insist on following a fundamentally different paradigm, then past
a certain point git-mergetool is not going to make you happy no matter
what I can do.  The point is, git-mergetool does *need* to do know
when you are done doing a merge, and it needs to know if you've
decided to abandon a merge.  Right now ediff doesn't fit well into
that paradigm.  And that's fundamentally ediff's fault; we can do some
kludgery on the git-mergetool side, but the end result will always be
unsatisfactory, and will require that the person using it to *know*
that it is done.

I, personally, don't feel like trying to twist git-mergetool into
doing the right thing depending on whether you have emacs21, emacs22,
emacs23-snapshot, whether or not the desktop package is in use,
whether or not the user is using emacsclient or not, yadda, yadda,
yaddda.  If you want to take a crack at doing *all* of that mess, and
provide a complete solution, send me patches and I'll look at them.

I think it will add a huge amount of *crap* into git-mergetool in
order to support all possible use cases (I'm not interesting in
putting in hackery just for your favorite use case, if it causes other
users to scratch their heads in befuddlement and confusion), but feel
free to prove me wrong.  

As someone who has used emacs for over two decades, and have written
very sophisticated emacs lisp code during nearly all of those 21 years
(1986--2007; my first use of emacs was on a Vax 750 running BSD 4.3
--- if you want to talk about emacs taking a long time to start up, I
remember what it was like 20 years ago), I'm pretty well aware of what
you can and can not do in emacs, and I think I can say with fairly
good authority that for the amount of effort it would take to try to
get git-mergetool to hack around all of these different cases, writing
git-mergetool.el will probably be easier, and result in a cleaner,
better integration with people who like to live their entire lives in
a single emacs session.

					- Ted

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-07-29  3:16                             ` Theodore Tso
  2007-07-29  9:05                               ` David Kastrup
@ 2007-07-29 11:27                               ` Johannes Schindelin
  1 sibling, 0 replies; 262+ messages in thread
From: Johannes Schindelin @ 2007-07-29 11:27 UTC (permalink / raw)
  To: Theodore Tso; +Cc: git

Hi,

On Sat, 28 Jul 2007, Theodore Tso wrote:

> So I really am beginning to think the right answer is to give up on 
> using git-mergetool to support anything other than basic emacs users 
> (who just use emacs as an editor, what a concept), and for the H4rd C0re 
> emacs l33t, they can use a contrib/git-mergetool.el that does everything 
> inside emacs.  Since these are the people who want emacs to be their 
> desktop, their shell, *and* their window manager, they will probably be 
> happier that way....

Well, maybe not happier.  But at least they will be forced to write a 
patch (if they really want to use git _their_ way, and they'll have to 
defend their patch if they break all other people's work flow), instead of 
writing a lot of long and useless emails.

IOW I do not think "we" have to do something about it.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-07-29  3:16                             ` Theodore Tso
@ 2007-07-29  9:05                               ` David Kastrup
  2007-07-29 16:40                                 ` Theodore Tso
  2007-07-29 11:27                               ` Johannes Schindelin
  1 sibling, 1 reply; 262+ messages in thread
From: David Kastrup @ 2007-07-29  9:05 UTC (permalink / raw)
  To: Theodore Tso; +Cc: git

Theodore Tso <tytso@mit.edu> writes:

> So I really am beginning to think the right answer is to give up on
> using git-mergetool to support anything other than basic emacs users
> (who just use emacs as an editor, what a concept),

In contrast, you are trying to support only people by using Emacs
_not_ as an editor, but as a mergetool under the control of git.
That's a mistake.

> and for the H4rd C0re emacs l33t, they can use a
> contrib/git-mergetool.el that does everything inside emacs.  Since
> these are the people who want emacs to be their desktop, their
> shell, *and* their window manager, they will probably be happier
> that way....

Sorry, but you are way off here.  The normal, standard use of Emacs is
to start it once and do everything in it.  Its startup time is such
that other uses are not feasible.

(info "(emacs) Entering Emacs")

       Many editors are designed to edit one file.  When done with
    that file, you exit the editor.  The next time you want to edit a
    file, you must start the editor again.  Working this way, it is
    convenient to use a command-line argument to say which file to
    edit.

       However, killing Emacs after editing one each and starting it
    afresh for the next file is both unnecessary and harmful, since it
    denies you the full power of Emacs.  Emacs can visit more than one
    file in a single editing session, and that is the right way to use
    it.  Exiting the Emacs session loses valuable accumulated context,
    such as the kill ring, registers, undo history, and mark ring.
    These features are useful for operating on multiple files, or even
    continuing to edit one file.  If you kill Emacs after each file,
    you don't take advantage of them.

       The recommended way to use GNU Emacs is to start it only once,
    just after you log in, and do all your editing in the same Emacs
    session.  Each time you edit a file, you visit it with the
    existing Emacs, which eventually has many files in it ready for
    editing.  Usually you do not kill Emacs until you are about to log
    out.  *Note Files::, for more information on visiting more than
    one file.

       To edit a file from another program while Emacs is running, you
    can use the `emacsclient' helper program to open a file in the
    already running Emacs.  *Note Emacs Server::.


So git's mergetool philosophy is currently _straight_ set against the
way Emacs is designed to work.

One solution would be to call emacs -q in order to weed out users with
the impunity of customizing Emacs to suit their needs rather than
those of git.

But the sanest is really to call Emacs just the way the user
configured $EDITOR to call it and pass it an initial merge command.
And then decide from the results on the disk what to further do.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-07-28  9:35                           ` David Kastrup
@ 2007-07-29  3:16                             ` Theodore Tso
  2007-07-29  9:05                               ` David Kastrup
  2007-07-29 11:27                               ` Johannes Schindelin
  0 siblings, 2 replies; 262+ messages in thread
From: Theodore Tso @ 2007-07-29  3:16 UTC (permalink / raw)
  To: David Kastrup; +Cc: git

On Sat, Jul 28, 2007 at 11:35:40AM +0200, David Kastrup wrote:
> David Kastrup <dak@gnu.org> writes:
> 
> > If you use the desktop package, this means that you get a bear of a
> > startup time while a _new_ instance of Emacs gets loaded against the
> > wishes of the setup, and the command line parameters will be
> > interpreted relatively to the last file restored into the desktop
> > rather than the current directory (arguably a bug in the desktop
> > package which I plan to fix eventually, but in the meantime the
> > current package is farspread).
> 
> I can't reproduce anything similar outside of mergetool, so it appears
> more likely that mergetool is passing wrong relative file names.

See my recent posting on this issue.  The problem is that the desktop
package fundamentally changes how emacs behaves when it starts up.
And in order to fix it we will need to change git-mergetool to do an
"emacs --version", parse the version number, and then start changing
how it calls emacs (and if you *really* want to use emacsclient,
whether it can use emacsclient) based on the version of emacs which is
installed as the default for the user.  It's going to be really messy,
and fundamentally, emacs as used by people who are using the desktop
package really wants to be the center of the universe, instead of
something which gets called to run a "merge application".  Testing to
make sure this works on every single emacs version/variant, and every
single user's weird-sh*t startup scripts isn't something I'm looking
forward to.

So I really am beginning to think the right answer is to give up on
using git-mergetool to support anything other than basic emacs users
(who just use emacs as an editor, what a concept), and for the H4rd
C0re emacs l33t, they can use a contrib/git-mergetool.el that does
everything inside emacs.  Since these are the people who want emacs to
be their desktop, their shell, *and* their window manager, they will
probably be happier that way....

						- Ted

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-07-28  8:47                       ` What's in git.git (stable) Junio C Hamano
  2007-07-28  8:56                         ` David Kastrup
@ 2007-07-28 12:28                         ` Thomas Glanzmann
  2007-08-07  6:22                         ` Junio C Hamano
  2 siblings, 0 replies; 262+ messages in thread
From: Thomas Glanzmann @ 2007-07-28 12:28 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: GIT

Hello Junio,
git HEAD compiles under 'Solaris 8/Forte 11' and 'Solaris 10/Forte 12'
for me.

	Thomas

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-07-28  8:56                         ` David Kastrup
  2007-07-28  9:02                           ` Junio C Hamano
@ 2007-07-28  9:35                           ` David Kastrup
  2007-07-29  3:16                             ` Theodore Tso
  1 sibling, 1 reply; 262+ messages in thread
From: David Kastrup @ 2007-07-28  9:35 UTC (permalink / raw)
  To: git

David Kastrup <dak@gnu.org> writes:

[...]

> If you use the desktop package, this means that you get a bear of a
> startup time while a _new_ instance of Emacs gets loaded against the
> wishes of the setup, and the command line parameters will be
> interpreted relatively to the last file restored into the desktop
> rather than the current directory (arguably a bug in the desktop
> package which I plan to fix eventually, but in the meantime the
> current package is farspread).

I can't reproduce anything similar outside of mergetool, so it appears
more likely that mergetool is passing wrong relative file names.

Have to leave now for the day.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-07-28  8:56                         ` David Kastrup
@ 2007-07-28  9:02                           ` Junio C Hamano
  2007-07-28  9:35                           ` David Kastrup
  1 sibling, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-07-28  9:02 UTC (permalink / raw)
  To: David Kastrup; +Cc: git, Theodore Ts'o

David Kastrup <dak@gnu.org> writes:

> I'd like to see some changes for mergetool's Emacs support: in
> moderately current versions of Emacs and XEmacs, ediff is a much
> preferable tool to emerge.

Between ediff and emerge, I think Ted gave a well thought out
analysis on the list earlier, so you might want to consider the
issues he raised if/when you tackle this.

This is late in the game, however, so your change probably won't
be merged before I can tag 1.5.3 final, but I'd expect that a
better Emacs support will be widely welcomed.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-07-28  8:47                       ` What's in git.git (stable) Junio C Hamano
@ 2007-07-28  8:56                         ` David Kastrup
  2007-07-28  9:02                           ` Junio C Hamano
  2007-07-28  9:35                           ` David Kastrup
  2007-07-28 12:28                         ` Thomas Glanzmann
  2007-08-07  6:22                         ` Junio C Hamano
  2 siblings, 2 replies; 262+ messages in thread
From: David Kastrup @ 2007-07-28  8:56 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Junio C Hamano <gitster@pobox.com> writes:

> It's been a while since I sent this the last time.
>
> We are nearing 1.5.3 final; I pulled gitk updates tonight, and
> expect git-gui updates to 0.8.0 over the weekend.  There are a
> handful trivial fixes since 1.5.3-rc3.

I'd like to see some changes for mergetool's Emacs support: in
moderately current versions of Emacs and XEmacs, ediff is a much
preferable tool to emerge.

Also, the mergetool determines when to use emerge for merging by
looking at the EDITOR/VISUAL variables.  While it recognizes the
presence of "emacsclient" and "gnuclient" there for offering the
emerge tool, it does not actually use those settings for calling
Emacs/XEmacs.  If you use the desktop package, this means that you get
a bear of a startup time while a _new_ instance of Emacs gets loaded
against the wishes of the setup, and the command line parameters will
be interpreted relatively to the last file restored into the desktop
rather than the current directory (arguably a bug in the desktop
package which I plan to fix eventually, but in the meantime the
current package is farspread).

I'll try to come up with a fix this weekend if nobody beats me to it.
As it stands, the mergetool is somewhere between subpar and unusable
by default for a considerable number of Emacs users.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-07-13  6:06                     ` What's in git.git Junio C Hamano
@ 2007-07-28  8:47                       ` Junio C Hamano
  2007-07-28  8:56                         ` David Kastrup
                                           ` (2 more replies)
  0 siblings, 3 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-07-28  8:47 UTC (permalink / raw)
  To: git

It's been a while since I sent this the last time.

We are nearing 1.5.3 final; I pulled gitk updates tonight, and
expect git-gui updates to 0.8.0 over the weekend.  There are a
handful trivial fixes since 1.5.3-rc3.

I am hoping one topic (bs/lock) to graduate from 'next' and
another from nowhere (js/worktree) before 1.5.3-rc4, probably by
mid next-week.

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last announcement.

Julian Phillips (1):
  Force listingblocks to be monospaced in manpages

Junio C Hamano (1):
  Do not expect unlink(2) to fail on a directory.


* The 'master' branch has these since the last announcement
  in addition to the above.

Adam Roben (1):
  Add GIT_EDITOR environment and core.editor configuration variables

Alex Riesen (1):
  Fix git-rebase -i to allow squashing of fast-forwardable commits

Alexandre Julliard (2):
  git.el: Support for incremental status updates.
  git.el: Pass an explicit argument to enable smerge-mode.

Brian Gernhardt (1):
  Document commit.template configuration variable.

Carlos Rica (1):
  Rename read_pipe() with read_fd() and make its buffer
      nul-terminated.

David Kastrup (2):
  contrib/emacs/Makefile: Also install .el files.
  Documentation/gitignore.txt: Fix the seriously misleading priority
      explanation

Emil Medve (1):
  Use $(RM) in Makefiles instead of 'rm -f'

Eric Wong (2):
  git-svn: remove leading slashes from fetch lines in the generate
      config
  git-svn: fix commiting renames over DAV with funky file names

Francis Moreau (1):
  Fix git-branch documentation when using remote refs

Greg KH (1):
  make git-send-email.perl handle email addresses with no names when
      Email::Valid is present

Jakub Narebski (3):
  gitweb cleanup: Move @diff_opts declaration earlier
  gitweb: Fix support for legacy gitweb config for snapshots
  gitweb: More detailed error messages for snapshot format

Jim Meyering (2):
  git-cvsserver: detect/diagnose write failure, etc.
  pretty-options.txt: tiny doc fix

Johannes Schindelin (13):
  filter-branch: get rid of "set -e"
  rebase -i: call editor just once for a multi-squash
  fsck --lost-found: write blob's contents, not their SHA-1
  mailinfo: fix 'fatal: cannot convert from utf-8 to utf-8'
  Shut "git rebase -i" up when no --verbose was given
  rebase -i: exchange all "if [ .. ]" by "if test .."
  filter-branch: Big syntax change; support rewriting multiple refs
  Teach revision machinery about --no-walk
  git log -g: Complain, but do not fail, when no reflogs are there
  Teach approxidate() to understand "never"
  git am: skip pine's internal folder data
  rebase -i: fix overzealous output redirection
  rebase -i: fix interrupted squashing

Josh Triplett (1):
  Remove useless uses of cat, and replace with filename arguments

Junio C Hamano (24):
  Make show_rfc2822_date() just another date output format.
  Wire new date formats to --date=<format> parser.
  Document new --date=<format>
  Add contrib/stats/mailmap.pl script
  Update .mailmap
  Documentation/git-commit-tree: remove description of a nonexistent
      limitation
  GIT v1.5.3-rc2
  Update INSTALL
  Fix VISUAL/EDITOR preference order in Documentation/config.txt.
  Synonyms: -i == --regexp-ignore-case, -E == --extended-regexp
  Mark user-manual as UTF-8
  user-manual: fix typolets.
  t9200: Be careful when checking CVS/Entries
  GIT 1.5.3-rc3
  Make sure git-stash works from subdirectory.
  gitweb: fix broken snapshot
  git-submodule module_name: avoid using unwieldy "value_regexp"
      feature.
  git-submodule: remove redundant call to git-describe
  When locking in a symlinked repository, try to lock the original.
  git_mkstemp(): be careful not to overflow the path buffer.
  Update description of -z option.
  git-stash: do not remove a ref by hand.
  Fix git-stash apply --index
  git-stash apply --index: optimize postprocessing

Kumar Gala (1):
  send-email: Update regex parsing for pine aliases

Linus Torvalds (2):
  Do a better job at guessing unknown character sets
  Fix up duplicate parents removal

Marco Costalba (1):
  Avoid to duplicate commit message when is not encoded

Marius Storm-Olsen (1):
  Fix git-p4 on Windows to not use the Posix sysconf function.

Mark Levedahl (1):
  gitk: Ignore ctrl-z as EOF on windows

Matt McCutchen (1):
  gitweb: snapshot cleanups & support for offering multiple formats

Matthieu Moy (1):
  More permissive "git-rm --cached" behavior without -f.

Nanako Shiraishi (2):
  Document "git stash message..."
  git-stash: Make sure reflog is created for refs/stash

Nguyễn Thái Ngọc Duy (1):
  git-write-tree should not crash if prefix does not exist

Paul Mackerras (5):
  gitk: Fix bug introduced by previous commit
  gitk: Show changes in index and changes in working directory
      separately
  gitk: Make the fake commit for the index changes green rather than
      magenta
  gitk: Wait for the window to become visible after creating it
  gitk: Fix bugs in the Find function

Peter Hagervall (1):
  Make every builtin-*.c file #include "builtin.h"

René Scharfe (2):
  filter-branch: fix dash complaining about "Missing '))'"
  cleanup unpack-trees.c: shrink struct tree_entry_list

Richard MUSIL (1):
  git-svn: Minimalistic patch which allows svn usernames with
      space(s).

Robin Rosenberg (3):
  Support output ISO 8601 format dates
  cvsexportcommit: avoid racy CVS problem.
  Document --unified/-U option

Scott Lamb (2):
  git-p4: use subprocess in p4CmdList
  git-p4: input to "p4 files" by stdin instead of arguments

Sean Estabrooks (3):
  Remove "WITH_P4IMPORT" knob from the Makefile
  Remove p4 rpm from git.spec.in.
  Demote git-p4import to contrib status.

Shawn O. Pearce (3):
  Correct trivial typo in fast-import documentation
  Teach fast-import to recursively copy files/directories
  gitk: Bind keyboard actions to the command key on Mac OS

Simon Hausmann (4):
  git-p4: Cleanup, make listExistingP4Branches a global function for
      later use.
  git-p4: Fix upstream branch detection for submit/rebase with
      multiple branches.
  git-p4: Cleanup, used common function for listing imported p4
      branches
  git-p4: Fix p4 user cache population on Windows.

Stephen Rothwell (1):
  send-email: discard blank around address in extract_valid_address
      as well.

Steven Grimm (2):
  Document how to tell git to not launch a pager
  Teach git-commit about commit message templates.

Sven Verdoolaege (2):
  lockfile.c: schedule remove_lock_file only once.
  unpack-trees.c: assume submodules are clean during check-out

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-06-25  9:43                 ` Junio C Hamano
@ 2007-07-02  0:16                   ` Junio C Hamano
  2007-07-13  6:06                     ` What's in git.git Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-07-02  0:16 UTC (permalink / raw)
  To: git

Will do a 1.5.2.3 with the tip of 'maint' probably mid-week and
a 1.5.3-rc1 at about the same time from 'master', hopefully with
a few topics that have been in 'next', and also some "discussed
but forgotten" fixes on the list if somebody kindly can remind
me ;-).

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last announcement.

Frank Lichtenheld (2):
  config: Complete documentation of --get-regexp
  config: Change output of --get-regexp for valueless keys

Linus Torvalds (1):
  Fix zero-object version-2 packs

Matt Kraai (1):
  Correct the name of NO_R_TO_GCC_LINKER in the comment describing
      it.

Sam Vilain (3):
  cleanup merge-base test script
  repack: improve documentation on -a option
  git-remote: document -n

Shawn O. Pearce (5):
  git-gui: Correctly install to /usr/bin on Cygwin
  git-gui: Bind Tab/Shift-Tab to cycle between panes in blame
  git-gui: Don't require $DISPLAY just to get --version
  git-gui: Don't nice git blame on MSYS as nice is not supported
  git-gui: Don't require a .pvcsrc to create Tools/Migrate menu hack

Sven Verdoolaege (1):
  Ignore submodule commits when fetching over dumb protocols


* The 'master' branch has these since the last announcement
  in addition to the above.

Adam Roben (2):
  git-send-email: Add --threaded option
  git-send-email: make options easier to configure.

Alex Riesen (1):
  Avoid perl in t1300-repo-config

Alexandre Vassalotti (1):
  git-tag: Fix "can't shift that many".

Brian Gernhardt (1):
  Fix t5516-fetch for systems where `wc -l` outputs whitespace.

Carlos Rica (3):
  Fix git-stripspace to process correctly long lines and spaces.
  Add test script for git-stripspace.
  Add test-script for git-tag

Frank Lichtenheld (2):
  config: Add --null/-z option for null-delimted output
  config: add support for --bool and --int while setting values

Gerrit Pape (1):
  git-cvsimport: force checkout of working tree after initial import

Jim Meyering (3):
  detect close failure on just-written file handles
  Don't ignore a pack-refs write failure
  git-log: detect dup and fdopen failure

Johannes Schindelin (2):
  t7004: ship trustdb to avoid gpg warnings
  git add: respect core.filemode with unmerged entries

Junio C Hamano (2):
  Add core.quotepath configuration variable.
  Update draft Release Notes for 1.5.3

Linus Torvalds (3):
  Clean up internal command handling
  Check for IO errors after running a command
  git: Try a bit harder not to lose errno in stdio

Mark Levedahl (5):
  gitk: Make selection highlight color configurable
  gitk: Update fontsize in patch / tree list
  gitk: Allow specifying tabstop as other than default 8 characters.
  gitk: Use a spinbox for setting tabstop settings
  gitk: Update selection background colorbar in prefs dialog

Matthias Lederhofer (10):
  rev-parse: document --is-inside-git-dir
  rev-parse: introduce --is-bare-repository
  test git rev-parse
  introduce GIT_WORK_TREE to specify the work tree
  Use new semantics of is_bare/inside_git_dir/inside_work_tree
  extend rev-parse test for --is-inside-work-tree
  test GIT_WORK_TREE
  setup_git_directory: fix segfault if repository is found in cwd
  filter-branch: always export GIT_DIR if it is set
  make git barf when an alias changes environment variables

Michael Krelin (1):
  git-svn: honor ~/.subversion/ client cert file settings.

Paul Mackerras (18):
  gitk: Use the -q flag to git checkout
  gitk: New infrastructure for working out branches & previous/next
      tags
  gitk: Don't try to list large numbers of tags or heads in the
      details pane
  gitk: Add some more comments to the optimize_rows procedure
  gitk: Improve the behaviour of the initial selection
  gitk: Implement a simple scheduler for the compute-intensive stuff
  gitk: Cope with commit messages with carriage-returns and initial
      blank lines
  gitk: Disable the head context menu entries for the checked-out
      branch
  gitk: Store ids in rowrangelist and idrowranges rather than row
      numbers
  gitk: New algorithm for drawing the graph lines
  gitk: Show local uncommitted changes as a fake commit
  gitk: Speed up the reading of references
  gitk: Get rid of the childlist variable
  gitk: Add a "reset branch to here" row context-menu operation
  gitk: Limit how often we change the canvas scrolling region
  gitk: Fix bug causing nearby tags/heads to sometimes not be
      displayed
  gitk: Improve handling of whitespace and special chars in filenames
  gitk: Add a progress bar to show progress while resetting

Quy Tonthat (1):
  git.spec: RPM failed, looking for wrong files.

René Scharfe (2):
  diffcore-rename: don't change similarity index based on basename
      equality
  diff: round down similarity index

Sam Vilain (2):
  git-svn: use git-log rather than rev-list | xargs cat-file
  git-svn: cache max revision in rev_db databases

Shawn O. Pearce (3):
  git-gui: Quiet our installation process
  Teach bash how to complete +refspec on git-push
  Correct usages of sed in git-tag for Mac OS X

Simon Hausmann (1):
  git-new-workdir: Fix shell warning about operator == used with
      test.

Theodore Ts'o (1):
  Don't fflush(stdout) when it's not helpful

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-06-21  7:21               ` Junio C Hamano
@ 2007-06-25  9:43                 ` Junio C Hamano
  2007-07-02  0:16                   ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-06-25  9:43 UTC (permalink / raw)
  To: git

Among many small fixes and some code churns, there are a few
notable topics from 'next'.

 - git-filter-branch to rewrite history;

 - git-add "Huh?" factor fix when attempting to add an empty directory;

 - git-log and friends do not have the 16kB size limit for
   commit log messages anymore;

 - git-log and friends' --pretty=oneline treats the first
   paragraph of a commit log message as the title line;

 - "git-log --follow -- single-file";

Simon Hausmann and Shawn Pearce have shepherded a fast-import
based Perforce importer into contrib/fast-import area.

* The 'master' branch has these since the last announcement

Dave O'Neill (1):
  Generate tags with correct timestamp (git-svnimport)

Gerrit Pape (1):
  git-svn: trailing slash in prefix is mandatory with --branches/-b

Jeff King (4):
  dir_struct: add collect_ignored option
  builtin-add: simplify (and increase accuracy of) exclude handling
  Fix ALLOC_GROW off-by-one
  Fix ALLOC_GROW calls with obsolete semantics

Johannes Schindelin (7):
  Add git-filter-branch
  filter-branch: use $(($i+1)) instead of $((i+1))
  filter-branch: fix behaviour of '-k'
  Teach filter-branch about subdirectory filtering
  pp_header(): work around possible memory corruption
  diffcore-rename: favour identical basenames
  filter-branch: add example to move everything into a subdirectory

Johannes Sixt (4):
  filter-branch: Use rev-list arguments to specify revision ranges.
  filter-branch: also don't fail in map() if a commit cannot be
      mapped
  filter-branch: Simplify parent computation.
  filter-branch: subdirectory filter needs --full-history

Julian Phillips (1):
  new-workdir: handle rev-parse --git-dir not always giving full path

Junio C Hamano (5):
  t7003: make test repeatable
  Lift 16kB limit of log message output
  Extend --pretty=oneline to cover the first paragraph,
  Two trivial -Wcast-qual fixes
  git-send-email: Do not make @-less message ID

Linus Torvalds (2):
  Finally implement "git log --follow"
  Fix up "git log --follow" a bit..

Matthias Lederhofer (3):
  filter-branch: prevent filters from reading from stdin
  chmod +x git-filter-branch.sh
  make dist: include configure script in tarball

Nanako Shiraishi (1):
  Cloning from a repo without "current branch"

Shawn O. Pearce (2):
  Avoid src:dst syntax as default bash completion for git push
  Document git-gui, git-citool as mainporcelain manual pages

Sven Verdoolaege (1):
  t9500: skip gitweb tests if perl version is too old

-- p4 --

Benjamin Sergeant (1):
  git-p4 fails when cloning a p4 depo.

Han-Wen Nienhuys (28):
  Cleanups
  reformatting: break long lines.
  rename apply() to applyCommit(); apply is a python builtin
  add .dotest to .gitignore
  Robustness fixes for pipes
  cleanup
  minor cleanups
  clone and sync --keep-path to keep perforce path to module.
  use string.strip() iso. slicing.
  use strip() iso. slicing for removing \n
  add --verbose to all commands.
  Extract multiple paths concurrently.
  Diverse cleanups
  remove global .gitdir
  Read p4 files in one batch.
  Thinko, fix buglet.
  store p4 user cache in home directory.
  thinko.
  read files before creating the commit.
  don't p4 print deleted files.
  only run p4 print if necessary
  use p4CmdList() to get file contents in Python dicts. This is more
      robust.
  Cleanups & import into p4/master for local import
  remove debug print
  thinko: really ignore deleted files.
  look for 'text' and 'binary' files.
  print error message when p4 print fails (eg. due to permission
      problems)
  also strip p4/ from local imports.

Kevin Green (1):
  git-p4: check for existence of repo dir before trying to create

Marius Storm-Olsen (7):
  Make the command call silent
  Replace \r\n with \n when importing from p4 on Windows
  Ensure that the commit message is Windows formated (CRLF) before
      invoking the editor.
  Fix git-p4 clone (defaultDestination)
  Fix single branch import into remotes
  Exclude the HEAD symbolic ref from the list of known branches
  Only use double quotes on Windows

Simon Hausmann (222):
  Initial import of a python script to import changesets from
      Perforce into git.
  Added basic support for specifying the depot path to import from as
      well as the range of perforce changes.
  Slightly improved help usage output and made specifying the
      trailing slash for the depot path optional.
  Implemented basic support for converting the date of the perforce
      change to the git format. The timezone isn't correctly set up
      yet though.
  Some fixes to the timezone conversion between the date of a
      perforce change and the git commit.
  Speed up the import of individual files from Perforce into git by
      passing the output of "p4 print" directly to git fast-import.
      Also try to set the mode of the file in git correctly based on
      file type heuristics.
  Removed unused p4cat function and added helper function for the
      perforce python interface (p4Cmd).
  Changed the import mechanism to write to git fast-import through a
      pipe instead of having p4-fast-export write to stdout and let
      the caller connect it to git fast-import.
  Minor code cleanups and ported some p4 interfacing code over to the
      p4 python mode.
  Instead of parsing the output of "p4 users" use the python objects
      of "p4 -G users".
  Ported the remaining functions that parsed p4 shell output over to
      the p4 python interface.
  Avoid calling fstat for every imported file (slow!) and instead
      read the file data first into the python process and use the
      length of the bytes read for the size field of git fast-import.
  Permit calling p4-fast-export with a depot path that has the
      typical ... wildcard at the end.
  Fixed displaying import progress by calling flush on stdout.
  Create a git tag for every changeset imported from perforce.
  Fix file permissions of p4-fast-export.py to be executable.
  Started working on incremental imports from Perforce.
  Simplify the incremental import by elimination the need for a
      temporary import branch.
  Code cleanups, move the code to create a commit with fast-import
      into a separate function out of the main loop.
  Initial support for importing a directory from Perforce at a
      specified revision.
  Minor cleanups and print an error message of git fast-import if it
      fails.
  Fixed incremental imports by using the correct "from" command
      instead of "merge" with git fast-import.
  Make incremental imports easier to use by storing the p4 depot path
      after an import in .git/config and re-using it when we're
      invoked again later.
  Make specifying the revision ranges more convenient.
  Fix calculation of the newest imported revision for #head imports.
  Catch io exceptions from git fast-import again and print the error
      message.
  Made the name of the git branch used for the perforce import
      configurable through a new --branch=<name> commandline option.
  Added a little helper script to debug the output of the p4 python
      interface.
  Minor code cleanups.
  Avoid the excessive use of git tags for every perforce change and
      instead just create one git tag for the last imported change.
  Changed the default git import branch from "p4" to "master".
  Added a little helper script to remove unused tags from the
      perforce import.
  Create lightweight git tags (using the "reset" trick) for the
      incremental import instead of full-blown ones. Also fix parsing
      the output of git name-rev for figuring out the last imported
      p4 change number.
  Cleanups, remove unused variable.
  Code cleanups.
  Started work on p4 branch detection (experimental!).
  More fixes in heuristic p4 branch detection based on common path
      components.
  After marking a p4 branch as merged don't ever merge it in git
      again.
  Set git fast-import marks for every imported change for future use.
  When trying to map p4 integrations to git merges just record it as
      a single merge with the newest p4 change as secondary parent.
  Make it possible to specify the p4 changes to import through a text
      file (for debugging) and made various improvements to the
      branch/merge heuristic detection.
  Use sets.Set() instead of set() to run also with older versions of
      Python.
  Fix single-branch imports by skipping the branch/merge detection
      correctly.
  Added p4 delete behavioural emulation as todo item.
  Added support for --silent so that p4-fast-export can be called
      from cronjobs.
  More work in --silent support.
  Don't print a plain newline at the end of the execution (avoids
      bogus cron error mails).
  Adjust the output parsing of git name-rev to handle the output of
      the latest git version.
  Work in progress on detecting branches.
  Changed --known-branches to take a file as argument instead of a
      comma separated list.
  Fixed p4-debug file extension.
  Make the p4 data/command cache configurable through the
      --cache-debug commandline option.
  Minor code cleanups.
  More code cleanups and preparations for more branch detection
      heuristics.
  More work on branch detection by implementing
      changeIsBranchMerge().
  Reduce the number of false "merges" by skipping "branch from"
      entries in the integrated output as well as by ignoring
      integrations of future (newer) changes.
  Split up the cache commandline options into (command) cache and
      data cache.
  First version of a new script to submit changes back to perforce
      from git repositories.
  Fix git-dir option and allow reading log substitutions from a file
  Lots of bugfixes to p4-git-sync.
  Automatically operate on a temporary branch, needed for cherry-pick
      to work when applying changes to
  Be nice and use /usr/bin/env python for the git-p4 scripts
  Ignore Apple resource files when importing from perforce to git.
  Auto-detect the current git branch before submitting back to
      perforce.
  Use p4 revert ... instead of revert -a ... after submitting, to
      make sure the p4 checkout is clean.
  Default to interactive syncing
  Improved the git dir detection.
  Pass the right number of arguments to commit, fixes single-branch
      imports.
  Start moving the git-p4 tools into one single script.
  Provide a little bit of help description for the git-p4 "tools".
  First (untested) attempt at migrating p4-git-sync into the final
      git-p4 script
  Part of the code is copyright by Trolltech ASA.
  sync-to-perforce is now called submit and fixed the gitdir check a
      little bit
  Completely untested "merge" of p4-fast-export.py into git-p4.py
  Added missing "self"s to make the script evaluate correctly.
  Fixed the initial version import by getting the file index correct
      by correctly skipping deleted files.
  Removed p4-fast-export and p4-git-sync as they've been integrated
      into git-p4 now.
  Start of the git-p4 documentation.
  Documentation enhancements.
  Added experimental but super-fast --apply-as-patch option to git-p4
      submit
  Fix support for deletions in git-p4 submit when using
      --apply-as-patch by filtering out deletions in the diff-tree
      output.
  Made --apply-as-patch the default for git-p4 submit as it's
      significantly faster.
  Make it possible to invoke git-p4 from within subdirectories of a
      git working tree.
  Don't show the submit template and the diff first in less but show
      it in $editor right away
  Removed the .py extension from git-p4 as it's annoying to type
      every time.
  Changed the format of the imported log message slightly, so that
      it's easier to parse again.
  Changed the default branch for imports from "master" to "p4"
  Added some helper function(s) to parse the depot path and change
      number from the log message
  Helper function to check the existance of a revision
  Set the default branch in run, not in the constructor
  Brand new smart incremental import that doesn't need tags or git
      repo-config :)
  Make it possible to run git-p4 submit from within the git
      repository
  Use the new incremental import style by default
  Different versions of p4 have different output for the where
      command ;(
  Minor cosmetic fixlet for the git-p4 submit sync question.
  Prefer git command over git-command.
  Don't try to parse any options with git-p4 debug but pass it
      straight on to p4
  git-p4 debug doesn't need a git repository
  Added support for mapping p4 labels to git tags
  Fix variable usage in tag import
  Fix the docs for git-p4 submit and turn git-p4 submit --master=foo
      into
  Fix "compilation" :)
  Clean up python class names.
  Added git-p4 rebase convenience
  Provide a tree summary after git-p4 rebase
  Turn off potentially slow label detection by default
  Honor --silent for labels
  Added git-p4 clone convenience command
  Fix file determination for #head imports
  fix variable usage (oops)
  Added a simple example of usage to the "documentation" :)
  Allow for convenient rebasing after git-p4 submit
  Print an error message of some sort if git fast-import fails.
  Fix the timezone formatting. Now qgit also displays (parses) it
      correctly.
  Removed the old patch apply code from git-p4 submit.
  Slightly improved formatting of the raw_input questions.
  A new attempt at fixing the child-fast-import-process-not-finished
      race condition
  Handle patch errors in git-p4 submit better.
  Doc cleanups.
  Micro cleanup
  cleanup, renamed self.globalPrefix to self.depotPath
  Cleanup, removed the old tagging code
  Document some implementation details, for the curious... :)
  Use the subprocess module instead of popen2 to make it work on
      Windows.
  Added a little .bat wrapper from Marius
  Make sure all popen calls use binary mode (for Windows) and
  Make submitting work on Windows.
  Converted to unix newlines
  Fix git-p4 clone //depot/project (head import)
  Make git-p4 work with bare repositories.
  Added the possibility of skipping patches during git-p4 submit
  Give a better hint if git-p4 submit fails
  Fix calling git-p4 rebase from within a subdirectory (git rebase
      wants to be in toplevel)
  A little todo note before I forget it :), based on a suggestion
      from Lars.
  Fixing syncing (gitdir discovery / cd) for bare repositories
  Always pass a sha1 for the initial parent so that git-fast-import
      doesn't think
  Clean up code duplication for revision parsing and fix previous
      commit to not
  Removed cleantags command. It doesn't have any meaning anymore.
  Removed ancient and unused code to find the last imported revision
      from previous imports
  Create the origin based import branch using git update-ref instead
      of git branch
  Changed the default p4 import branch to be
      refs/remotes/p4/{HEAD,master}
  Bite the bullet and automatically convert old style refs/heads/p4
      repositories
  Added support for git-p4 sync/rebase --with-origin. See git-p4.txt
      for details :)
  Removed todo item that is implemented :)
  Fix branch setup after initial clone.
  Removed unused cache variables.
  Started rewriting the branch detection, based on "p4 branches" and
      "p4 branch -o foo".
  Give branches a nice project prefix and don't bail out on clone if
      we failed
  More work on the incremental importing of multiple branches.
  Cleanup/speed up the branch<> file split and removed change range
      limitation that I added
  More cleanups and speedups for labels and branches
  Removed unused variable, more cleanups
  Cache the output of "p4 users" for faster syncs on high latency
      links.
  Fix gitdir not being set when cloning. Needed for writing the p4
      users cache.
  Oops, not only /set/ gitdir on clone, also set it /correctly/ :)
  Use git format-patch and git apply --apply when extracting patches
      from git and
  Added support for git-p4 submit --direct (experimental)
  Specifying --detect-branches is now only needed for the initial
      clone/sync.
  Had an idea for debugging, record it :)
  Another (potentially life-saving) idea for submit --direct
  Improved output for multi branch imports and noted another little
      todo item
  Fix conversion from old style heads/p4 to remotes/p4/master
  Fix error detection with git-p4 submit when the requested depot
      path is not in the client view.
  Fix git symbolic-ref warning on initial clone
  Detect with git-p4 submit --direct when there are no changes in the
      working directory
  Make git-p4 submit --direct safer by also creating a git commit
  Added a rollback command for debugging. It sets back the heads of
      the p4 branches to the specified p4 change number or earlier.
  Fix branch detection in multi-branch imports
  Fixes for rollback, delete branches that did not exist at the
      specified p4 change
  Added support for importing multiple branches into refs/heads
      instead of just refs/remotes
  Added support for --max-changes=<count> to ease import debugging
  Use refs/heads/* instead of refs/heads/p4/* for local imports
  Doc updates
  Avoid calling git symbolic-ref refs/heads/p4//HEAD (double slash)
  Make rollback work with locally imported branches
  Don't make len(p4Cmd("p4 changes -m 1 //foo/...")) == 0 succeed
      when the p4 command itself failed.
  Oops, fill the /list/ correct with the p4 exit code.
  Catch p4 errors in rollback early enough (before deleting refs!)
  Fix p4 execution in git-p4 rollback.
  Fix multi-branch import with --silent.
  Load the user map from p4 only once at run-time.
  Fix creating the remotes/p4 branches based on origin/* for the
      multi-branch import
  Forgot to remove this return statement from debugging
  Added support for --with-origin with multi-branch imports
  Oops, fix --with-origin to /really/ also call git fetch :)
  Avoid creating non-p4 branches in remotes/p4 off of remotes/origin
  Make git-p4 work with packed refs (don't use os.path.exists to
      check for the
  Make --with-origin also work without origin :)
  Make --with-origin the default for syncing.
  Shortcut the case where we have no origin branch
  Forgot to remove this TODO item when I made --with-origin the
      default :)
  Added git-p4 submit --trust-me-like-a-fool for the adventurous
      users :)
  Fix creation of refs/remotes/p4/HEAD symbolic ref
  Fix my email address, this isn't really KDE related :)
  In *_pipe print the command that failed if it fails.
  Fix typo in listExistingP4Branches that broke sync.
  Fix support for "depot-path" in older git-p4 imports
  Fix common path "calculation" from logs of multiple branches.
  Don't attempt to set the initialParent on multi-branch imports
      (useless).
  Hack to make the multi-branch import work again with
      self.depotPaths now that
  Fix git-p4 rebase
  Fix git-p4 submit
  Fix depot-path determination for git-p4 submit
  Make clone behave like git clone by default again.
  Make git-p4 submit detect the correct reference (origin) branch
      when
  Only get the expensive branch mapping from the p4 server when not
  Fixed the check to make sure to exclude the HEAD symbolic refs when
      updating
  Fix updating/creating remotes/p4/* heads from origin/p4/*
  Fix project name guessing
  Fix depot-paths encoding for multi-path imports (don't split up
      //depot/path/foo)
  Fix support for explicit disabling of syncing with the origin
  Write out the options tag in the log message of imports only if we
      actually have
  Provide some information for single branch imports where the
      commits go
  Mention remotes/p4/master also in the documentation.
  git-p4 submit: Fix missing quotes around p4 commands to make them
      work with spaces in filenames
  Moved the code from git-p4 submit to figure out the upstream branch
      point
  Fix git-p4 rebase to detect the correct upstream branch instead of
      unconditionally
  Fix initial multi-branch import.
  Fix the branch mapping detection to be independent from the order
      of the "p4 branches" output.
  Warn about conflicting p4 branch mappings and use the first one
      found.
  Added git-p4 branches command that shows the mapping of perforce
      depot paths to imported git branches.
  Make it possible to specify the HEAD for the internal
      findUpstreamBranchPoint function.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-06-13 20:11             ` Junio C Hamano
  2007-06-13 22:31               ` Johannes Schindelin
@ 2007-06-21  7:21               ` Junio C Hamano
  2007-06-25  9:43                 ` Junio C Hamano
  1 sibling, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-06-21  7:21 UTC (permalink / raw)
  To: git

* The 'maint' branch has these fixes since the last announcement.

 Alex Riesen (1):
  Add a local implementation of hstrerror for the system which do not have it

 Jakub Narebski (1):
  Generated spec file to be ignored is named git.spec and not git-core.spec

 Johannes Schindelin (2):
  Move buffer_is_binary() to xdiff-interface.h
  merge-recursive: refuse to merge binary files

 Junio C Hamano (5):
  $EMAIL is a last resort fallback, as it's system-wide.
  git-branch --track: fix tracking branch computation.
  Avoid diff cost on "git log -z"
  Documentation: adjust to AsciiDoc 8
  GIT 1.5.2.2


* The 'master' branch has these since the last announcement
  in addition to the above.

 Alex Riesen (2):
  Do not use h_errno after connect(2): the function does not set it
  cvsserver: Actually implement --export-all

 Daniel Barkalow (1):
  Fix pushing to a pattern with no dst

 Frank Lichtenheld (3):
  cvsserver: Add some useful commandline options
  cvsserver: Let --base-path and pserver get along just fine
  cvsserver: Actually implement --export-all

 Gerrit Pape (1):
  git-branch: cleanup config file when deleting branches

 Ismail Dönmez (1):
  Change default man page path to /usr/share/man

 Jakub Narebski (8):
  Document git rev-list --full-history
  Document git read-tree --trivial
  Document git rev-parse --is-inside-git-dir
  Document git reflog --stale-fix
  Document git rev-list --timestamp
  Use tabs for indenting definition list for options in git-log.txt
  Document git log --abbrev-commit, as a kind of pretty option
  Document git log --full-diff

 Junio C Hamano (8):
  remote.c: refactor match_explicit_refs()
  remote.c: refactor creation of new dst ref
  remote.c: minor clean-up of match_explicit()
  remote.c: fix "git push" weak match disambiguation
  remote.c: "git-push frotz" should update what matches at the source.
  git-push: Update description of refspecs and add examples
  Documentation: update "stale" links for 1.5.2.2
  INSTALL: explain how to build documentation

 Lars Hjemli (6):
  t7400: barf if git-submodule removes or replaces a file
  git-submodule: remember to checkout after clone
  Rename sections from "module" to "submodule" in .gitmodules
  git-submodule: give submodules proper names
  Add gitmodules(5)
  gitmodules(5): remove leading period from synopsis

 Sam Vilain (1):
  git-svn: avoid string eval for defining functions

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-06-13 22:31               ` Johannes Schindelin
@ 2007-06-14  7:12                 ` Johannes Sixt
  0 siblings, 0 replies; 262+ messages in thread
From: Johannes Sixt @ 2007-06-14  7:12 UTC (permalink / raw)
  To: git

Johannes Schindelin wrote:
> Next plans are: make filter-branch a misnomer: actually be able to rewrite
> more than one branch in one go, writing the outcome to the refs/rewritten/
> namespace. IIRC that was Hannes' project, but I'll gladly step in there if
> need be.

Be my guest. Even though I said "my plan" in that post
http://article.gmane.org/gmane.comp.version-control.git/49292
this was meant as a proposal. I'm not working on the topic at the
moment.

-- Hannes

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-06-13 20:11             ` Junio C Hamano
@ 2007-06-13 22:31               ` Johannes Schindelin
  2007-06-14  7:12                 ` Johannes Sixt
  2007-06-21  7:21               ` Junio C Hamano
  1 sibling, 1 reply; 262+ messages in thread
From: Johannes Schindelin @ 2007-06-13 22:31 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Hi,

On Wed, 13 Jun 2007, Junio C Hamano wrote:

> I would want to start the 1.5.3-rc cycle, after merging
> at least the submodule Porcelain (Lars) and filter-tree
> (Johannes and Pasky).

Isn't that Johannesses (and filter-branch)? :-)

FWIW I think that there lies a long road in front of us with 
filter-branch, after submodule is merged in. I have no preference on what 
should go in first, but filter-branch If My Plan Succeeds (TM) will help 
transition from huge imports to subprojects.

So, even if I am not _that_ interested in subprojects myself, I _do_ want 
to enhance filter-branch. IMHO filter-branch is yet another proof that 
cogito -- even if it is now set to die -- was well worth it. Thanks Pasky.

Next plans are: make filter-branch a misnomer: actually be able to rewrite 
more than one branch in one go, writing the outcome to the refs/rewritten/ 
namespace. IIRC that was Hannes' project, but I'll gladly step in there if 
need be.

After that, I imagine automatic subprojects disentangling (maybe somewhat 
related to Alex' suggestion), so you can say "this big project is actually 
a subproject: directories a/, b/ and c/ are self-contained subprojects).

Of course, the nearest future from my POV is to actually implement the 
missing tests :-)

Ciao,
Dscho

P.S.: Junio, wherever you are right now, have a nice time. Hopefully not 
too stressful.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-06-07  2:08           ` Junio C Hamano
@ 2007-06-13 20:11             ` Junio C Hamano
  2007-06-13 22:31               ` Johannes Schindelin
  2007-06-21  7:21               ` Junio C Hamano
  0 siblings, 2 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-06-13 20:11 UTC (permalink / raw)
  To: git

I'll be dormant for the next 72 hours or so, so please do not
get alarmed if no patches sent to the list is applied to my
tree.  Please remind me about them after they are commented on,
revised and improved, and final revision got agreed to be good
on the list.

WIth a big usability change to git-gui blame viewer on 'maint',
I think it is time to do 1.5.2.2 this weekend (if I have the
energy, that is).

The 'master' side has quite a lot of clean-ups and improvements
in the fringes, but nothing big has come out of 'next' since
1.5.2.  I would want to start the 1.5.3-rc cycle, after merging
at least the submodule Porcelain (Lars) and filter-tree
(Johannes and Pasky).  There are other topics already on 'next'
that are probably 1.5.3 material as well.

* The 'maint' branch has these fixes since the last announcement.

 Alex Riesen (2):
  Make the installation target of git-gui a little less chatty
  Fix clone to setup the origin if its name ends with .git

 Gerrit Pape (1):
  Fix typo in remote branch example in git user manual

 J. Bruce Fields (4):
  user-manual: quick-start updates
  user-manual: add a missing section ID
  Documentation: user-manual todo
  tutorial: use "project history" instead of "changelog" in header

 Junio C Hamano (1):
  checkout: do not get confused with ambiguous tag/branch names

 Kristian Høgsberg (1):
  Unquote From line from patch before comparing with given from address.

 Luiz Fernando N. Capitulino (1):
  git-cherry: Document 'limit' command-line option

 Matthijs Melchior (1):
  New selection indication and softer colors

 Sam Vilain (1):
  Don't assume tree entries that are not dirs are blobs

 Shawn O. Pearce (47):
  git-gui: Allow creating a branch when none exists
  git-gui: Allow as few as 0 lines of diff context
  git-gui: Don't quit when we destroy a child widget
  git-gui: Attach font_ui to all spinbox widgets
  git-gui: Verify Tcl/Tk is new enough for our needs
  Revert "Make the installation target of git-gui a little less chatty"
  git-gui: Add a 4 digit commit abbreviation to the blame viewer
  git-gui: Cleanup blame::new widget initialization
  git-gui: Remove empty blank line at end of blame
  git-gui: Improve the coloring in blame viewer
  git-gui: Simplify consecutive lines that come from the same commit
  git-gui: Use arror cursor in blame viewer file data
  git-gui: Display tooltips in blame viewer
  git-gui: Highlight the blame commit header from everything else
  git-gui: Remove unnecessary reshow of blamed commit
  git-gui: Cleanup minor style nit
  git-gui: Space the commit group continuation out in blame view
  git-gui: Show author initials in blame groups
  git-gui: Allow the user to control the blame/commit split point
  git-gui: Display a progress bar during blame annotation gathering
  git-gui: Allow digging through history in blame viewer
  git-gui: Combine blame groups only if commit and filename match
  git-gui: Show original filename in blame tooltip
  git-gui: Use a label instead of a button for the back button
  git-gui: Clip the commit summaries in the blame history menu
  git-gui: Remove the loaded column from the blame viewer
  git-gui: Remove unnecessary space between columns in blame viewer
  git-gui: Use lighter colors in blame view
  git-gui: Make the line number column slightly wider in blame
  git-gui: Automatically expand the line number column as needed
  git-gui: Remove unused commit_list from blame viewer
  git-gui: Better document our blame variables
  git-gui: Cleanup redundant column management in blame viewer
  git-gui: Switch internal blame structure to Tcl lists
  git-gui: Label the uncommitted blame history entry
  git-gui: Rename fields in blame viewer to better descriptions
  git-gui: Display the "Loading annotation..." message in italic
  git-gui: Run blame twice on the same file and display both outputs
  git-gui: Display both commits in our tooltips
  git-gui: Jump to original line in blame viewer
  git-gui: Use three colors for the blame viewer background
  git-gui: Improve our labeling of blame annotation types
  git-gui: Favor the original annotations over the recent ones
  git-gui: Changed blame header bar background to match main window
  git-gui: Include 'war on whitespace' fixes from git.git
  git-gui: Give amend precedence to HEAD over MERGE_MSG
  git-gui: Save geometry before the window layout is damaged

 william pursell (1):
  Make command description imperative statement, not third-person present.


* The 'master' branch has these since the last announcement
  in addition to the above.

 Alex Riesen (1):
  Fix push with refspecs containing wildcards

 Alexandre Julliard (1):
  pack-check: Sort entries by pack offset before unpacking them.

 Andy Whitcroft (3):
  cvsimport: add support for new style remote layout
  cvsimport: update documentation to include separate remotes option
  cvsimport: add <remote>/HEAD reference in separate remotes more

 Aneesh Kumar K.V (2):
  gitview: Fix the blame interface.
  gitview: run blame with -C -C

 Dan McGee (1):
  git-mergetool: Allow gvimdiff to be used as a mergetool

 Elvis Pranskevichus (1):
  Use git-tag in git-cvsimport

 Eric Wong (3):
  git-svn: cleanup: factor out longest_common_path() function
  git-svn: test for creating new directories over svn://
  git-svn: reduce stat() calls for a backwards compatibility check

 Frank Lichtenheld (1):
  cvsserver: Make req_Root more critical of its input data

 Jakub Narebski (6):
  gitweb: Provide links to commitdiff to each parent in 'commitdiff' view
  gitweb: Improve "next" link in commitdiff view
  gitweb: Split git_patchset_body into separate subroutines
  gitweb: Create special from-file/to-file header for combined diff
  gitweb: Add links to blobdiffs in from-file/to-file header for merges
  gitweb: '--cc' for merges in 'commitdiff' view

 Jeff King (2):
  cmd_log_init: remove parsing of --encoding command line parameter
  refactor dir_add_name

 Jim Meyering (1):
  Don't dereference a strdup-returned NULL

 Johan Herland (1):
  Remove unnecessary code and comments on non-existing 8kB tag object restriction

 Johannes Schindelin (2):
  git-merge-file: refuse to merge binary files
  Teach diff to imply --find-copies-harder upon -C -C

 Johannes Sixt (3):
  Avoid double-slash in path names that depend on $(sharedir).
  Remove trailing slash from $(template_dir).
  git-remote show: Also shorten non-fast-forward refs in the 'push' listing

 Junio C Hamano (12):
  War on whitespace
  Test wildcard push/fetch
  More missing static
  More missing static
  Even more missing static
  git-blame: do not indent with spaces.
  git-blame -w: ignore whitespace
  mktag: minimally update the description.
  Makefile: common-cmds.h depends on generate-cmdlist.sh script
  Makefile: allow generating git.o for debugging purposes
  -Wold-style-definition fix
  More static

 Lars Hjemli (2):
  git-submodule: move cloning into a separate function
  git-submodule: clone during update, not during init

 Linus Torvalds (1):
  Makefile: add an explicit rule for building assembly output

 Matthias Lederhofer (1):
  gitweb: change filename/directory name of snapshots

 Michael Ellerman (2):
  gitview: Use new-style classes
  gitview: Define __slots__ for Commit

 Pierre Habouzit (2):
  Active_nr is unsigned, hence can't be < 0
  Missing statics.

 René Scharfe (1):
  t5000: silence unzip availability check

 Shawn O. Pearce (10):
  git gui 0.8.0
  git-gui: GUI support for running 'git remote prune <name>'
  git-gui: Show the git-gui library path in 'About git-gui'
  git-gui: Enable verbose Tcl loading earlier
  git-gui: Provide fatal error if library is unavailable
  git-gui: Disable tearoff menus on Windows, Mac OS X
  git-gui: Allow users to rename branches through 'branch -m'
  git-gui: Allow users to delete remote branches
  git-gui: Expose the merge.diffstat configuration option
  git-gui: Internalize symbolic-ref HEAD reading logic

 Theodore Ts'o (1):
  git-mergetool: Make default selection of merge-tool more intelligent

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-06-02 21:09         ` Junio C Hamano
@ 2007-06-07  2:08           ` Junio C Hamano
  2007-06-13 20:11             ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-06-07  2:08 UTC (permalink / raw)
  To: git

It has been slow on the stable front.

* The 'maint' branch has these fixes since the last announcement.

 Johannes Sixt (1):
  Accept dates before 2000/01/01 when specified as seconds since the epoch

 Michael Milligan (1):
  git-cvsimport: Make sure to use $git_dir always instead of .git sometimes

 Sam Vilain (1):
  fix documentation of unpack-objects -n


* The 'master' branch has these since the last announcement
  in addition to the above.

 Geert Bosch (1):
  Unify write_index_file functions

 Johannes Schindelin (5):
  Update to SubmittingPatches
  git-fsck: learn about --verbose
  Move buffer_is_binary() to xdiff-interface.h
  merge-recursive: refuse to merge binary files
  t5000: skip ZIP tests if unzip was not found

 Johannes Sixt (1):
  Makefile: Remove git-merge-base from PROGRAMS.

 Jon Loeliger (1):
  Add the --numbered-files option to git-format-patch.

 Josh Triplett (1):
  Fix typo in git-mergetool

 Junio C Hamano (4):
  Remove git-applypatch
  Release Notes: start preparing for 1.5.3
  git-apply: what is detected and fixed is not just trailing spaces.
  git-branch --track: fix tracking branch computation.

 Lars Hjemli (2):
  Add git-submodule command
  Add basic test-script for git-submodule

 Martin Koegler (1):
  gitweb: Handle non UTF-8 text better

 Matthias Lederhofer (2):
  add git-filter-branch to .gitignore
  make clean should remove all the test programs too

 Matthijs Melchior (1):
  Teach git-tag about showing tag annotations.

 Petr Baudis (1):
  git-applymbox: Remove command

 Pierre Habouzit (1):
  $EMAIL is a last resort fallback, as it's system-wide.

 Randal L. Schwartz (1):
  Add test-sha1 to .gitignore.

 Sam Vilain (1):
  Don't assume tree entries that are not dirs are blobs

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-05-29 10:12       ` Junio C Hamano
@ 2007-06-02 21:09         ` Junio C Hamano
  2007-06-07  2:08           ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-06-02 21:09 UTC (permalink / raw)
  To: git

I will do a v1.5.2.1 with 'maint' and push it out this weekend.

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last announcement.

 Frank Lichtenheld (2):
  git-config: Various small fixes to asciidoc documentation
  git-config: Improve documentation of git-config file handling

 Jeff King (1):
  Documentation: robustify asciidoc GIT_VERSION replacement

 Jerald Fitzjerald (1):
  decode_85(): fix missing return.

 Josh Triplett (1):
  Create a new manpage for the gitignore format, and reference it elsewhere

 Kristian Høgsberg (1):
  Use =20 when rfc2047 encoding spaces.

 Linus Torvalds (1):
  fix signed range problems with hex conversions


* The 'master' branch has these since the last announcement
  in addition to the above.

 James Bowes (1):
  rev-parse: Identify short sha1 sums correctly.

 Jonas Fonseca (2):
  Fix git-am(1) synopsis formatting
  git-rebase: suggest to use git-add instead of git-update-index

 Julian Phillips (1):
  Makefile: Use generic rule to build test programs

 Junio C Hamano (1):
  Add DLH to .mailmap

 Martin Koegler (4):
  builtin-pack-objects: don't fail, if delta is not possible
  git-pack-objects: cache small deltas between big objects
  builtin-pack-object: cache small deltas
  diff-delta: use realloc instead of xrealloc

 Nicolas Pitre (2):
  fix repack with --max-pack-size
  always start looking up objects in the last used pack first

 Shawn O. Pearce (7):
  Lazily open pack index files on demand
  Micro-optimize prepare_alt_odb
  Attempt to delay prepare_alt_odb during get_sha1
  Test for recent rev-parse $abbrev_sha1 regression
  Simplify index access condition in count-objects, pack-redundant
  Ensure the pack index is opened before access
  Style nit - don't put space after function names

 Theodore Ts'o (1):
  Fix minor grammatical typos in the git-gc man page

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-05-23 21:46     ` Junio C Hamano
@ 2007-05-29 10:12       ` Junio C Hamano
  2007-06-02 21:09         ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-05-29 10:12 UTC (permalink / raw)
  To: git

Time for 1.5.2.1 perhaps.

The second batch of random changes are in 'master' now.  This is
a rather large-ish looking one.  Handle it with care.

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last announcement.

 Andy Parkins (2):
  Fix mishandling of $Id$ expanded in the repository copy in convert.c
  Add test case for $Id$ expanded in the repository

 Carlos Rica (1):
  fix memory leak in parse_object when check_sha1_signature fails

 Eric Wong (1):
  git-svn: avoid md5 calculation entirely if SVN doesn't provide one

 Frank Lichtenheld (3):
  cvsserver: Correct inetd.conf example in asciidoc documentation
  cvsserver: Note that CVS_SERVER can also be specified as method variable
  cvsserver: Fix some typos in asciidoc documentation

 Jakub Narebski (3):
  Documentation: Clean up links in GIT Glossary
  Replace the last 'dircache's by 'index'
  Documentation: Add definition of "evil merge" to GIT Glossary

 James Bowes (1):
  Documentation: fix git-config.xml generation

 James Y Knight (1):
  Fix git-svn to handle svn not reporting the md5sum of a file, and test.

 Jeff King (2):
  git-am: use printf instead of echo on user-supplied strings
  More echo "$user_message" fixes.

 Johan Herland (1):
  Fix stupid typo in lookup_tag()

 Jonas Fonseca (1):
  Update bash completion to ignore some more plumbing commands

 Junio C Hamano (3):
  name-rev: tolerate clock skew in committer dates
  git-commit: use printf '%s\n' instead of echo on user-supplied strings
  Add tests for the last two fixes.

 Nguyễn Thái Ngọc Duy (1):
  Makefile: Remove git-fsck and git-verify-pack from PROGRAMS

 Shawn O. Pearce (12):
  git-gui: Tighten internal pattern match for lib/ directory
  Refactor fast-import branch creation from existing commit
  Fix possible coredump with fast-import --import-marks
  Hide the plumbing diff-{files,index,tree} from bash completion
  Teach bash completion about git-shortlog
  Remove a duplicate --not option in bash completion
  Update bash completion header documentation
  Teach bash completion about 'git remote update'
  Teach bash completion about recent log long options
  Update bash completion for git-config options
  Correct key bindings to Control-<foo>
  git-gui: Guess our share/git-gui/lib path at runtime if possible

 Simon Hausmann (2):
  fast-import: Fix uninitialized variable
  fast-import: Fix crash when referencing already existing objects

 Steffen Prohaska (1):
  user-manual: fixed typo in example


* The 'master' branch has these since the last announcement
  in addition to the above.

 Alex Riesen (6):
  Add run_command_v_opt_cd: chdir into a directory before exec
  Add ability to specify environment extension to run_command
  Allow environment variables to be unset in the processes started by run_command
  Verbose connect messages to show the IP addresses used
  Add another verbosity level to git-fetch
  Add a configuration option to control diffstat after merge

 Dana L. How (7):
  Alter sha1close() 3rd argument to request flush only
  git-repack --max-pack-size: new file statics and code restructuring
  git-repack --max-pack-size: write_{object,one}() respect pack limit
  git-repack --max-pack-size: split packs as asked by write_{object,one}()
  git-repack --max-pack-size: add option parsing to enable feature
  pack-objects: clarification & option checks for --max-pack-size
  Ensure git-repack -a -d --max-pack-size=N deletes correct packs

 Daniel Barkalow (5):
  Move remote parsing into a library file out of builtin-push.
  Move refspec parser from connect.c and cache.h to remote.{c,h}
  Add handlers for fetch-side configuration of remotes.
  Update local tracking refs when pushing
  Move refspec pattern matching to match_refs().

 Fernando J. Pereda (1):
  Teach mailsplit about Maildir's

 Frank Lichtenheld (5):
  t9400: Add test cases for config file handling
  t9400: Add some more cvs update tests
  t9400: Add some basic pserver tests
  t9400: Work around CVS' deficiencies
  cvsserver: Handle 'cvs login'

 Junio C Hamano (4):
  pack-objects: pass fullname down to add_object_entry()
  Teach "delta" attribute to pack-objects.
  builtin-pack-objects: remove unnecessary code for no-delta
  mailsplit: fix for more than one input files

 Linus Torvalds (2):
  Make "git gc" pack all refs by default
  Make the pack-refs interfaces usable from outside

 Mark Levedahl (1):
  gitweb.perl - Optionally send archives as .zip files

 Nicolas Pitre (3):
  fixes to output of git-verify-pack -v
  improve delta long block matching with big files
  update diff-delta.c copyright

 Robin Rosenberg (1):
  Add option to cvs update before export

 Shawn O. Pearce (1):
  Allow contrib new-workdir to link into bare repositories

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-05-19  5:24   ` Junio C Hamano
@ 2007-05-23 21:46     ` Junio C Hamano
  2007-05-29 10:12       ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-05-23 21:46 UTC (permalink / raw)
  To: git

Although there are a few post release fixups queued for v1.5.2.1
on 'maint' already, all things considered I must say v1.5.2 was
a quite good release.  There isn't a huge "oops, hand me a brown
paper bag please" fix yet.  Knock, knock...

On the 'master' front, as promised, the first batch that were on
hold since v1.5.2-rc1 is in.  Nothing earth-shattering, really.

----------------------------------------------------------------

* The 'maint' branch has these fixes since v1.5.2.

 Fernando J. Pereda (1):
  Use PATH_MAX instead of TEMPFILE_PATH_LEN

 Frank Lichtenheld (2):
  t1300: Add tests for git-config --bool --get
  git-config: Correct asciidoc documentation for --int/--bool

 Jim Meyering (1):
  git-daemon: don't ignore pid-file write failure

 Johannes Schindelin (2):
  SubmittingPatches: mention older C compiler compatibility
  git-status: respect core.excludesFile

 Jonas Fonseca (1):
  branch: fix segfault when resolving an invalid HEAD

 Junio C Hamano (2):
  annotate: make it work from subdirectories.
  git-cvsserver: fix disabling service via per-method config

 Paolo Bonzini (1):
  Document branch.autosetupmerge.

 Stephan Springl (1):
  Use git-for-each-ref to check whether the origin branch exists.

 Sven Verdoolaege (1):
  unpack-trees.c: verify_uptodate: remove dead code


* The 'master' branch has these since v1.5.2, in addition to the above.

 Alex Riesen (1):
  Fix the progress code to output LF only when it is really needed

 Dana How (1):
  Custom compression levels for objects and packs

 Jakub Narebski (2):
  gitweb: Add test t9500 for gitweb (as standalone script)
  Add an option to git-ls-tree to display also the size of blob

 James Bowes (1):
  Add colour support in rebase and merge tree diff stats output.

 Junio C Hamano (2):
  git-apply: Fix removal of new trailing blank lines.
  Fix command line parameter parser of revert/cherry-pick

 Marco Costalba (1):
  Teach 'git-apply --whitespace=strip' to remove empty lines at the end of file

 Martin Waitz (1):
  rename dirlink to gitlink.

 Michael S. Tsirkin (1):
  connect: display connection progress

 Nicolas Pitre (3):
  allow for undeltified objects not to be reused
  make "repack -f" imply "pack-objects --no-reuse-object"
  deprecate the new loose object header format

 Petr Baudis (1):
  git-rev-list: Add regexp tuning options

 Shawn O. Pearce (1):
  Teach git-describe how to run name-rev

 Sven Verdoolaege (1):
  git-update-ref: add --no-deref option for overwriting/detaching ref

 Theodore Ts'o (1):
  Add --aggressive option to 'git gc'

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-05-17  0:21 ` Junio C Hamano
@ 2007-05-19  5:24   ` Junio C Hamano
  2007-05-23 21:46     ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-05-19  5:24 UTC (permalink / raw)
  To: git

I've done release 1.5.1.5, which hopefully would be the second
from the last release in 1.5.1 maintenance series (I somehow
ended up missing documentation formatting updates from Matthias
Kestenholz, which fix longstanding ugly formatting mistakes in
some manual pages).

The tip of 'master' will be tagged v1.5.2 hopefully in 24 hours.
Nothing earth shattering since the last message of this series.

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last announcement.

 J. Bruce Fields (10):
  user-manual: revise birdseye-view chapter
  glossary: expand and clarify some definitions, prune cross-references
  user-manual: move quick-start to an appendix
  Documentation: remove howto's now incorporated into manual
  user-manual: move howto/make-dist.txt into user manual
  user-manual: move howto/using-topic-branches into manual
  user-manual: add a "counting commits" example
  user-manual: introduce git
  user-manual: listing commits reachable from some refs not others
  user-manual: reorganize public git repo discussion

 Johannes Schindelin (1):
  Add a birdview-on-the-source-code section to the user manual

 Junio C Hamano (1):
  GIT v1.5.1.5

 Matthias Kestenholz (2):
  Documentation: Added [verse] to SYNOPSIS where necessary
  Documentation: Reformatted SYNOPSIS for several commands

 Michael Hendricks (2):
  git-send-email: allow leading white space on mutt aliases
  Document core.excludesfile for git-add

 Petr Baudis (1):
  Documentation: git-rev-list's "patterns"


* The 'master' branch has these since the last announcement
  in addition to the above.

 Andy Parkins (1):
  Fix crlf attribute handling to match documentation

 Jakub Narebski (2):
  gitweb: Fix error in git_patchset_body for deletion in merge commit
  gitweb: Fix "Use of uninitialized value" warning in git_feed

 Junio C Hamano (3):
  gitweb: fix another use of undefined value
  Add link to 1.5.1.5 release notes.
  Documentation/git.txt: Update links to older documentation pages.

 Petr Baudis (4):
  gitweb: Normalize searchbar font size
  gitweb: Add support for grep searches
  gitweb: Allow arbitrary strings to be dug with pickaxe
  gitweb: Remove redundant $searchtype setup

 René Scharfe (1):
  git-archive: convert archive entries like checkouts do

 Shawn O. Pearce (1):
  git-gui: Gracefully handle bad TCL_PATH at compile time

 Steffen Prohaska (1):
  Optimized cvsexportcommit: calling 'cvs status' once instead of once per touched file.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-05-13 22:30 Junio C Hamano
@ 2007-05-17  0:21 ` Junio C Hamano
  2007-05-19  5:24   ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-05-17  0:21 UTC (permalink / raw)
  To: git

It probably would be more interesting to look at the earlier
"What's not in 1.5.2" messages, but here is the current status
of my tree on the 'stable' front.

I'd expect to have 1.5.1.5 from 'maint' perhaps on Saturday, and
1.5.2 from 'master' hopefully on Sunday if everything goes well.

----------------------------------------------------------------
* The 'maint' branch has these fixes since the last announcement.

 Andy Whitcroft (1):
  git name-rev writes beyond the end of malloc() with large generations

 Frank Lichtenheld (3):
  builtin-log.c: Fix typo in comment
  Documentation: format-patch has no --mbox option
  git-am: Clean up the asciidoc documentation

 Jakub Narebski (1):
  gitweb: Add a few comments about %feature hash

 Jeff King (1):
  format-patch: add MIME-Version header when we add content-type.

 Johannes Schindelin (1):
  import-tars: Use the "Link indicator" to identify directories

 Junio C Hamano (2):
  Fix git-clone buglet for remote case.
  Prepare for 1.5.1.5 Release Notes

 Quy Tonthat (1):
  Documentation/branch: fix small typo in -D example

 Steffen Prohaska (1):
  Fixed link in user-manual


* The 'master' branch has these since the last announcement
  in addition to the above.

 Andy Parkins (1):
  Use $Id$ as the ident attribute keyword rather than $ident$ to be consistent with other VCSs

 Frank Lichtenheld (1):
  cvsserver: Don't send mixed messages to clients

 Jakub Narebski (5):
  gitweb: Fix "Use of unitialized value" warnings in empty repository
  Documentation: Split description of pretty formats of commit log
  gitweb: Do not use absolute font sizes
  gitweb: Separate search regexp from search text
  gitweb: Empty patch for merge means trivial merge, not no differences

 Jeff King (1):
  Documentation/git-add: clarify -u with path limiting

 Johan Herland (2):
  Fix signedness on return value from xread()
  Ensure return value from xread() is always stored into an ssize_t

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
@ 2007-05-13 22:30 Junio C Hamano
  2007-05-17  0:21 ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-05-13 22:30 UTC (permalink / raw)
  To: git

We accumulated quite a few fixes on 'maint' since v1.5.1.4, and
they apply to 'master' as well.

Things that are not in 'master' yet but are scheduled for v1.5.2
final are a performance bug fix for cvsexportcommit (in 'pu')
and user manual updates to add a bit of source code tour, which
hopefully would happen by the middle of the week, and then we
will have the final v1.5.2 next weekend.

----------------------------------------------------------------

* The 'maint' branch has these fixes since v1.5.1.4

 Alex Riesen (1):
  Allow fetching references from any namespace

 Eric Wong (4):
  git-svn: don't drop the username from URLs when dcommit is run
  git-svn: clean up caching of SVN::Ra functions
  git-svn: fix segfaults due to initial SVN pool being cleared
  git-svn: don't attempt to minimize URLs by default

 Jan Hudec (1):
  Updated documentation of hooks in git-receive-pack.

 Jari Aalto (1):
  SPECIFYING RANGES typo fix: it it => it is

 Junio C Hamano (4):
  git-clone: don't get fooled by $PWD
  .mailmap: add some aliases
  checkout: allow detaching to HEAD even when switching to the tip of a branch
  git-config: do not forget seeing "a.b.var" means we are out of "a.var" section.

 Marco Costalba (1):
  Fix an unmatched comment end in arm/sha1_arm.S

 Matthieu Castet (1):
  Remove stale non-static-inline prototype for tree_entry_extract()

 Quy Tonthat (1):
  RPM spec: include files in technical/ to package.

 Richard P. Curnow (2):
  Fix documentation of tag in git-fast-import.txt
  Fix documentation of tag in git-fast-import.txt

 Shawn O. Pearce (1):
  Properly handle '0' filenames in import-tars

 Steffen Prohaska (2):
  tiny fix in documentation of git-clone
  git-config: test for 'do not forget "a.b.var" ends "a.var" section'.


* The 'master' branch has these since v1.5.2-rc3, in addition to the above.

 Frank Lichtenheld (1):
  cvsserver: Limit config parser to needed options

 Jakub Narebski (2):
  gitweb: Test if $from_id and $to_id are defined before comparison
  gitweb: Check if requested object exists

 Jan Hudec (1):
  Minor fixup to documentation of hooks in git-receive-pack.

 Jeff King (1):
  git-add: allow path limiting with -u

 Junio C Hamano (5):
  Minor copyediting on Release Notes for 1.5.2
  Add has_symlink_leading_path() function.
  apply: do not get confused by symlinks in the middle
  read-tree -m -u: avoid getting confused by intermediate symlinks.
  Link to HTML version of external doc if available

 Junio Hamano (1):
  t9400: Use the repository config and nothing else.

 Lars Hjemli (1):
  git-archive: don't die when repository uses subprojects

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
@ 2007-05-09  8:46 Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-05-09  8:46 UTC (permalink / raw)
  To: git

v1.5.1.4 is out.

Thanks to HPA who installed libdbi-dbd interface to sqlite on
kernel.org machines, Frank's cvsserver tests are now in
'master', along with updates to gitweb and git-gui.  I've thrown
in the diff-tree memory optimization we discussed in the OOo
thread as well.

I haven't tagged the tip of the 'master', but this is pretty
much 1.5.2-rc3 -- I may tag it tomorrow with a few more fixes I
noticed are needed while I was reviewing the list traffic (I
updated todo:TODO with them).

v1.5.2 final is scheduled for sometime late next week, hopefully
with git-gui v0.7.0 final.

----------------------------------------------------------------

* The 'maint' branch is now at 1.5.1.4, with these fixes since
  the last announcement.

 Amos Waterland (1):
  wcwidth redeclaration

 J. Bruce Fields (7):
  user-manual: more discussion of detached heads, fix typos
  user-manual: add section ID's
  user-manual: clean up fast-forward and dangling-objects sections
  user-manual: fix .gitconfig editing examples
  user-manual: miscellaneous editing
  user-manual: stop deprecating the manual
  user-manual: fix clone and fetch typos

 Jeff King (1):
  Documentation: don't reference non-existent 'git-cvsapplycommit'

 Junio C Hamano (1):
  GIT v1.5.1.4

 Paul Mackerras (1):
  gitk: Allow user to choose whether to see the diff, old file, or new file

 Quy Tonthat (1):
  Add howto files to rpm packages.

 Shawn O. Pearce (1):
  git-gui: Allow spaces in path to 'wish'


* The 'master' branch has these since the last announcement
  in addition to the above.

 Alex Riesen (1):
  Use GIT_OBJECT_DIR for temporary files of pack-objects

 Frank Lichtenheld (1):
  cvsserver: Add test cases for git-cvsserver

 Jakub Narebski (6):
  gitweb: Add parsing of raw combined diff format to parse_difftree_raw_line
  gitweb: Add combined diff support to git_difftree_body
  gitweb: Add combined diff support to git_patchset_body
  gitweb: Make it possible to use pre-parsed info in git_difftree_body
  gitweb: Show combined diff for merge commits in 'commitdiff' view
  gitweb: Show combined diff for merge commits in 'commit' view

 Junio C Hamano (5):
  diff: release blobs after generating textual diff.
  diff.c: do not use a separate "size cache".
  diff -M: release the preimage candidate blobs after rename detection.
  diff -S: release the image after looking for needle in it
  Update documentation links to point at 1.5.1.4

 Matthieu Moy (2):
  Document git add -u introduced earlier.
  Added a reference to git-add in the documentation for git-update-index

 Michael Spang (3):
  dir.c: Omit non-excluded directories with dir->show_ignored
  t7300: Basic tests for git-clean
  Fix minor documentation errors

 Shawn O. Pearce (17):
  git-gui: Correctly handle UTF-8 encoded commit messages
  git-gui: Include the subject in the status bar after commit
  git-gui: Warn users before making an octopus merge
  git-gui: Correct line wrapping for too many branch message
  git-gui: Cleanup common font handling for font_ui
  git-gui: Use option database defaults to set the font
  git-gui: Refactor to use our git proc more often
  git-gui: Track our own embedded values and rebuild when they change
  git-gui: Refactor into multiple files to save my sanity
  git-gui: Move console procs into their own namespace
  git-gui: Allow vi keys to scroll the diff/blame regions
  git-gui: Move merge support into a namespace
  git-gui: Show all possible branches for merge
  git-gui: Include commit id/subject in merge choices
  git-gui: Use vi-like keys in merge dialog
  Remove duplicate exports from Makefile
  Use .git/MERGE_MSG in cherry-pick/revert

 Theodore Ts'o (2):
  Add pack.depth option to git-pack-objects.
  Increase pack.depth default to 50

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-05-06  8:53           ` Junio C Hamano
  2007-05-07  0:59             ` Jakub Narebski
@ 2007-05-07 13:33             ` Frank Lichtenheld
  1 sibling, 0 replies; 262+ messages in thread
From: Frank Lichtenheld @ 2007-05-07 13:33 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

On Sun, May 06, 2007 at 01:53:19AM -0700, Junio C Hamano wrote:
> GIT v1.5.2 Release Notes (draft)
> ========================
[...]
>   to be handled with caution (do not use it unless you
>   understand the earlier mailing list discussion on keyward
>   expansion).

I guess that should be "keyword"

Gruesse,
-- 
Frank Lichtenheld <frank@lichtenheld.de>
www: http://www.djpig.de/

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-05-06  8:53           ` Junio C Hamano
@ 2007-05-07  0:59             ` Jakub Narebski
  2007-05-07 13:33             ` Frank Lichtenheld
  1 sibling, 0 replies; 262+ messages in thread
From: Jakub Narebski @ 2007-05-07  0:59 UTC (permalink / raw)
  To: git

Junio C Hamano wrote:

>   - "git diff $commit1:$path2 $commit2:$path2" can now report
>     mode changes between the two blobs.

I think that actually it is enough to have $tree1:$path1 $tree2:$path2
(and it should be $commit1:$path1 not $path2 nevertheless).

-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-04-29 18:33         ` Junio C Hamano
  2007-04-30  4:15           ` J. Bruce Fields
@ 2007-05-06  8:53           ` Junio C Hamano
  2007-05-07  0:59             ` Jakub Narebski
  2007-05-07 13:33             ` Frank Lichtenheld
  1 sibling, 2 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-05-06  8:53 UTC (permalink / raw)
  To: git

Master is at v1.5.2-rc2; maint is probably ready to produce
v1.5.1.4, but not tonight.

Here are two draft release notes, followed by the usual "What's in"
summaries.

----------------------------------------------------------------

GIT v1.5.1.4 Release Notes (draft)
==========================

Fixes since v1.5.1.3
--------------------

* Bugfixes

  - "git-http-fetch" did not work around a bug in libcurl
    earlier than 7.16 (curl_multi_remove_handle() was broken).

  - "git cvsserver" handles a file that was once removed and
    then added again correctly.

  - import-tars script (in contrib/) handles GNU tar archives
    that contain pathnames longer than 100 bytes (long-link
    extension) correctly.

  - xdelta test program did not build correctly.

  - gitweb sometimes tried incorrectly to apply function to
    decode utf8 twice, resulting in corrupt output.

  - "git blame -C" mishandled text at the end of a group of
    lines.

  - "git log/rev-list --boundary" did not produce output
    correctly without --left-right option.

----------------------------------------------------------------

GIT v1.5.2 Release Notes (draft)
========================

Updates since v1.5.1
--------------------

* Plumbing level subproject support.

  You can include a subdirectory that has an independent git
  repository in your index and tree objects as a
  "subproject".  This plumbing (i.e. "core") level subproject
  support explicitly excludes recursive behaviour.

  The "subproject" entries in the index and trees are
  incompatible with older versions of git.  Experimenting with
  the plumbing level support is encouraged, but be warned that
  unless everybody in your project updates to this release or
  later, using this feature would make your project
  inaccessible by people with older versions of git.

* Plumbing level gitattributes support.

  The gitattributes mechanism allows you to add 'attributes' to
  paths in your project, and affect the way certain git
  operations work.  Currently you can influence if a path is
  considered a binary or text (the former would be treated by
  'git diff' not to produce textual output; the latter can go
  through the line endings conversion process in repositories
  with core.autocrlf set), expand and unexpand '$ident$' keyword
  with blob object name, specify a custom 3-way merge driver,
  and specify a custom diff driver.  You can also apply
  arbitrary filter to contents on check-in/check-out codepath
  but this feature is an extremely sharp-edged razor and needs
  to be handled with caution (do not use it unless you
  understand the earlier mailing list discussion on keyward
  expansion).

* The packfile format now optionally suports 64-bit index.

  This release supports the "version 2" format of the .idx
  file.  This is automatically enabled when a huge packfile
  needs more than 32-bit to express offsets of objects in the
  pack

* New commands and options.

  - "git bisect start" can optionally take a single bad commit and
    zero or more good commits on the command line.

  - "git shortlog" can optionally be told to wrap its output.

  - "subtree" merge strategy allows another project to be merged in as
    your subdirectory.

  - "git format-patch" learned a new --subject-prefix=<string>
    option, to override the built-in "[PATCH]".

  - "git add -u" is a quick way to do the first stage of "git
    commit -a" (i.e. update the index to match the working
    tree); it obviously does not make a commit.

  - "git clean" honors a new configuration, "clean.requireforce".  When
    set to true, this makes "git clean" a no-op, preventing you
    from losing files by typing "git clean" when you meant to
    say "make clean".  You can still say "git clean -f" to
    override this.

  - "git log" family of commands learned --date={local,relative,default}
    option.  --date=relative is synonym to the --relative-date.
    --date=local gives the timestamp in local timezone.

* Updated behavior of existing commands.

  - When $GIT_COMMITTER_EMAIL or $GIT_AUTHOR_EMAIL is not set
    but $EMAIL is set, the latter is used as a substitute.

  - "git diff --stat" shows size of preimage and postimage blobs
    for binary contents.  Earlier it only said "Bin".

  - "git lost-found" shows stuff that are unreachable except
    from reflogs.

  - "git checkout branch^0" now detaches HEAD at the tip commit
    on the named branch, instead of just switching to the
    branch (use "git checkout branch" to switch to the branch,
    as before).

  - "git bisect next" can be used after giving only a bad commit
    without giving a good one (this starts bisection half-way to
    the root commit).  We used to refuse to operate without a
    good and a bad commit.

  - "git push", when pushing into more than one repository, does
    not stop at the first error.

  - "git archive" does not insist you to give --format parameter
    anymore; it defaults to "tar".

  - "git cvsserver" can use backends other than sqlite.

  - "gitview" (in contrib/ section) learned to better support
    "git-annotate".

  - "git diff $commit1:$path2 $commit2:$path2" can now report
    mode changes between the two blobs.

  - Local "git fetch" from a repository whose object store is
    one of the alternates (e.g. fetching from the origin in a
    repository created with "git clone -l -s") avoids
    downloading objects unnecessary.

  - "git blame" uses .mailmap to canonicalize the author name
    just like "git shortlog" does.

* Builds

  - git-p4import has never been installed; now there is an
    installation option to do so.

  - gitk and git-gui can be configured out.

  - Generated documentation pages automatically get version
    information from GIT_VERSION

  - Parallel build with "make -j" descending into subdirectory
    was fixed.

* Performance Tweaks

  - Optimized "git-rev-list --bisect" (hence "git-bisect").

  - Optimized "git-add $path" in a large directory, most of
    whose contents are ignored.

  - The recursive merge strategy updated a worktree file that
    was changed identically in two branches, when one of them
    renamed it.  We do not do that when there is no rename, so
    match that behaviour.

Fixes since v1.5.1
------------------

All of the fixes in v1.5.1 maintenance series are included in
this release, unless otherwise noted.

* Bugfixes

  - Switching branches with "git checkout" refused to work when
    a path changes from a file to a directory between the
    current branch and the new branch, in order not to lose
    possible local changes in the directory that is being turned
    into a file with the switch.  We now allow such a branch
    switch after making sure that there is no locally modified
    file nor un-ignored file in the directory.  This has not
    been backported to 1.5.1.x series, as it is rather an
    intrusive change.

  - Merging branches that have a file in one and a directory in
    another at the same path used to get quite confused.  We
    handle such a case a bit more carefully, even though that is
    still left as a conflict for the user to sort out.  This
    will not be backported to 1.5.1.x series, as it is rather an
    intrusive change.

  - git-fetch had trouble with a remote with insanely large number
    of refs.

  [[[jc: I'll probably copy&paste v1.5.1.X release notes here, or
  refer readers to those separate documents.  I haven't decided
  which way I would go, but I am inclined to do the latter.]]]

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last announcement.

 Alex Riesen (1):
  Small correction in reading of commit headers

 Alexandre Julliard (1):
  http-fetch: Disable use of curl multi support for libcurl < 7.16.

 Arjen Laarhoven (1):
  Document 'opendiff' value in config.txt and git-mergetool.txt

 Bryan Larsen (2):
  Allow PERL_PATH="/usr/bin/env perl"
  posix compatibility for t4200

 Carl Worth (1):
  Mention version 1.5.1 in tutorial and user-manual

 Daniel Barkalow (1):
  Make xstrndup common

 Frank Lichtenheld (1):
  cvsserver: Handle re-added files correctly

 Ismail Dönmez (1):
  gitweb: use decode_utf8 directly

 Jakub Narebski (1):
  diff format documentation: describe raw combined diff format

 James Bowes (1):
  Documentation: fix typo in git-remote.txt

 Johannes Schindelin (1):
  Teach import-tars about GNU tar's @LongLink extension.

 Junio C Hamano (4):
  diff.c: fix "size cache" handling.
  blame: Notice a wholesale incorporation of an existing file.
  blame: -C -C -C
  Add test for blame corner cases.

 Karl Hasselström (2):
  Fix markup in git-svn man page
  Add --no-rebase option to git-svn dcommit

 Linus Torvalds (1):
  Fix --boundary output

 Martin Koegler (1):
  Fix compilation of test-delta


* The 'master' branch has these since the last announcement
  in addition to the above.

 Alex Riesen (1):
  Handle return code of parse_commit in revision machinery

 Dana L. How (1):
  Create pack-write.c for common pack writing code

 Jonas Fonseca (1):
  git-tag(1): -v option is a subcommand; fix code block

 Junio C Hamano (2):
  blame: use .mailmap unconditionally
  GIT v1.5.2-rc2

 Shawn O. Pearce (3):
  Reuse fixup_pack_header_footer in index-pack
  Don't use seq in tests, not everyone has it
  Improve request-pull to handle non-rebased branches

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-04-30  5:12             ` Junio C Hamano
@ 2007-05-01  3:36               ` J. Bruce Fields
  0 siblings, 0 replies; 262+ messages in thread
From: J. Bruce Fields @ 2007-05-01  3:36 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

On Sun, Apr 29, 2007 at 10:12:42PM -0700, Junio C Hamano wrote:
> Thanks, and absolutely no reason to say sorry.  This is a
> collective volunteer effort and I believe your effort on the
> user's manual so far has already made git much more approachable
> to new people.  It's greatly appreciated.
> 
> Besides, I made it sound as if -rc1 will be blocked, *waiting*
> for these two updates, but it was a mistake; it doesn't have to
> wait and documentation updates and polishes can happen anytime
> before the final.

OK!  I will get back to it soon....

> And contribution from others on the list, especially from people
> with some git virginity still left, to review the user's manual
> would be valuable.

Yep.--b.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-04-30  4:15           ` J. Bruce Fields
@ 2007-04-30  5:12             ` Junio C Hamano
  2007-05-01  3:36               ` J. Bruce Fields
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-04-30  5:12 UTC (permalink / raw)
  To: J. Bruce Fields; +Cc: git

"J. Bruce Fields" <bfields@fieldses.org> writes:

> On Sun, Apr 29, 2007 at 11:33:07AM -0700, Junio C Hamano wrote:
>> Hopefully we will have a handful user-manual updates from JBF
>> and git-gui 0.6.6 from Shawn and have v1.5.2-rc1 soon.
>
> Sorry for the relative silence; I've had a busy couple of weeks keeping
> me away from git, and a backlog of comments.  I'll try to have a few
> things ready tommorow (Monday) night, but nothing earth-shattering.--b.

Thanks, and absolutely no reason to say sorry.  This is a
collective volunteer effort and I believe your effort on the
user's manual so far has already made git much more approachable
to new people.  It's greatly appreciated.

Besides, I made it sound as if -rc1 will be blocked, *waiting*
for these two updates, but it was a mistake; it doesn't have to
wait and documentation updates and polishes can happen anytime
before the final.

And contribution from others on the list, especially from people
with some git virginity still left, to review the user's manual
would be valuable.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-04-29 18:33         ` Junio C Hamano
@ 2007-04-30  4:15           ` J. Bruce Fields
  2007-04-30  5:12             ` Junio C Hamano
  2007-05-06  8:53           ` Junio C Hamano
  1 sibling, 1 reply; 262+ messages in thread
From: J. Bruce Fields @ 2007-04-30  4:15 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

On Sun, Apr 29, 2007 at 11:33:07AM -0700, Junio C Hamano wrote:
> Hopefully we will have a handful user-manual updates from JBF
> and git-gui 0.6.6 from Shawn and have v1.5.2-rc1 soon.

Sorry for the relative silence; I've had a busy couple of weeks keeping
me away from git, and a backlog of comments.  I'll try to have a few
things ready tommorow (Monday) night, but nothing earth-shattering.--b.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-04-27  8:34       ` Junio C Hamano
  2007-04-27  9:19         ` Andy Parkins
@ 2007-04-29 18:33         ` Junio C Hamano
  2007-04-30  4:15           ` J. Bruce Fields
  2007-05-06  8:53           ` Junio C Hamano
  1 sibling, 2 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-04-29 18:33 UTC (permalink / raw)
  To: git

We would need PerlIO fix for git-svn to handle symlinks on MacOS
properly on 'maint', which is still a known issue.  With that
I'll do a v1.5.1.3.

In addition to a few more new features recently discussed, and
of course a lot of fixes that came in the last couple of days,
I've merged the "give them rope" conversion series to 'master'.
Hopefully we will have a handful user-manual updates from JBF
and git-gui 0.6.6 from Shawn and have v1.5.2-rc1 soon.

* The 'maint' branch has these fixes since the last announcement.

 Adam Roben (1):
  git-svn: Added 'find-rev' command

 Johannes Schindelin (1):
  import-tars: be nice to wrong directory modes

 Josh Triplett (1):
  Add missing reference to GIT_COMMITTER_DATE in git-commit-tree documentation

 Julian Phillips (1):
  http.c: Fix problem with repeated calls of http_init

 Junio C Hamano (3):
  Do not barf on too long action description
  Update .mailmap with "Michael"
  Fix import-tars fix.

 Michele Ballabio (1):
  git shortlog documentation: add long options and fix a typo

 Shawn O. Pearce (2):
  Don't allow empty pathnames in fast-import
  Catch empty pathnames in trees during fsck


* The 'master' branch has these since the last announcement
  in addition to the above.

 Josh Triplett (1):
  Fall back to $EMAIL for missing GIT_AUTHOR_EMAIL and GIT_COMMITTER_EMAIL

 Junio C Hamano (7):
  Add 'ident' conversion.
  Add 'filter' attribute and external filter driver definition.
  blame -s: suppress author name and time.
  Split out mailmap handling out of shortlog
  Apply mailmap in git-blame output.
  Make macros to prevent double-inclusion in headers consistent.
  Make sure test-genrandom and test-chmtime are builtas part of the main build.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-04-27 18:03             ` Andy Parkins
@ 2007-04-27 18:12               ` Linus Torvalds
  0 siblings, 0 replies; 262+ messages in thread
From: Linus Torvalds @ 2007-04-27 18:12 UTC (permalink / raw)
  To: Andy Parkins; +Cc: git, Junio C Hamano



On Fri, 27 Apr 2007, Andy Parkins wrote:
> 
> I was actually surprised how little I'm finding I need submodule support 
> in the porcelain.  The only slight problem at the moment is with 
> git-checkout; switching from a branch with the supermodule to a branch 
> without it and back needs a bit of hoop jumping, but nothing too 
> painful.  All in all - success all over.

Heh, good to hear, but I suspect your habits may differ from other 
peoples...

I agree that "git checkout" needs to have that .gitmodules thing. It 
should actually be fairly straightforward, although there are subtle 
issues (ie right now we can *atomically* say "cannot check out, it's 
dirty" - what happens when you've already checked out five subprojects, 
and the sixth one is dirty?).

"git diff --subprojects" is likely also something people will want, and 
that should be _reasonably_ straigtforward.

"git merge" is the big one. 

		Linus

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-04-27 17:11           ` Linus Torvalds
@ 2007-04-27 18:03             ` Andy Parkins
  2007-04-27 18:12               ` Linus Torvalds
  0 siblings, 1 reply; 262+ messages in thread
From: Andy Parkins @ 2007-04-27 18:03 UTC (permalink / raw)
  To: git; +Cc: Linus Torvalds, Junio C Hamano

On Friday 2007, April 27, Linus Torvalds wrote:

> I'm personally really really sure. The whole point of subprojects (at

Fair enough.  I just hadn't seen very much talk about this issue and 
wanted to make sure.

> trouble with the new feature: at a minimum, git-fsck would always
> complain about the invalid mode (and things like "git diff" would too
> - I think it used to just die on unknown modes).

That kind of settles it really - if neither implementation would have 
worked with non-submodule git then the decision must come down to which 
is technically better - and I'm persuaded that the extra layer of 
indirection doesn't actually gain anything other than some extra 
objects to track.

>  - with 1.5.2, git will be good enough to _serve_ stuff, even if it
> might not be very usable for the client-side operations. So

>From my point of view, I don't really mind manually fetching the 
submodules.  I very much appreciate that I don't _have_ to have the 
submodules for the superproject to continue to work.

I was actually surprised how little I'm finding I need submodule support 
in the porcelain.  The only slight problem at the moment is with 
git-checkout; switching from a branch with the supermodule to a branch 
without it and back needs a bit of hoop jumping, but nothing too 
painful.  All in all - success all over.


Andy

-- 
Dr Andy Parkins, M Eng (hons), MIET
andyparkins@gmail.com

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-04-27  9:19         ` Andy Parkins
  2007-04-27 14:01           ` Nicolas Pitre
@ 2007-04-27 17:11           ` Linus Torvalds
  2007-04-27 18:03             ` Andy Parkins
  1 sibling, 1 reply; 262+ messages in thread
From: Linus Torvalds @ 2007-04-27 17:11 UTC (permalink / raw)
  To: Andy Parkins; +Cc: git, Junio C Hamano



On Fri, 27 Apr 2007, Andy Parkins wrote:
> 
> Let's be really, really sure.  I'm not sure a big enough fuss has been made of 
> the fact that this is a change of repository format.  Before this you could 
> pretty much access any repository with any version.

I'm personally really really sure. The whole point of subprojects (at 
least the way _I_ envisioned them) was to have them point to objects 
outside the same repository, so it's more than just an implementation 
detail, it's very much design.

And yes, of course we could have made it point to a blob inside the 
superproject, and have that blob then contain a SHA1 that old versions of 
git wouldn't have known to follow. But that would have been pretty hacky, 
and old versions of git would _still_ have had trouble with the new 
feature: at a minimum, git-fsck would always complain about the invalid 
mode (and things like "git diff" would too - I think it used to just die 
on unknown modes).

The "git-fsck/diff not working" thing might be seen as something that 
isn't important on the server side, but I think it ends up being critial, 
both for gitweb, and simply because I'd expect server side to want to 
verify the projects they export too. So I do think you'd want to have a 
recent git to support recent featurs.

So I think it boils down to: 
 - old git versions will obviously happily continue to  export all normal 
   repositories (including the submodules themselves).
 - but the actual supermodule support for embedding those submodules 
   really is a fundamentally new linkage, and if you want to use 
   supermodules, you have to have a recent enough git. Even if it's just 
   exporting them.
 - with 1.5.2, git will be good enough to _serve_ stuff, even if it might 
   not be very usable for the client-side operations. So especially since 
   there won't be a whole lot of users (due to the client limitations), I 
   think it's fine to expect a "sufficiently capable" git version if you 
   start serving subproject content.

But, yeah, this is just my personal view of sub/superproject support, and 
I've never actually _used_ it myself apart from my small test-repo thing.

		Linus

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-04-27 14:01           ` Nicolas Pitre
@ 2007-04-27 15:21             ` Andy Parkins
  0 siblings, 0 replies; 262+ messages in thread
From: Andy Parkins @ 2007-04-27 15:21 UTC (permalink / raw)
  To: git; +Cc: Nicolas Pitre, Junio C Hamano

On Friday 2007 April 27, Nicolas Pitre wrote:

> I think it is reasonable to say that if you intend to work with a repo
> that contains references to submodules, then you need to upgrade your
> Git version.  It is not like if the Git licensing fees are really
> prohibitive.

:-)  Absolutely.

The case I was thinking about was when the server hosting your project doesn't 
have submodule support and isn't under your direct control.  For example: 
kernel.org and repo.or.cz.  The same is true for those people for whom the IT 
department manage their central server, and aren't very helpful.

In those cases, that repository is being used as storage, it's bare, doesn't 
have an index and doesn't ever checkout the files.  If submodule support were 
capable of being stored (not checked out) by an older git, then people can 
use submodules merely if they have support on the client side.

There's also the distributions to think about - taking Debian as an example - 
a lot of people stick with stable only (especially for servers) - and stable 
is stuck with 1.4.4.4.  It's going to be a long time before a 
submodule-capable git hits Debian stable.



Andy

-- 
Dr Andy Parkins, M Eng (hons), MIET
andyparkins@gmail.com

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-04-27  9:19         ` Andy Parkins
@ 2007-04-27 14:01           ` Nicolas Pitre
  2007-04-27 15:21             ` Andy Parkins
  2007-04-27 17:11           ` Linus Torvalds
  1 sibling, 1 reply; 262+ messages in thread
From: Nicolas Pitre @ 2007-04-27 14:01 UTC (permalink / raw)
  To: Andy Parkins; +Cc: git, Junio C Hamano

On Fri, 27 Apr 2007, Andy Parkins wrote:

> I am still concerned about the submodule thing - once we push a mainline 
> version out with the format decided, that will be that and we'll be stuck 
> with it.  Are we _really_ sure that it's right to have a non-object hash in 
> the tree objects?
> 
> It's a fundamental change in the form of the tree: at the moment every hash in 
> the tree object represents another object in the same repository; with 
> gitlink as it is, that convention is broken.
> 
> Let's be really, really sure.  I'm not sure a big enough fuss has been made of 
> the fact that this is a change of repository format.  Before this you could 
> pretty much access any repository with any version.

I think it is reasonable to say that if you intend to work with a repo 
that contains references to submodules, then you need to upgrade your 
Git version.  It is not like if the Git licensing fees are really 
prohibitive.


Nicolas

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-04-27  8:34       ` Junio C Hamano
@ 2007-04-27  9:19         ` Andy Parkins
  2007-04-27 14:01           ` Nicolas Pitre
  2007-04-27 17:11           ` Linus Torvalds
  2007-04-29 18:33         ` Junio C Hamano
  1 sibling, 2 replies; 262+ messages in thread
From: Andy Parkins @ 2007-04-27  9:19 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano

On Friday 2007 April 27, Junio C Hamano wrote:
> We've accumulated quite a bit of fixes on 'maint', so I need to
> do a 1.5.1.3 release soonish, as we will go into feature freeze
> on 'master' shortly in preparation for 1.5.2.

I am still concerned about the submodule thing - once we push a mainline 
version out with the format decided, that will be that and we'll be stuck 
with it.  Are we _really_ sure that it's right to have a non-object hash in 
the tree objects?

It's a fundamental change in the form of the tree: at the moment every hash in 
the tree object represents another object in the same repository; with 
gitlink as it is, that convention is broken.

Let's be really, really sure.  I'm not sure a big enough fuss has been made of 
the fact that this is a change of repository format.  Before this you could 
pretty much access any repository with any version.


Andy
-- 
Dr Andy Parkins, M Eng (hons), MIET
andyparkins@gmail.com

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-04-23  7:04     ` Junio C Hamano
@ 2007-04-27  8:34       ` Junio C Hamano
  2007-04-27  9:19         ` Andy Parkins
  2007-04-29 18:33         ` Junio C Hamano
  0 siblings, 2 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-04-27  8:34 UTC (permalink / raw)
  To: git

We've accumulated quite a bit of fixes on 'maint', so I need to
do a 1.5.1.3 release soonish, as we will go into feature freeze
on 'master' shortly in preparation for 1.5.2.

On the 'master' front, things have been stabilizing.  Modulo
documentation updates and bugfixes, I expect what we have here
tonight will be pretty much what the final 1.5.2 would look
like.  I already know Shawn has plans to feed git-gui 0.6.6
updates, which should also be included in the final one.

But I might have missed or dismissed patches we have seen and
reviewed on the list recently that deserve to be in 1.5.2, so
please raise hand if you see something missing.  After that,
I'll tag v1.5.2-rc1 and from there we will do the usual "no new
features, options, commands -- only fixes", which hopefully will
happen on Monday.

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last announcement.

 Adam Roben (3):
  Remove usernames from all commit messages, not just when using svmprops
  git-svn: Don't rely on $_ after making a function call
  git-svn: Ignore usernames in URLs in find_by_url

 Alex Riesen (1):
  Fix handle leak in write_tree

 Andrew Ruder (8):
  Removing -n option from git-diff-files documentation
  Document additional options for git-fetch
  Update git-fmt-merge documentation
  Update git-grep documentation
  Update -L documentation for git-blame/git-annotate
  Update git-http-push documentation
  Update git-local-fetch documentation
  Update git-http-fetch documentation

 Brian Gernhardt (2):
  Reverse the order of -b and --track in the man page.
  Ignore all man sections as they are generated files.

 Gerrit Pape (1):
  Documentation/git-reset.txt: suggest git commit --amend in example.

 Johannes Schindelin (1):
  dir.c(common_prefix): Fix two bugs

 Josh Triplett (2):
  Fix typo in git-am: s/Was is/Was it/
  Create a sysconfdir variable, and use it for ETC_GITCONFIG

 Junio C Hamano (3):
  Build RPM with ETC_GITCONFIG=/etc/gitconfig
  applymbox & quiltimport: typofix.
  Start preparing for 1.5.1.3

 Robin H. Johnson (10):
  Document --dry-run parameter to send-email.
  Prefix Dry- to the message status to denote dry-runs.
  Debugging cleanup improvements
  Change the scope of the $cc variable as it is not needed outside of send_message.
  Perform correct quoting of recipient names.
  Validate @recipients before using it for sendmail and Net::SMTP.
  Ensure clean addresses are always used with Net::SMTP
  Allow users to optionally specify their envelope sender.
  Document --dry-run and envelope-sender for git-send-email.
  Sanitize @to recipients.

 Shawn O. Pearce (1):
  Actually handle some-low memory conditions


* The 'master' branch has these since the last announcement
  in addition to the above.

 Alex Riesen (3):
  Avoid excessive rewrites in merge-recursive
  Add a test for merging changed and rename-changed branches
  Ignore merged status of the file-level merge

 Andy Parkins (3):
  post-receive-email example hook: fastforward should have been fast_forward
  post-receive-email example hook: detect rewind-only updates and output sensible message
  post-receive-email example hook: sed command for getting description was wrong

 Johannes Schindelin (1):
  t4201: Do not display weird characters on the terminal

 Josh Triplett (1):
  Add clean.requireForce option, and add -f option to git-clean to override it

 Junio C Hamano (9):
  Move index-related variables into a structure.
  Make read-cache.c "the_index" free.
  Document "diff=driver" attribute
  t5302: avoid using tail -c
  t6030: grab commit object name as we go
  Diff between two blobs should take mode changes into account now.
  t/test-lib.sh: Protect ourselves from common misconfiguration
  gitattributes documentation: clarify overriding
  Add --date={local,relative,default}

 Luiz Fernando N. Capitulino (5):
  remove_subtree(): Use strerror() when possible
  entry.c: Use const qualifier for 'struct checkout' parameters
  read_cache_from(): small simplification
  core-tutorial: minor fixes
  init_buffer(): Kill buf pointer

 Martin Koegler (5):
  Add S_IFINVALID mode
  add get_sha1_with_mode
  add add_object_array_with_mode
  store mode in rev_list, if <tree>:<filename> syntax is used
  use mode of the tree in git-diff, if <tree>:<file> syntax is used

 Nicolas Pitre (1):
  add file checkout progress

 OGAWA Hirofumi (1):
  git-fetch: Fix "argument list too long"

 Sami Farin (1):
  fast-import: size_t vs ssize_t

 Shawn O. Pearce (1):
  Don't repack existing objects in fast-import

 Uwe Kleine-König (1):
  fix importing of subversion tars

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-04-22  6:22   ` Junio C Hamano
@ 2007-04-23  7:04     ` Junio C Hamano
  2007-04-27  8:34       ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-04-23  7:04 UTC (permalink / raw)
  To: git

Together with fixes to pack-objects mode bits gotcha that caused
quite a traffic on the list this morning, and crlf conversion
bug from Alex, I've fast-tracked a few topics to 'master' tonight:

 - Nico's progress meter clean-up.
 - My custom diff driver in gitattributes series.

By "fast-track", I mean there might still be bugs in the code
but there do not seem to be anything contentious in the design,
and I trust the people who can fix possible breakages are
responsive.  I think "ident" attribute to expand "$ident$" in
blobs is probably less controversial as it is a stateless
transformation, but I left it out for now.

The tip of 'master' tonight is v1.5.2-rc0.  I am reasonably sure
that I have missed a few topics that we saw/reviewed patches for
the past several days.  Please do not get discouraged as I have
not necessarily rejected them; I was just busy whipping v1.5.1.2
and the 'master' branch into shape tonight.  Please discuss the
patches that are missing from tonight's 'master' for possible
inclusion in the coming few days, and then let's declare feature
freeze by the end of the week with v1.5.2-rc1.  After that, the
usual rules for stabilization period applies (no new features,
only fixes including documentation updates).

----------------------------------------------------------------

* The 'master' branch has these since the last announcement
  in addition to the above.

 Alex Riesen (2):
  Fix a typo in crlf conversion code
  Fix crash in t0020 (crlf conversion)

 Junio C Hamano (8):
  Update documentation links to point at v1.5.1.2
  Documentation/Makefile: fix section (5) installation
  Update draft release notes for v1.5.2
  pack-objects: quickfix for permission modes.
  Fix 'quickfix' on pack-objects.
  Update tests not to assume that generated packfiles are writable.
  pack-objects: make generated packfile read-only
  Support 'diff=pgm' attribute

 Martin Koegler (1):
  gitweb: Show "no difference" message for empty diff

 Nicolas Pitre (4):
  common progress display support
  make progress "title" part of the common progress interface
  provide a facility for "delayed" progress reporting
  delay progress display when checking out files

 Shawn O. Pearce (1):
  Cleanup variables in cat-file

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-04-18 23:58 ` Junio C Hamano
@ 2007-04-22  6:22   ` Junio C Hamano
  2007-04-23  7:04     ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-04-22  6:22 UTC (permalink / raw)
  To: git

The latest maintenance release v1.5.1.2 is out.

Tonight's 'master' contains 64-bit index, core subproject
support, and gitattributes (but not the controversial "filter"
part).  As I promised I'd do something about attributes some
time ago (I think it was during v1.5.1 stabilization period), I
am reasonably happy with the state of 'master' right now.  The
other two major topics are also nice, unexpected bonus toward
v1.5.2 from my point of view.

Please expect stabilization cycle for v1.5.2 to start soon.

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last
  announcement; these are all contained in v1.5.1.2, the latest
  maintenance release.

 Andrew Ruder (4):
  Update git-archive documentation
  Update git-cherry-pick documentation
  Fix unmatched emphasis tag in git-tutorial
  Update git-config documentation

 Andy Whitcroft (1):
  fix up strtoul_ui error handling

 Eric Wong (1):
  perl: install private Error.pm if the site version is older than our own

 Junio C Hamano (2):
  git-clone: fix dumb protocol transport to clone from pack-pruned ref
  GIT 1.5.1.2

 Sam Vilain (1):
  git-tar-tree: complete deprecation conversion message


* The 'master' branch has these since the last announcement
  in addition to the above.

 Alex Riesen (2):
  Tests for core subproject support
  Simplify calling of CR/LF conversion routines

 Alexandre Julliard (1):
  git.el: Add a commit description to the reflog.

 Aneesh Kumar K.V (1):
  gitview: annotation support

 Brian Gernhardt (1):
  Remove case-sensitive file in t3030-merge-recursive.

 James Bowes (1):
  Document git-check-attr

 Julian Phillips (1):
  refs.c: add a function to sort a ref list, rather then sorting on add

 Junio C Hamano (30):
  git-fetch--tool pick-rref
  git-fetch: use fetch--tool pick-rref to avoid local fetch from alternate
  Add basic infrastructure to assign attributes to paths
  Define 'crlf' attribute.
  Teach 'diff' about 'diff' attribute.
  Fix 'crlf' attribute semantics.
  Fix 'diff' attribute semantics.
  Makefile: add patch-ids.h back in.
  attribute macro support
  Define a built-in attribute macro "binary".
  Change attribute negation marker from '!' to '-'.
  Make sure quickfetch is not fooled with a previous, incomplete fetch.
  Allow more than true/false to attributes.
  merge-recursive: separate out xdl_merge() interface.
  Allow specifying specialized merge-backend per path.
  Add a demonstration/test of customized merge.
  Custom low-level merge driver support.
  Allow the default low-level merge driver to be configured.
  Custom low-level merge driver: change the configuration scheme.
  Allow low-level driver to specify different behaviour during internal merge.
  Fix funny types used in attribute value representation
  Counto-fix in merge-recursive
  Simplify code to find recursive merge driver.
  Documentation: support manual section (5) - file formats.
  Update 'crlf' attribute semantics.
  Document gitattributes(5)
  git-add -u: match the index with working tree.
  Fix bogus linked-list management for user defined merge drivers.
  convert.c: restructure the attribute checking part.
  lockfile: record the primary process.

 Linus Torvalds (21):
  diff-lib: use ce_mode_from_stat() rather than messing with modes manually
  Avoid overflowing name buffer in deep directory structures
  Add 'resolve_gitlink_ref()' helper function
  Add "S_IFDIRLNK" file mode infrastructure for git links
  Teach "fsck" not to follow subproject links
  Teach core object handling functions about gitlinks
  Fix thinko in subproject entry sorting
  Teach directory traversal about subprojects
  Teach git-update-index about gitlinks
  Don't show gitlink directories when we want "other" files
  Teach git list-objects logic not to follow gitlinks
  Teach "git-read-tree -u" to check out submodules as a directory
  Fix gitlink index entry filesystem matching
  Teach git list-objects logic to not follow gitlinks
  Teach "git-read-tree -u" to check out submodules as a directory
  Fix some "git ls-files -o" fallout from gitlinks
  Expose subprojects as special files to "git diff" machinery
  Use proper object allocators for unknown object nodes too
  Clean up object creation to use more common code
  Fix working directory errno handling when unlinking a directory
  Fix a copy-n-paste bug in the object decorator code.

 Nicolas Pitre (27):
  get rid of num_packed_objects()
  make overflow test on delta base offset work regardless of variable size
  add overflow tests on pack offset variables
  compute a CRC32 for each object as stored in a pack
  compute object CRC32 with index-pack
  pack-objects: learn about pack index version 2
  index-pack: learn about pack index version 2
  sha1_file.c: learn about index version 2
  show-index.c: learn about index v2
  pack-redundant.c: learn about index v2
  allow forcing index v2 and 64-bit offset treshold
  validate reused pack data with CRC when possible
  simple random data generator for tests
  use test-genrandom in tests instead of /dev/urandom
  tests for various pack index features
  clean up add_object_entry()
  pack-objects: optimize preferred base handling a bit
  pack-objects: equal objects in size should delta against newer objects
  pack-objects: rework check_delta_limit usage
  pack-objects: clean up list sorting
  pack-objects: get rid of reuse_cached_pack
  pack-objects: get rid of create_final_object_list()
  pack-objects: make in_pack_header_size a variable of its own
  add get_size_from_delta()
  pack-objects: better check_object() performances
  pack-objects: remove obsolete comments
  document --index-version for index-pack and pack-objects

 Shawn O. Pearce (2):
  Contribute a fairly paranoid update hook
  Kill the useless progress meter in merge-recursive

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-04-16  1:27 Junio C Hamano
@ 2007-04-18 23:58 ` Junio C Hamano
  2007-04-22  6:22   ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-04-18 23:58 UTC (permalink / raw)
  To: git

Accumulated fixes on 'maint' are mostly documentation updates.
I will do a 1.5.1.2 probably this weekend, when I find time.

On 'master' are Frank's cvsserver updates to use DBI to allow
backends other than sqlite.  There also is an update to
merge-recursive to make it saner for merges that involves a
directory changing to a file (or vice versa).

I did not hear anything positive nor negative while they were on
'next', so if you have been using cvsserver or merge and this
breaks them for you, you had it coming.  At least you can keep
both pieces ;-).

But more seriously, hopefully no news was a good news.  There
are also other minor new features and enhancements on 'master'.

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last announcement.

 Alex Riesen (1):
  Fix overwriting of files when applying contextually independent diffs

 Andrew Ruder (4):
  Update git-am documentation
  Update git-applymbox documentation
  Update git-apply documentation
  Update git-annotate/git-blame documentation

 Carlos Rica (1):
  Use const qualifier for 'sha1' parameter in delete_ref function

 Eric Wong (3):
  git-svn: respect lower bound of -r/--revision when following parent
  git-svn: quiet some warnings when run only with --version/--help
  git-svn: don't allow globs to match regular files

 Frank Lichtenheld (1):
  git-shortlog: Fix two formatting errors in asciidoc documentation

 Gerrit Pape (2):
  variable $projectdesc needs to be set before checking against unchanged default.
  Have sample update hook not refuse deleting a branch through push.

 J. Bruce Fields (7):
  Documentation: minor edits of git-lost-found manpage
  Documentation: clarify git-checkout -f, minor editing
  Documentation: clarify track/no-track option.
  user-manual: fix discussion of default clone
  user-manual: detached HEAD
  user-manual: start revising "internals" chapter
  user-manual: use detached head when rewriting history

 Junio C Hamano (1):
  Start preparing for 1.5.1.2

 Shawn O. Pearce (1):
  git-gui: Brown paper bag fix division by 0 in blame


* The 'master' branch has these since the last announcement
  in addition to the above.

 Alex Riesen (2):
  Fix t4201: accidental arithmetic expansion
  Fix permissions on test scripts

 Andrew Ruder (1):
  Add policy on user-interface changes

 Christian Couder (2):
  Bisect: simplify "bisect start" logging.
  Bisect: rename "t/t6030-bisect-run.sh" to "t/t6030-bisect-porcelain.sh".

 Eygene Ryabinkin (4):
  Allow wish interpreter to be defined with TCLTK_PATH
  Teach git-gui to use the user-defined UI font everywhere.
  Improve look-and-feel of the git-gui tool.
  Do not break git-gui messages into multiple lines.

 Frank Lichtenheld (12):
  cvsserver: Introduce new state variable 'method'
  cvsserver: Handle three part keys in git config correctly
  cvsserver: Allow to override the configuration per access method
  cvsserver: Make the database backend configurable
  cvsserver: Abort if connect to database fails
  cvsserver: Use DBI->table_info instead of DBI->tables
  cvsserver: Corrections to the database backend configuration
  cvsserver: Add asciidoc documentation for new database backend configuration
  cvsserver: Allow to "add" a removed file
  cvsserver: Reword documentation on necessity of write access
  cvsserver: Document the GIT branches -> CVS modules mapping more prominently
  config.txt: Add gitcvs.db* variables

 Johannes Schindelin (1):
  Use print_wrapped_text() in shortlog

 Junio C Hamano (9):
  shortlog -w: make wrap-line behaviour optional.
  t1000: fix case table.
  Treat D/F conflict entry more carefully in unpack-trees.c::threeway_merge()
  merge-recursive: do not barf on "to be removed" entries.
  merge-recursive: handle D/F conflict case more carefully.
  t3030: merge-recursive backend test.
  send-email: do not leave an empty CC: line if no cc is present.
  git-gui: Honor TCLTK_PATH if supplied
  Update draft release notes for 1.5.2 with accumulated changes.

 Linus Torvalds (2):
  Add a generic "object decorator" interface, and make object refs use it
  Add support for "commit name decorations" to log family of commands

 Michael S. Tsirkin (1):
  Display the subject of the commit just made.

 Shawn O. Pearce (3):
  Always bind the return key to the default button
  git-gui: Display the directory basename in the title
  Revert "Allow wish interpreter to be defined with TCLTK_PATH"

 Steven Grimm (3):
  Add --quiet option to suppress output of "rm" commands for removed files.
  git-rm: Trivial fix for a comment typo.
  Add --ignore-unmatch option to exit with zero status when no files are removed.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
@ 2007-04-16  1:27 Junio C Hamano
  2007-04-18 23:58 ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-04-16  1:27 UTC (permalink / raw)
  To: git

Perhaps we would need 1.5.1.2 to push out a few accumulated
small fixes on 'maint'.

----------------------------------------------------------------

* The 'maint' branch has these fixes since v1.5.1.1.

 Alex Riesen (2):
  Use rev-list --reverse in git-rebase.sh
  Document -g (--walk-reflogs) option of git-log

 Eygene Ryabinkin (2):
  Teach gitk to use the user-defined UI font everywhere.
  Improve look-and-feel of the gitk tool.

 Frank Lichtenheld (4):
  config.txt: Document gitcvs.allbinary
  config.txt: Document core.autocrlf
  config.txt: Change pserver to server in description of gitcvs.*
  config.txt: Fix grammatical error in description of http.noEPSV

 Jim Meyering (1):
  sscanf/strtoul: parse integers robustly

 Junio C Hamano (1):
  Do not default to --no-index when given two directories.

 Linus Torvalds (1):
  git-quiltimport complaining yet still working

 Matthias Lederhofer (1):
  handle_options in git wrapper miscounts the options it handled.

 Michael Spang (1):
  git-blame: Fix overrun in fake_working_tree_commit()


* The 'master' branch has these since the last announcement
  in addition to the above.

 Frank Lichtenheld (2):
  gitweb: Allow forks with project list file
  gitweb: Allow configuring the default projects order and add order 'none'

 Jim Meyering (1):
  sscanf/strtoul: parse integers robustly

 Junio C Hamano (5):
  Add %m to '--pretty=format:'
  Refactor patch-id filtering out of git-cherry and git-format-patch.
  git-log --cherry-pick A...B
  Documentation: --cherry-pick
  Fix git {log,show,...} --pretty=email

 Luiz Fernando N. Capitulino (2):
  ident.c: Use const qualifier for 'struct passwd' parameters
  ident.c: Use size_t (instead of int) to store sizes

 René Scharfe (1):
  git-archive: make tar the default format

 Robin H. Johnson (2):
  Add custom subject prefix support to format-patch (take 3)
  Add testcase for format-patch --subject-prefix (take 3)

 Shawn O. Pearce (1):
  Don't yap about merge-subtree during make

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
@ 2007-04-09  8:17 Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-04-09  8:17 UTC (permalink / raw)
  To: git

Maybe will do 1.5.1.1 on Wednesday with the accumulated fixes on
'maint'.

The 'master' has a few topics merged from 'next':

 - Christian Couder's "git bisect" improvements.
 - Fernando J Perada's parallel make fix.
 - Andy Parkins's "git diff --stat" for binary files.
 - Shawn Pearce's "git lost-found" that ignores reflog.
 - Switching between two branches that have D/F conflicts.
 - "git merge -s subtree".

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last announcement.

 Arjen Laarhoven (4):
  usermanual.txt: some capitalization nits
  t3200-branch.sh: small language nit
  t5300-pack-object.sh: portability issue using /usr/bin/stat
  Makefile: iconv() on Darwin has the old interface

 Brian Gernhardt (2):
  Document --left-right option to rev-list.
  Distinguish branches by more than case in tests.

 Dana How (1):
  Fix lseek(2) calls with args 2 and 3 swapped

 Eric Wong (3):
  git-svn: bail out on incorrect command-line options
  git-svn: dcommit/rebase confused by patches with git-svn-id: lines
  git-svn: fix log command to avoid infinite loop on long commit messages

 Frank Lichtenheld (6):
  cvsimport: sync usage lines with existing options
  cvsimport: Improve documentation of CVSROOT and CVS module determination
  cvsimport: Improve usage error reporting
  cvsimport: Reorder options in documentation for better understanding
  cvsimport: Improve formating consistency
  cvsserver: small corrections to asciidoc documentation

 Geert Bosch (1):
  Fix renaming branch without config file

 Jakub Narebski (1):
  gitweb: Fix bug in "blobdiff" view for split (e.g. file to symlink) patches

 Junio C Hamano (3):
  Fix dependency of common-cmds.h
  Documentation: tighten dependency for git.{html,txt}
  Add Documentation/cmd-list.made to .gitignore

 Lars Hjemli (2):
  rename_ref(): only print a warning when config-file update fails
  Make builtin-branch.c handle the git config file

 René Scharfe (1):
  Revert "builtin-archive: use RUN_SETUP"

 Shawn O. Pearce (1):
  Honor -p<n> when applying git diffs

 Ville Skyttä (1):
  DESTDIR support for git/contrib/emacs

 YOSHIFUJI Hideaki (1):
  Avoid composing too long "References" header.


* The 'master' branch has these since the last announcement
  in addition to the above.

 Alex Riesen (1):
  Fix passing of TCLTK_PATH to git-gui

 Andy Parkins (1):
  Show binary file size change in diff --stat

 Christian Couder (2):
  Bisect: teach "bisect start" to optionally use one bad and many good revs.
  Documentation: bisect: "start" accepts one bad and many good commits

 Fernando J. Pereda (1):
  Makefile: Add '+' to QUIET_SUBDIR0 to fix parallel make.

 Junio C Hamano (21):
  git-fetch: add --quiet
  checkout: allow detaching to HEAD even when switching to the tip of a branch
  _GIT_INDEX_OUTPUT: allow plumbing to output to an alternative index file.
  git-read-tree --index-output=<file>
  add_cache_entry(): removal of file foo does not conflict with foo/bar
  unpack_trees.c: pass unpack_trees_options structure to keep_entry() as well.
  unpack-trees: get rid of *indpos parameter.
  Fix read-tree --prefix=dir/.
  Fix twoway_merge that passed d/f conflict marker to merged_entry().
  Fix switching to a branch with D/F when current branch has file D.
  Fix bogus error message from merge-recursive error path
  Propagate cache error internal to refresh_cache() via parameter.
  Rename internal function "add_file_to_cache" in builtin-update-index.c
  Rename static variable write_index to update_index in builtin-apply.c
  Rename add_file_to_index() to add_file_to_cache()
  git-bisect: modernization
  t6030: add a bit more tests to git-bisect
  git-bisect: allow bisecting with only one bad commit.
  git-push reports the URL after failing.
  git-push to multiple locations does not stop at the first failure
  A new merge stragety 'subtree'.

 Nicolas Pitre (1):
  clean up and optimize nth_packed_object_sha1() usage

 Shawn O. Pearce (1):
  Fix lost-found to show commits only referenced by reflogs

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-03-31  9:34 Junio C Hamano
  2007-03-31 11:54 ` Alex Riesen
@ 2007-04-05  6:44 ` Junio C Hamano
  1 sibling, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-04-05  6:44 UTC (permalink / raw)
  To: git

So here is the status for tonight.

* There is no biggie in 'maint' yet.

* On 'master', as I promised, the following topics are merged:

  - An option to install p4import, and make it part of the RPM
    binary package suite.

  - An option to exclude git-gui and gitk.

  - Build tweak to include GIT_VERSION string in the documentation.

  - Optimize "add single-path" in a huge directory whose
    contents are mostly ignored.

  - Optimize "rev-list --bisect".

  - A handful gitweb, git-svn and git-blame.el cleanups.

  In addition, a few patches are also in:

  - "diff --stat" to show bytesize changes for binary files.

  - "lost-found" to ignore objects only reachable from the reflog.

  - "patch -p<n>" is honored even for "diff --git" patches.

  - A handful internal clean-ups.

----------------------------------------------------------------

* The 'maint' branch has these fixes since v1.5.1

 Brian Gernhardt (1):
  Fix t4200-rerere for white-space from "wc -l"

 Gerrit Pape (1):
  rename contrib/hooks/post-receieve-email to contrib/hooks/post-receive-email.

 Junio C Hamano (1):
  rerere: make sorting really stable.


* The 'master' branch has these since v1.5.1 in addition to the above.

 Andy Parkins (1):
  Show binary file size change in diff --stat

 Brian Gernhardt (1):
  Remove unused WITH_OWN_SUBPROCESS_PY from RPM spec

 Eric Wong (1):
  git-svn: bail out on incorrect command-line options

 Eygene Ryabinkin (7):
  Add the WITH_P4IMPORT knob to the Makefile.
  Added git-p4 package to the list of git RPMs.
  Added correct Python path to the RPM specfile.
  NO_TCLTK
  Add --with-tcltk and --without-tcltk to configure.
  Rewrite Tcl/Tk interpreter path for the GUI tools.
  Eliminate checks of user-specified Tcl/Tk interpreter.

 Frank Lichtenheld (2):
  Documentation: Replace @@GIT_VERSION@@ in documentation
  Documentation: Add version information to man pages

 Jakub Narebski (2):
  gitweb: Whitespace cleanup - tabs are for indent, spaces are for align (3)
  gitweb: Quote hash keys, and do not use barewords keys

 Junio C Hamano (14):
  t6002: minor spelling fix.
  git-rev-list: add --bisect-vars option.
  git-rev-list --bisect: optimization
  t6004: add a bit more path optimization test.
  rev-list --bisect: Fix "halfway" optimization.
  make the previous optimization work also on path-limited rev-list --bisect
  Documentation: unbreak user-manual.
  Optional Tck/Tk: ignore generated files.
  RPM spec: include git-p4 in the list of all packages.
  Fix bogus error message from merge-recursive error path
  Propagate cache error internal to refresh_cache() via parameter.
  Rename internal function "add_file_to_cache" in builtin-update-index.c
  Rename static variable write_index to update_index in builtin-apply.c
  Rename add_file_to_index() to add_file_to_cache()

 Linus Torvalds (1):
  Optimize directory listing with pathspec limiter.

 Nicolas Pitre (1):
  clean up and optimize nth_packed_object_sha1() usage

 Shawn O. Pearce (2):
  Fix lost-found to show commits only referenced by reflogs
  Honor -p<n> when applying git diffs

 Xavier Maillard (2):
  git-blame.el: separate git-blame-mode to ease maintenance
  git-blame.el: pick a set of random colors for each git-blame turn

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-03-31  9:34 Junio C Hamano
@ 2007-03-31 11:54 ` Alex Riesen
  2007-04-05  6:44 ` Junio C Hamano
  1 sibling, 0 replies; 262+ messages in thread
From: Alex Riesen @ 2007-03-31 11:54 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Junio C Hamano, Sat, Mar 31, 2007 11:34:14 +0200:
> 
> If you can remind me of patches that are "must have"s for 1.5.1
> that I've missed, that would be very nice.  We've broken "git
> am" and "git rebase" (without --merge) on 'master' branch for
> people who has i18n contents after 1.5.0 but they should be
> fixed now.

We still have absolutely broken merge-recursive WRT rename/rename
conflicts in intermediate trees.

> Please, remember that the key word for this weekend is "make
> 1.5.1 NO WORSE than 1.5.0".  IOW, the focus is on obvious
> regression fixes.

It is "no worse", but doesn't "pretty bad" count?

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
@ 2007-03-31  9:34 Junio C Hamano
  2007-03-31 11:54 ` Alex Riesen
  2007-04-05  6:44 ` Junio C Hamano
  0 siblings, 2 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-03-31  9:34 UTC (permalink / raw)
  To: git

As you can see, there are a few more fixes on the 'maint' branch
since 1.5.0.6; I might do 1.5.0.7 just for the sake of it, but I
am fairly determined to tag 1.5.1 on Apr 4th in a shape that is
"no worse" than 1.5.0, so it might not be strictly necessary.

If you can remind me of patches that are "must have"s for 1.5.1
that I've missed, that would be very nice.  We've broken "git
am" and "git rebase" (without --merge) on 'master' branch for
people who has i18n contents after 1.5.0 but they should be
fixed now.

Please, remember that the key word for this weekend is "make
1.5.1 NO WORSE than 1.5.0".  IOW, the focus is on obvious
regression fixes.

----------------------------------------------------------------
* The 'maint' branch has these fixes since the last announcement.

 Gerrit Pape (2):
  Documentation/git-svnimport.txt: fix typo.
  Documentation/git-rev-parse.txt: fix example in SPECIFYING RANGES.

 H. Peter Anvin (1):
  git-upload-pack: make sure we close unused pipe ends


* The 'master' branch has these since the last announcement
  in addition to the above.

 Andy Parkins (1):
  Reimplement emailing part of hooks--update in contrib/hooks/post-receive-email

 Christian Couder (1):
  Bisect: Improve error message in "bisect_next_check".

 Don Zickus (1):
  git-mailinfo fixes for patch munging

 Eric Wong (1):
  git-svn: avoid respewing similar error messages for missing paths

 Francis Daly (1):
  git-quiltimport /bin/sh-ism fix

 Jakub Narebski (1):
  gitweb: Support comparing blobs (files) with different names

 Julian Phillips (1):
  contrib/workdir: add a simple script to create a working directory

 Junio C Hamano (2):
  Update draft release notes for 1.5.1
  Do not bother documenting fetch--tool

 Theodore Ts'o (12):
  Fix minor formatting issue in man page for git-mergetool
  mergetool: Replace use of "echo -n" with printf(1) to be more portable
  mergetool: Don't error out in the merge case where the local file is deleted
  mergetool: portability fix: don't assume true is in /bin
  mergetool: portability fix: don't use reserved word function
  mergetool: factor out common code
  mergetool: Remove spurious error message if merge.tool config option not set
  mergetool: Fix abort command when resolving symlinks and deleted files
  mergetool: Add support for Apple Mac OS X's opendiff command
  mergetool: Make git-rm quiet when resolving a deleted file conflict
  mergetool: Clean up description of files and prompts for merge resolutions
  Rename warn() to warning() to fix symbol conflicts on BSD and Mac OS

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-03-13  8:49     ` Junio C Hamano
  2007-03-13  9:26       ` Junio C Hamano
  2007-03-22 17:08       ` Steven Grimm
@ 2007-03-25  8:32       ` Junio C Hamano
  2 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-03-25  8:32 UTC (permalink / raw)
  To: git

On the 'maint' front, there are a handful gitweb fixes, but
there is nothing major.  I'll perhaps do a v1.5.0.6 if I have
time when I do the v1.5.1-rc2.

I allowed a handful new features to the 'master' side, contrary
to the promise of -rc1 which is supposed to be 'no new features,
only fixes'.  They should be safe changes, though.

 - 'git-diff --quiet' optimizes tree-level comparison by exiting
   early when it finds one difference.  This speeds up path-limited
   form of git-rev-list and git-log significantly.

 - 'git-bisect run <script>' can be used to automate simple
   bisection. 

Notable fixes since -rc1 includes:

 - 'git-clone -q' supresses the "walk" and "got" noises while
   fetching over http.

 - 'git-revert' does not add duplicated abbreviated commit
   object name on the title line anymore.

 - With core.legacyheaders turned off, zero-length loose object
   was incorrectly judged corrupt.

 - 'git-apply' with core.autocrlf generated bogus results.

 - path-limited 'git-bisect' terminated too early before finding
   the guilty commit.

 - the sample update hook does not generate change notification
   e-mails anymore. 

----------------------------------------------------------------
* The 'maint' branch has these fixes since v1.5.0.5.

 Jakub Narebski (4):
  gitweb: Fix "next" link in commit view
  gitweb: Don't escape attributes in CGI.pm HTML methods
  gitweb: Fix not marking signoff lines in "log" view
  gitweb: Add some installation notes in gitweb/INSTALL

 Li Yang (1):
  gitweb: Change to use explicitly function call cgi->escapHTML()

 Michael S. Tsirkin (1):
  fix typo in git-am manpage

 Peter Eriksen (1):
  Documentation/pack-format.txt: Clear up description of types.


* The 'master' branch has these since v1.5.1-rc1.

 Alex Riesen (2):
  Document --quiet option to git-diff
  Use diff* with --exit-code in git-am, git-rebase and git-merge-ours

 Andy Parkins (2):
  update-hook: abort early if the project description is unset
  update-hook: remove e-mail sending hook.

 Brandon Casey (1):
  prefer "git COMMAND" over "git-COMMAND" in gitk

 Chris Wright (1):
  make git clone -q suppress the noise with http fetch

 Christian Couder (6):
  Bisect: implement "git bisect run <cmd>..." to automatically bisect.
  Documentation: bisect: reformat some paragraphs.
  Documentation: bisect: reword one paragraph.
  Documentation: bisect: reformat more paragraphs.
  Documentation: bisect: add some titles to some paragraphs.
  Documentation: bisect: make a comment fit better in the man page.

 Eric Wong (1):
  gitk: bind <F5> key to Update (reread commits)

 James Bowes (1):
  Replace remaining instances of strdup with xstrdup.

 Johannes Schindelin (5):
  xdiff/xutils.c(xdl_hash_record): factor out whitespace handling
  Add a HOWTO for setting up a standalone git daemon
  Provide some technical documentation for shallow clones
  t4118: be nice to non-GNU sed
  git-revert: Revert revert message to old behaviour

 Junio C Hamano (12):
  blame: micro-optimize cmp_suspect()
  blame: cmp_suspect is not "cmp" anymore.
  Teach tree_entry_interesting() that the tree entries are sorted.
  tree-diff: avoid strncmp()
  tree_entry_interesting(): allow it to say "everything is interesting"
  git-rebase: make 'rebase HEAD branch' work as expected.
  git-apply: Do not free the wrong buffer when we convert the data for writeout
  checkout: report where the new HEAD is upon detaching HEAD
  git-bisect: typofix
  git-bisect.sh: properly dq $GIT_DIR
  Fix path-limited "rev-list --bisect" termination condition.
  git-am documentation: describe what is taken from where.

 Linus Torvalds (6):
  Fix loose object uncompression check.
  Don't ever return corrupt objects from "parse_object()"
  Be more careful about zlib return values
  Remove "pathlen" from "struct name_entry"
  Initialize tree descriptors with a helper function rather than by hand.
  Switch over tree descriptors to contain a pre-parsed entry

 Michael S. Tsirkin (1):
  git-merge: Put FETCH_HEAD data in merge commit message

 Nicolas Pitre (10):
  clean up the delta base cache size a bit
  use a LRU eviction policy for the delta base cache
  don't ever allow SHA1 collisions to exist by fetching a pack
  index-pack: use hash_sha1_file()
  index-pack: more validation checks and cleanups
  improve checkout message when asking for same branch
  minor git-prune optimization
  update HEAD reflog when branch pointed to by HEAD is directly modified
  make it more obvious that temporary files are temporary files
  write_sha1_from_fd() should make new objects read-only

 Santi Béjar (1):
  git-fetch: Fix single_force in append_fetch_head

 Shawn O. Pearce (1):
  contrib/continuous: a continuous integration build manager

 Uwe Kleine-König (1):
  Bisect: convert revs given to good and bad to commits

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-03-22 17:08       ` Steven Grimm
@ 2007-03-22 21:30         ` Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-03-22 21:30 UTC (permalink / raw)
  To: Steven Grimm; +Cc: Git Mailing List

Steven Grimm <koreth@midwinter.com> writes:

> Will you be applying your patch for the "checkout fails if something
> is a file in one branch and a directory in another" problem? I realize
> it's not a complete solution, but it's at least a significant
> improvement over the current behavior, and I don't imagine it breaks
> anything else.

If I understand correctly, the patch is already broken.  Rather,
the patch itself may be correct but it exposes more breakages
that currently is hidden only because we do not replace bunch of
files in a subdirectory with a single file in the index thanks
to the "too strict" check that is bothering you.  Lifting that
check with the previous patch would make it either fail to
notice other local changes (which is worse), or mistakenly say
there is a local change when there is none (which is not better
but not worse).  In particular, I think it is highly suspicious
what the current code with the patch does to paths that
immediately follow the directory to be removed, although I
stopped looking into this issue, as we already said this will
not be dealt with in 1.5.1.

In short, I do not think the patch is suitable for production,
as the cure seems worse than the disease.

That does not mean anybody is forbidden to look into a fix in
the meantime.  I am just saying I do not expect it to happen
before 1.5.1.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-03-13  8:49     ` Junio C Hamano
  2007-03-13  9:26       ` Junio C Hamano
@ 2007-03-22 17:08       ` Steven Grimm
  2007-03-22 21:30         ` Junio C Hamano
  2007-03-25  8:32       ` Junio C Hamano
  2 siblings, 1 reply; 262+ messages in thread
From: Steven Grimm @ 2007-03-22 17:08 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Git Mailing List

Will you be applying your patch for the "checkout fails if something is 
a file in one branch and a directory in another" problem? I realize it's 
not a complete solution, but it's at least a significant improvement 
over the current behavior, and I don't imagine it breaks anything else.

I can resend my test case if you like.

-Steve


Junio C Hamano wrote:
> Perhaps it is time for 1.5.0.4 this Wednesday (my time) from
> 'maint'.
>
> On the 'master' front, Johannes and Matthias cleaned up the
> git-bundle and made it (hopefully) usable shape.  Also git-diff
> got even nicer when used outside the context of git, again
> thanks to Johannes.  I think we are nearing 1.5.1-rc1, which
> I'll talk about in "What's cooking".
>
> ----------------------------------------------------------------
>
> * The 'maint' branch has these fixes since the last announcement.
>
>  Alexandre Julliard (2):
>   git.el: Avoid appending a signoff line that is already present.
>   git.el: Retrieve commit log information from .dotest directory.
>
>  Avi Kivity (1):
>   git-send-email: Document configuration options
>
>  Brian Gernhardt (1):
>   Fix diff-options references in git-diff and git-format-patch
>
>  J. Bruce Fields (13):
>   Documentation: mention module option to git-cvsimport
>   user-manual: reset to ORIG_HEAD not HEAD to undo merge
>   user-manual: ensure generated manual references stylesheet
>   user-manual: insert earlier of mention content-addressable architecture
>   user-manual: how to replace commits older than most recent
>   user-manual: more detailed merge discussion
>   glossary: fix overoptimistic automatic linking of defined terms
>   user-manual: fix inconsistent example
>   user-manual: fix inconsistent use of pull and merge
>   user-manual: fix missing colon in git-show example
>   user-manual: fix rendering of history diagrams
>   user-manual: install user manual stylesheet with other web documents
>   git-merge: warn when -m provided on a fast forward
>
>  Jeff King (2):
>   Documentation: s/seperator/separator/
>   fast-import: grow tree storage more aggressively
>
>  Johannes Schindelin (2):
>   Begin SubmittingPatches with a check list
>   make t8001 work on Mac OS X again
>
>  Junio C Hamano (2):
>   GIT 1.5.0.3
>   git-commit: cd to top before showing the final stat
>
>  Matthias Kestenholz (1):
>   Adjust reflog filemode in shared repository
>
>  Matthias Lederhofer (1):
>   setup_git_directory_gently: fix off-by-one error
>
>  Shawn O. Pearce (13):
>   git-gui: Relocate the menu/transport menu code.
>   git-gui: Add Reset to the Branch menu.
>   git-gui: Don't create empty (same tree as parent) commits.
>   git-gui: Remove unnecessary /dev/null redirection.
>   fast-import: Avoid infinite loop after reset
>   fast-import: Fail if a non-existant commit is used for merge
>   git-gui: Make 'make' quieter by default
>   Catch write_ref_sha1 failure in receive-pack
>   git-gui: Allow committing empty merges
>   git-gui: Revert "Don't modify CREDITS-FILE if it hasn't changed."
>   git-gui: Revert "git-gui: Display all authors of git-gui."
>   git-gui: Allow 'git gui version' outside of a repository
>   Don't package the git-gui credits file anymore
>
>  Theodore Ts'o (1):
>   Add definition of <commit-ish> to the main git man page.
>
>  Yasushi SHOJI (1):
>   glossary: Add definitions for dangling and unreachable objects
>
>
> * The 'master' branch has these since the last announcement
>   in addition to the above.
>
>  Alex Riesen (4):
>   git-gui: Support of "make -s" in: do not output anything of the build itself
>   More build output cleaning up
>   Support of "make -s": do not output anything of the build itself
>   Allow "make -w" generate its usual output
>
>  Avi Kivity (1):
>   git-send-email: configurable bcc and chain-reply-to
>
>  Frank Lichtenheld (1):
>   cvsserver: Use Merged response instead of Update-existing for merged files
>
>  Jakub Narebski (1):
>   gitweb: Don't escape attributes in CGI.pm HTML methods
>
>  Jeff King (1):
>   New fast-import test case for valid tree sorting
>
>  Jim Meyering (1):
>   I like the idea of the new ':/<oneline prefix>' notation, and gave it
>
>  Johannes Schindelin (15):
>   fetch & clone: do not output progress when not on a tty
>   Fixup no-progress for fetch & clone
>   Make git-revert & git-cherry-pick a builtin
>   diff: support reading a file from stdin via "-"
>   diff --no-index: support /dev/null as filename
>   Get rid of the dependency to GNU diff in the tests
>   cherry-pick: Suggest a better method to retain authorship
>   format-patch: add --inline option and make --attach a true attachment
>   bundle: fix wrong check of read_header()'s return value & add tests
>   git-bundle: avoid packing objects which are in the prerequisites
>   git-bundle: Make thin packs
>   git-bundle: handle thin packs in subcommand "unbundle"
>   git-bundle: die if a given ref is not included in bundle
>   git-bundle: prevent overwriting existing bundles
>   git-bundle: only die if pack would be empty, warn if ref is skipped
>
>  Johannes Sixt (3):
>   Add core.symlinks to mark filesystems that do not support symbolic links.
>   Handle core.symlinks=false case in merge-recursive.
>   Tell multi-parent diff about core.symlinks.
>
>  Junio C Hamano (14):
>   diff-ni: fix the diff with standard input
>   format-patch --attach: not folding some long headers.
>   Post 1.5.0.3 cleanup
>   fsck: fix broken loose object check.
>   unpack_sha1_file(): detect corrupt loose object files.
>   fsck: exit with non-zero status upon errors
>   git-bundle: fix pack generation.
>   revision walker: Fix --boundary when limited
>   revision traversal: retire BOUNDARY_SHOW
>   git-bundle: various fixups
>   revision traversal: SHOWN means shown
>   git-bundle: make verify a bit more chatty.
>   revision --boundary: fix stupid typo
>   revision --boundary: fix uncounted case.
>
>  Li Yang (1):
>   gitweb: Change to use explicitly function call cgi->escapHTML()
>
>  Linus Torvalds (1):
>   Re-fix get_sha1_oneline()
>
>  Paolo Bonzini (3):
>   git-config: document --rename-section, provide --remove-section
>   git-archimport: allow remapping branch names
>   git-commit: add a --interactive option
>
>  Santi Béjar (2):
>   t/t5515-fetch-merge-logic.sh: Added tests for the merge login in git-fetch
>   t/t5515-fetch-merge-logic.sh: Add two more tests
>
>  Shawn O. Pearce (31):
>   cherry-pick: Bug fix 'cherry picked from' message.
>   Make 'make' quieter while building git
>   Make 'make' quiet by default
>   Display the null SHA-1 as the base for an OBJ_OFS_DELTA.
>   Fix mmap leak caused by reading bad indexes.
>   Don't build external_grep if its not used
>   General const correctness fixes
>   Use uint32_t for all packed object counts.
>   Use uint32_t for pack-objects counters.
>   Use off_t when we really mean a file offset.
>   Use off_t in pack-objects/fast-import when we mean an offset
>   Cast 64 bit off_t to 32 bit size_t
>   Preallocate memory earlier in fast-import
>   Move post-update hook to after all other activity
>   Don't run post-update hook unless a ref changed
>   Refactor run_update_hook to be more useful
>   Refactor handling of error_string in receive-pack
>   Teach receive-pack to run pre-receive/post-receive hooks
>   Use atomic updates to the fast-import mark file
>   Allow fast-import frontends to reload the marks table
>   Switch to run_command_v_opt in revert
>   Remove unused run_command variants
>   Start defining a more sophisticated run_command
>   Split run_command into two halves (start/finish)
>   Teach run_command how to setup a stdin pipe
>   Refactor run_command error handling in receive-pack
>   Split back out update_hook handling in receive-pack
>   Change {pre,post}-receive hooks to use stdin
>   Remove unnecessary casts from fast-import
>   Simplify closing two fds at once in run-command.c
>   Fix t5510-fetch's use of sed
>
>  Xavier Maillard (1):
>   contrib/emacs: Use non-interactive function to byte-compile files
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
>   

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-03-13  8:49     ` Junio C Hamano
@ 2007-03-13  9:26       ` Junio C Hamano
  2007-03-22 17:08       ` Steven Grimm
  2007-03-25  8:32       ` Junio C Hamano
  2 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-03-13  9:26 UTC (permalink / raw)
  To: git

Junio C Hamano <junkio@cox.net> writes:

> On the 'master' front, Johannes and Matthias cleaned up the
> git-bundle and made it (hopefully) usable shape.

Sorry, but I meant Mark Levedahl here.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-03-04 10:32   ` Junio C Hamano
@ 2007-03-13  8:49     ` Junio C Hamano
  2007-03-13  9:26       ` Junio C Hamano
                         ` (2 more replies)
  0 siblings, 3 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-03-13  8:49 UTC (permalink / raw)
  To: git

Perhaps it is time for 1.5.0.4 this Wednesday (my time) from
'maint'.

On the 'master' front, Johannes and Matthias cleaned up the
git-bundle and made it (hopefully) usable shape.  Also git-diff
got even nicer when used outside the context of git, again
thanks to Johannes.  I think we are nearing 1.5.1-rc1, which
I'll talk about in "What's cooking".

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last announcement.

 Alexandre Julliard (2):
  git.el: Avoid appending a signoff line that is already present.
  git.el: Retrieve commit log information from .dotest directory.

 Avi Kivity (1):
  git-send-email: Document configuration options

 Brian Gernhardt (1):
  Fix diff-options references in git-diff and git-format-patch

 J. Bruce Fields (13):
  Documentation: mention module option to git-cvsimport
  user-manual: reset to ORIG_HEAD not HEAD to undo merge
  user-manual: ensure generated manual references stylesheet
  user-manual: insert earlier of mention content-addressable architecture
  user-manual: how to replace commits older than most recent
  user-manual: more detailed merge discussion
  glossary: fix overoptimistic automatic linking of defined terms
  user-manual: fix inconsistent example
  user-manual: fix inconsistent use of pull and merge
  user-manual: fix missing colon in git-show example
  user-manual: fix rendering of history diagrams
  user-manual: install user manual stylesheet with other web documents
  git-merge: warn when -m provided on a fast forward

 Jeff King (2):
  Documentation: s/seperator/separator/
  fast-import: grow tree storage more aggressively

 Johannes Schindelin (2):
  Begin SubmittingPatches with a check list
  make t8001 work on Mac OS X again

 Junio C Hamano (2):
  GIT 1.5.0.3
  git-commit: cd to top before showing the final stat

 Matthias Kestenholz (1):
  Adjust reflog filemode in shared repository

 Matthias Lederhofer (1):
  setup_git_directory_gently: fix off-by-one error

 Shawn O. Pearce (13):
  git-gui: Relocate the menu/transport menu code.
  git-gui: Add Reset to the Branch menu.
  git-gui: Don't create empty (same tree as parent) commits.
  git-gui: Remove unnecessary /dev/null redirection.
  fast-import: Avoid infinite loop after reset
  fast-import: Fail if a non-existant commit is used for merge
  git-gui: Make 'make' quieter by default
  Catch write_ref_sha1 failure in receive-pack
  git-gui: Allow committing empty merges
  git-gui: Revert "Don't modify CREDITS-FILE if it hasn't changed."
  git-gui: Revert "git-gui: Display all authors of git-gui."
  git-gui: Allow 'git gui version' outside of a repository
  Don't package the git-gui credits file anymore

 Theodore Ts'o (1):
  Add definition of <commit-ish> to the main git man page.

 Yasushi SHOJI (1):
  glossary: Add definitions for dangling and unreachable objects


* The 'master' branch has these since the last announcement
  in addition to the above.

 Alex Riesen (4):
  git-gui: Support of "make -s" in: do not output anything of the build itself
  More build output cleaning up
  Support of "make -s": do not output anything of the build itself
  Allow "make -w" generate its usual output

 Avi Kivity (1):
  git-send-email: configurable bcc and chain-reply-to

 Frank Lichtenheld (1):
  cvsserver: Use Merged response instead of Update-existing for merged files

 Jakub Narebski (1):
  gitweb: Don't escape attributes in CGI.pm HTML methods

 Jeff King (1):
  New fast-import test case for valid tree sorting

 Jim Meyering (1):
  I like the idea of the new ':/<oneline prefix>' notation, and gave it

 Johannes Schindelin (15):
  fetch & clone: do not output progress when not on a tty
  Fixup no-progress for fetch & clone
  Make git-revert & git-cherry-pick a builtin
  diff: support reading a file from stdin via "-"
  diff --no-index: support /dev/null as filename
  Get rid of the dependency to GNU diff in the tests
  cherry-pick: Suggest a better method to retain authorship
  format-patch: add --inline option and make --attach a true attachment
  bundle: fix wrong check of read_header()'s return value & add tests
  git-bundle: avoid packing objects which are in the prerequisites
  git-bundle: Make thin packs
  git-bundle: handle thin packs in subcommand "unbundle"
  git-bundle: die if a given ref is not included in bundle
  git-bundle: prevent overwriting existing bundles
  git-bundle: only die if pack would be empty, warn if ref is skipped

 Johannes Sixt (3):
  Add core.symlinks to mark filesystems that do not support symbolic links.
  Handle core.symlinks=false case in merge-recursive.
  Tell multi-parent diff about core.symlinks.

 Junio C Hamano (14):
  diff-ni: fix the diff with standard input
  format-patch --attach: not folding some long headers.
  Post 1.5.0.3 cleanup
  fsck: fix broken loose object check.
  unpack_sha1_file(): detect corrupt loose object files.
  fsck: exit with non-zero status upon errors
  git-bundle: fix pack generation.
  revision walker: Fix --boundary when limited
  revision traversal: retire BOUNDARY_SHOW
  git-bundle: various fixups
  revision traversal: SHOWN means shown
  git-bundle: make verify a bit more chatty.
  revision --boundary: fix stupid typo
  revision --boundary: fix uncounted case.

 Li Yang (1):
  gitweb: Change to use explicitly function call cgi->escapHTML()

 Linus Torvalds (1):
  Re-fix get_sha1_oneline()

 Paolo Bonzini (3):
  git-config: document --rename-section, provide --remove-section
  git-archimport: allow remapping branch names
  git-commit: add a --interactive option

 Santi Béjar (2):
  t/t5515-fetch-merge-logic.sh: Added tests for the merge login in git-fetch
  t/t5515-fetch-merge-logic.sh: Add two more tests

 Shawn O. Pearce (31):
  cherry-pick: Bug fix 'cherry picked from' message.
  Make 'make' quieter while building git
  Make 'make' quiet by default
  Display the null SHA-1 as the base for an OBJ_OFS_DELTA.
  Fix mmap leak caused by reading bad indexes.
  Don't build external_grep if its not used
  General const correctness fixes
  Use uint32_t for all packed object counts.
  Use uint32_t for pack-objects counters.
  Use off_t when we really mean a file offset.
  Use off_t in pack-objects/fast-import when we mean an offset
  Cast 64 bit off_t to 32 bit size_t
  Preallocate memory earlier in fast-import
  Move post-update hook to after all other activity
  Don't run post-update hook unless a ref changed
  Refactor run_update_hook to be more useful
  Refactor handling of error_string in receive-pack
  Teach receive-pack to run pre-receive/post-receive hooks
  Use atomic updates to the fast-import mark file
  Allow fast-import frontends to reload the marks table
  Switch to run_command_v_opt in revert
  Remove unused run_command variants
  Start defining a more sophisticated run_command
  Split run_command into two halves (start/finish)
  Teach run_command how to setup a stdin pipe
  Refactor run_command error handling in receive-pack
  Split back out update_hook handling in receive-pack
  Change {pre,post}-receive hooks to use stdin
  Remove unnecessary casts from fast-import
  Simplify closing two fds at once in run-command.c
  Fix t5510-fetch's use of sed

 Xavier Maillard (1):
  contrib/emacs: Use non-interactive function to byte-compile files

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-02-23  8:33 ` Junio C Hamano
@ 2007-03-04 10:32   ` Junio C Hamano
  2007-03-13  8:49     ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-03-04 10:32 UTC (permalink / raw)
  To: git

I'll do another maintenance release 1.5.0.3 soonish to flush
accumulated fixes on 'maint' branch.

On the 'master' front, we have

 * a largish git-svn updates.
 * a handful git diff improvements.
 * a beginning of CRLF mangling.
 * improved behaviour of git-apply run in subdirectories.
 * /etc/gitconfig

Soon we will also have these from 'next'.  I think it will be
time to do v1.5.1 after they are in:

 * "fake symlink" work for MinGW port
 * built-in revert/cherry-pick
 * "git diff" that compares stdin and /dev/null
 * make "git fetch" quieter when noninteractive.

----------------------------------------------------------------
* The 'maint' branch has these fixes since v1.5.0.2.

 Alexandre Julliard (1):
  git.el: Set the default commit coding system from the repository config.

 Aneesh Kumar K.V (1):
  blameview: Fix the browse behavior in blameview

 Christian Schlotter (1):
  Documentation: Correct minor typo in git-add documentation.

 Eygene Ryabinkin (2):
  http-push.c::lock_remote(): validate all remote refs.
  Another memory overrun in http-push.c

 Gerrit Pape (2):
  git-cvsexportcommit: don't cleanup .msg if not yet committed to cvs.
  Fix quoting in update hook template

 Jim Meyering (1):
  diff --cc: integer overflow given a 2GB-or-larger file

 Johannes Schindelin (3):
  fetch.o depends on the headers, too.
  builtin-archive: use RUN_SETUP
  Document the config variable format.suffix

 Junio C Hamano (4):
  git-apply: do not fix whitespaces on context lines.
  Documentation: git-remote add [-t <branch>] [-m <branch>] [-f] name url
  Start preparing Release Notes for 1.5.0.3
  git-merge: fail correctly when we cannot fast forward.

 Linus Torvalds (2):
  mailinfo: do not get confused with logical lines that are too long.
  git-show: Reject native ref

 Matthias Kestenholz (1):
  Fix git-gc usage note

 Michael Coleman (2):
  Fix minor typos/grammar in user-manual.txt
  builtin-fmt-merge-msg: fix bugs in --file option

 Michael Poole (1):
  Correct ordering in git-cvsimport's option documentation

 Paolo Bonzini (1):
  git-archimport: support empty summaries, put summary on a single line.

 Ramsay Allan Jones (5):
  Fix a "label defined but unreferenced" warning.
  Fix an "implicit function definition" warning.
  Fix some "comparison is always true/false" warnings.
  Fix a "pointer type missmatch" warning.
  Unset NO_C99_FORMAT on Cygwin.

 Sergey Vlasov (3):
  Documentation/build-docdep.perl: Fix dependencies for included asciidoc files
  Documentation/git-quiltimport.txt: Fix labeled list formatting
  Documentation/git-send-email.txt: Fix labeled list formatting

 Shawn O. Pearce (1):
  index-pack: Loop over pread until data loading is complete.

 Theodore Ts'o (1):
  Fix git-show man page formatting in the EXAMPLES section

 Uwe Kleine-König (1):
  Include config.mak in doc/Makefile


* The 'master' branch has these since the last announcement
  in addition to the above.

 Andy Parkins (3):
  cvsserver: Remove trailing "\n" from commithash in checkin function
  cvsserver: Make always-binary mode a config file option
  Sample update hook: typofix and modernization to use "git log"

 Aneesh Kumar K.V (1):
  Documentation: document remote.<name>.tagopt

 Eric Wong (118):
  git-svn: move authentication prompts into their own namespace
  git-svn: cleanup: move process_rm around
  git-svn: cleanup: put SVN workarounds into their own namespace
  git-svn: cleanup: avoid re-use()ing Git.pm in sub-packages
  git-svn: add Git::SVN module (to avoid global variables)
  git-svn: convert 'init' to use Git::SVN
  git-svn: convert multi-init over to using Git::SVN
  git-svn: make multi-init capable of reusing the Ra connection
  git-svn: add a test for show-ignore
  git-svn: convert show-ignore over to Git::SVN
  git-svn: moved the 'log' command into its own namespace
  git-svn: port the 'rebuild' command to use Git::SVN objects
  git-svn: do not let Git.pm warn if we prematurely close pipes
  git-svn: convert the 'commit-diff' command to Git::SVN
  git-svn: get rid of Memoize for now...
  git-svn: fetch/multi-fetch converted over to Git::SVN module
  git-svn: switch dcommit to using Git::SVN code
  git-svn: convert 'set-tree' command to use Git::SVN
  git-svn: remove graft-branches command
  git-svn: add support for metadata in .git/config
  git-svn: fix a regression in dcommit that caused empty log messages
  git-svn: reuse open SVN::Ra connections by URL
  git-svn: enable --minimize to simplify the config and connections
  git-svn: fix --follow-parent to work with Git::SVN
  git-svn: --follow-parent works with svn-remotes multiple branches
  git-svn: disallow ambigious local refspecs
  git-svn: allow --follow-parent on deleted directories
  git-svn: get rid of additional fetch-arguments
  git-svn: allow 'init' to work outside of tests
  git-svn: better error reporting if --follow-parent fails
  git-svn: 'init' attempts to connect to the repository root if possible
  git-svn: --follow-parent now works on sub-directories of larger branches
  git-svn: track writes writes to the index in fetch
  git-svn: add an odd test case that seems to cause segfaults over HTTP
  git-svn: avoid tracking change-less revisions
  git-svn: correctly track revisions made to deleted branches
  git-svn: fix segfaults from accessing svn_log_changed_path_t
  git-svn: fix committing to subdirectories, add tests
  git-svn: avoid an extra svn_ra connection during commits
  git-svn: simplify usage of the SVN::Git::Editor interface
  git-svn: cleanup remove unused function
  git-svn: allow multi-fetch to fetch things chronologically
  git-svn: correctly track diff-less copies with do_switch
  git-svn: correctly handle do_{switch,update} in deep directories
  git-svn: stop using path names as refnames with --follow-parent
  git-svn: cleanup: move editor-specific variables into the editor namespace
  git-svn: just use Digest::MD5 instead of requiring it
  git-svn: reinstate the default SVN error handler after using get_log
  git-svn: don't rely on do_switch + reparenting with svn(+ssh)://
  git-svn: fetch tracks initial change with --follow-parent
  git-svn: remove the 'rebuild' command and make the functionality automatic
  git-svn: fix several fetch bugs related to repeated invocations
  git-svn: reinstate --no-metadata, add --svn-remote=, variable cleanups
  git-svn: gracefully handle --follow-parent failures
  git-svn: make (multi-)fetch safer but slower
  git-svn: avoid a huge memory spike with high-numbered revisions
  git-svn: re-enable repacking flags
  git-svn: do our best to ensure that our ref and rev_db are consistent
  git-svn: avoid redundant get_log calls between invocations
  git-svn: use sys* IO functions for reading rev_db
  git-svn: don't write to the config file from --follow-parent
  git-svn: save paths to tags/branches with for future reuse
  git-svn: migrations default to [svn-remote "git-svn"]
  git-svn: get rid of revisions_eq check for --follow-parent
  git-svn: avoid extra get_log calls when refspecs are added for fetching
  git-svn: just name the default svn-remote "svn" instead of "git-svn"
  git-svn: prepare multi-init for wildcard support
  git-svn: reintroduce using a single get_log() to fetch
  git-svn: run get_log() on a sub-directory if possible
  git-svn: implement auto-discovery of branches/tags
  git-svn: --follow-parent tracks multi-parent paths
  git-svn: remove check_path calls before calling do_update
  git-svn: remove some noisy debugging messages
  git-svn: enable follow-parent functionality by default
  git-svn: fix buggy regular expression usage in several places
  git-svn: correctly handle the -q flag in SVN::Git::Fetcher
  git-svn: correctly handle globs with a right-hand-side path component
  git-svn: remove optimized commit stuff for set-tree
  git-svn: add support for SVN::Mirror/svk using revprops for metadata
  git-svn: add support for per-[svn-remote "..."] options
  git-svn: use private $GIT_DIR/svn/config file more
  git-svn: extra safety for noMetadata and useSvmProps users
  git-svn: use separate, per-repository .rev_db files
  git-svn: write the highest maxRex out for branches and tags
  git-svn: handle multi-init without --trunk, UseSvmProps fixes
  git-svn: make dcommit usable for glob users
  git-svn: include merges when calling rev-list for decommit
  git-svn: usability fixes for the 'git svn log' command
  t910*: s/repo-config/config/g; poke around possible race conditions
  git-svn: hopefully make 'fetch' more user-friendly
  git-svn: allow 'init' to act as multi-init
  git-svn: brown paper bag fixes
  git-svn: simplify the (multi-)init methods of fetching
  git-svn: allow --log-window-size to be specified, default to 100
  git-svn: remember to check for clean indices on globbed refs, too
  git-svn: error checking for invalid [svn-remote "..."] sections
  git-svn: allow dcommit for those who only fetch from SVM with useSvmProps
  git-svn: documentation updates for new functionality
  git-svn: add support for --stat in the log command
  git-svn: checkout files on new fetches
  git-svn: add a 'rebase' command
  git-svn: fix some issues for people migrating from older versions
  git-svn: hide the private git-svn 'config' file as '.metadata'
  git-svn: add 'clone' command, an alias for init + fetch
  git-svn: allow overriding of the SVN repo root in metadata
  git-svn: add support for using svnsync properties
  git-svn: fix useSvmProps, hopefully for the last time
  git-svn: add test for useSvnsyncProps
  git-svn: documentation updates
  git-svn: allow metadata options to be specified with 'init' and 'clone'
  git-svn: give show-ignore HEAD smarts, like dcommit and log
  git-svn: ensure we're at the top-level and can access $GIT_DIR
  git-svn: fix clone when a target directory has been specified
  git-svn: fix reconnections to different paths of svn:// repositories
  git-svn: fix some potential bugs with --follow-parent
  Add test-chmtime: a utility to change mtime on files
  Update tests to use test-chmtime
  git-svn: fix show-ignore when not connected to the repository root

 Johannes Schindelin (18):
  rev-list --max-age, --max-count: support --boundary
  config: read system-wide defaults from /etc/gitconfig
  apply: make --verbose a little more useful
  Teach git-diff-files the new option `--no-index`
  pretty-formats: add 'format:<string>'
  Make tests independent of global config files
  Add git-bundle: move objects and references by archive
  git-bundle: assorted fixes
  git-bundle: avoid fork() in verify_bundle()
  git-bundle: fix 'create --all'
  git-bundle: record commit summary in the prerequisite data
  object name: introduce ':/<oneline prefix>' notation
  Fix typo: do not show name1 when name2 fails
  diff --no-index: also imitate the exit status of diff(1)
  Actually make print_wrapped_text() useful
  show_date(): rename the "relative" parameter to "mode"
  diff: make more cases implicit --no-index
  print_wrapped_text: fix output for negative indent

 Julian Phillips (2):
  git-branch: improve abbreviation of sha1s in verbose mode
  git-branch: document new --no-abbrev option

 Junio C Hamano (13):
  git-status: do not be totally useless in a read-only repository.
  update-index: do not die too early in a read-only repository.
  run_diff_{files,index}(): update calling convention.
  .mailmap maintenance after pulling from git-svn
  bundle: reword missing prerequisite error message
  diff --cached: give more sensible error message when HEAD is yet to be created.
  Documentation: link in 1.5.0.2 material to the top documentation page.
  Make 'cvs ci' lockless in git-cvsserver by using git-update-ref
  index_fd(): use enum object_type instead of type name string.
  index_fd(): pass optional path parameter as hint for blob conversion
  index_fd(): convert blob only if it is a regular file.
  Add recent changes to draft 1.5.1 release notes.
  diff-ni: allow running from a subdirectory.

 Michael Coleman (2):
  git-send-email: abort/usage on bad option
  fix various doc typos

 Nicolas Pitre (7):
  sha1_file.c: cleanup hdr usage
  sha1_file.c: cleanup "offset" usage
  sha1_file.c: don't ignore an error condition in sha1_loose_object_info()
  formalize typename(), and add its reverse type_from_string()
  convert object type handling from a string to a number
  get rid of lookup_object_type()
  make sure enum object_type is signed

 Sam Vilain (3):
  git-svn: make test for SVK mirror path import
  git-svn: don't consider SVN URL usernames significant when comparing
  git-svn: document --username

 Sergey Vlasov (1):
  Documentation/git-svn.txt: Fix formatting errors

 Shawn O. Pearce (1):
  Cleanup check_valid in commit-tree.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-02-20  7:32 Junio C Hamano
@ 2007-02-23  8:33 ` Junio C Hamano
  2007-03-04 10:32   ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-02-23  8:33 UTC (permalink / raw)
  To: git

On the 'maint' front, there aren't that many 'grave fixes'
anymore, which is somewhat (happily) surprising after a big
release like 1.5.0.  Shawn has updated git-gui to 0.6.1.
I'll perhaps do 1.5.0.2 next week.

In 'master', I pushed out autoCRLF and git-apply fixes.  These
are changes people can easily notice breakage and would benefit
from wider exposure.  Hopefully we can have simple path based
text/binary attribute on top of them -- I am hoping it to come
from people who actually benefit from autoCRLF ;-).

* The 'maint' branch has these fixes since the last announcement.

 Fredrik Kuivinen (1):
  Fix 'git commit -a' in a newly initialized repository

 Jason Riedy (1):
  Check for PRIuMAX rather than NO_C99_FORMAT in fast-import.c.

 Johannes Schindelin (1):
  git-diff: fix combined diff

 Martin Koegler (1):
  git-gui: Create new branches from a tag.

 Michael Loeffler (1):
  Use gunzip -c over gzcat in import-tars example.

 Shawn O. Pearce (16):
  git-gui: Refactor 'exec git subcmd' idiom.
  git-gui: Basic version check to ensure git 1.5.0 or later is used.
  git-gui: Permit merging tags into the current branch.
  git-gui: More consistently display the application name.
  git-gui: Print version on the console.
  git-gui: Prefer version file over git-describe.
  git-gui: Expose the browser as a subcommand.
  git-gui: Correct crash when saving options in blame mode.
  git-gui: Use mixed path for docs on Cygwin.
  git-gui: Display all authors of git-gui.
  git-gui: Change summary of git-gui.
  git-gui: Include browser in our usage message.
  git-gui: Remove TODO list.
  git-gui: Don't crash in citool mode on initial commit.
  Document the new core.bare configuration option.
  Include git-gui credits file in dist.


* The 'master' branch has these since the last announcement.

 Alex Riesen (1):
  disable t4016-diff-quote.sh on some filesystems

 Fredrik Kuivinen (2):
  New autoconf test for iconv
  Fix 'git commit -a' in a newly initialized repository

 Jason Riedy (1):
  Check for PRIuMAX rather than NO_C99_FORMAT in fast-import.c.

 Johannes Schindelin (5):
  apply: fix memory leak in prefix_one()
  name-rev: avoid "^0" when unneeded
  git grep: use pager
  Teach diff -B about colours
  git-diff: fix combined diff

 Junio C Hamano (16):
  t0020: add test for auto-crlf
  Teach 'git apply' to look at $GIT_DIR/config
  Teach core.autocrlf to 'git apply'
  Teach 'git apply' to look at $HOME/.gitconfig even outside of a repository
  git-apply: do not lose cwd when run from a subdirectory.
  git-apply: require -p<n> when working in a subdirectory.
  Link 1.5.0.1 documentation from the main page.
  Add prefixcmp()
  Mechanical conversion to use prefixcmp()
  prefixcmp(): fix-up mechanical conversion.
  prefixcmp(): fix-up leftover strncmp().
  t4119: add test for traditional patch and different p_value
  Fix botched "leak fix"
  git-apply: notice "diff --git" patch again
  git-apply: guess correct -p<n> value for non-git patches.
  t4119: test autocomputing -p<n> for traditional diff input.

 Linus Torvalds (2):
  Lazy man's auto-CRLF
  Make AutoCRLF ternary variable.

 Martin Koegler (1):
  git-gui: Create new branches from a tag.

 Martin Waitz (1):
  Support for large files on 32bit systems.

 Michael Loeffler (1):
  Use gunzip -c over gzcat in import-tars example.

 Pavel Roskin (1):
  git-remote: support remotes with a dot in the name

 Shawn O. Pearce (16):
  git-gui: Refactor 'exec git subcmd' idiom.
  git-gui: Basic version check to ensure git 1.5.0 or later is used.
  git-gui: Permit merging tags into the current branch.
  git-gui: More consistently display the application name.
  git-gui: Print version on the console.
  git-gui: Prefer version file over git-describe.
  git-gui: Expose the browser as a subcommand.
  git-gui: Correct crash when saving options in blame mode.
  git-gui: Use mixed path for docs on Cygwin.
  git-gui: Display all authors of git-gui.
  git-gui: Change summary of git-gui.
  git-gui: Include browser in our usage message.
  git-gui: Remove TODO list.
  git-gui: Don't crash in citool mode on initial commit.
  Document the new core.bare configuration option.
  Include git-gui credits file in dist.

 Simon 'corecode' Schubert (1):
  Allow passing of an alternative CVSROOT via -d.

 Theodore Ts'o (2):
  Add config_boolean() method to the Git perl module
  Allow git-remote to update named groups of remotes

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
@ 2007-02-20  7:32 Junio C Hamano
  2007-02-23  8:33 ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-02-20  7:32 UTC (permalink / raw)
  To: git

* The 'maint' branch has these fixes since v1.5.0.1

 Christian Schlotter (1):
  git-clone: Sync documentation to usage note.

 Jason Riedy (2):
  Add a compat/strtoumax.c for Solaris 8.
  Obey NO_C99_FORMAT in fast-import.c.


* The 'master' branch has these since the last announcement, in
  addition to the above.

 Andy Parkins (1):
  Have git-cvsserver call hooks/update before really altering the ref

 Fredrik Kuivinen (2):
  Read the config in rev-list
  Documentation/i18n.txt: it is i18n.commitencoding not core.commitencoding

 Johannes Schindelin (2):
  name-rev: introduce the --refs=<pattern> option
  diff --check: use colour

 Junio C Hamano (9):
  Make gitk work reasonably well on Cygwin.
  gitk: Use show-ref instead of ls-remote
  remotes.not-origin.tagopt
  pretend-sha1: grave bugfix.
  git-merge: minor fix for no_trivial_merge_strategies.
  Do not take mode bits from index after type change.
  Update draft release notes for 1.5.0.1
  Update draft release notes for 1.5.1
  GIT 1.5.0.1

 Mark Levedahl (3):
  gitk - remove trailing whitespace from a few lines.
  Make gitk save and restore the user set window position.
  Make gitk save and restore window pane position on Linux and Cygwin.

 Paul Mackerras (1):
  Change git repo-config to git config

 Shawn O. Pearce (2):
  Attempt to improve git-rebase lead-in description.
  Convert update-index references in docs to add.

 Theodore Ts'o (1):
  Teach git-remote to update existing remotes by fetching from them

 Tommi Kyntola (1):
  git-blame: prevent argument parsing segfault

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
@ 2007-02-14 23:54 Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-02-14 23:54 UTC (permalink / raw)
  To: git

The next maintenance release from 'maint' branch will be 1.5.0.1
when we accumulate enough fixes worth to cut one.

The next feature release from 'master' will be 1.5.1.  I'd like
to have 6 to 8 weeks between releases, so that will be around
end of March or mid-April.  Maybe we can talk about what the
theme for that release should be in a separate thread.

Now the big release is over, I should be able to slow a little
bit down for a few days.


* The 'maint' branch has these fixes since v1.5.0

 Alexandre Julliard (2):
  git-daemon: Avoid leaking the listening sockets into child processes.
  sha1_file.c: Round the mmap offset to half the window size.

 Junio C Hamano (8):
  Documentation: Drop full-stop from git-fast-import title.
  cmd-list: add git-remote
  Makefile: update check-docs target
  Clarify two backward incompatible repository options.
  Still updating 1.5.0 release notes.
  Add RelNotes 1.5.0.1
  Make sure packedgitwindowsize is multiple of (pagesize * 2)
  GIT-VERSION-FILE: check ./version first.

 Nicolas Pitre (1):
  Minor corrections to release notes


* The 'master' branch has these since v1.5.0; this includes all
  of the above.

 Alexandre Julliard (2):
  git-daemon: Avoid leaking the listening sockets into child processes.
  sha1_file.c: Round the mmap offset to half the window size.

 Andy Parkins (2):
  Only show log entries for new revisions in hooks--update
  The "table-of-contents" in the update hook script should match the body

 Johannes Schindelin (2):
  Teach revision machinery about --reverse
  teach diff machinery about --ignore-space-at-eol

 Junio C Hamano (18):
  git-diff/git-apply: make diff output a bit friendlier to GNU patch (part 2)
  Make merge-base a built-in.
  Allow in_merge_bases() to take more than one reference commits.
  Remove git-resolve.
  Remove git-diff-stages.
  Add link to v1.5.0 documentation.
  blame: --show-stats for easier optimization work.
  Documentation: Drop full-stop from git-fast-import title.
  cmd-list: add git-remote
  Makefile: update check-docs target
  Document --ignore-space-at-eol option.
  Add RelNotes 1.5.1
  Point top-level RelNotes link at 1.5.1 release notes being prepared.
  Clarify two backward incompatible repository options.
  Still updating 1.5.0 release notes.
  Add RelNotes 1.5.0.1
  Make sure packedgitwindowsize is multiple of (pagesize * 2)
  GIT-VERSION-FILE: check ./version first.

 Nicolas Pitre (1):
  Minor corrections to release notes

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-02-13 22:02           ` Jimmy Tang
@ 2007-02-13 23:31             ` Linus Torvalds
  0 siblings, 0 replies; 262+ messages in thread
From: Linus Torvalds @ 2007-02-13 23:31 UTC (permalink / raw)
  To: Jimmy Tang; +Cc: Johannes Schindelin, Randal L. Schwartz, Junio C Hamano, git



On Tue, 13 Feb 2007, Jimmy Tang wrote:
> 
> how about code naming the release(s) with british slang words? since
> ``git'' is a fairly common british slang word (also used quite abit in
> ireland too) to describe an unlikeable person. and since the release is
> going to be cut on the 14th, how about calling it the "snog" release :)

I think that's a great naming convention for releases!

		Linus

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-02-13 18:37         ` Johannes Schindelin
@ 2007-02-13 22:02           ` Jimmy Tang
  2007-02-13 23:31             ` Linus Torvalds
  0 siblings, 1 reply; 262+ messages in thread
From: Jimmy Tang @ 2007-02-13 22:02 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Randal L. Schwartz, Junio C Hamano, git

Hi All,

On Tue, Feb 13, 2007 at 07:37:03PM +0100, Johannes Schindelin wrote:
> 
> <silly>
> Let's call it "American PI minus one" release. Since Americans love to 
> fsck up the dates, they would write the month first, then the day, 
> which ends up being 2.14, which is exactly PI - 1 rounded to three digits! 
> 
> Alternatively, since they really write 2/14, we could call it the "one 
> seventh" release...
> </silly>
> 

in a totally different direction...

how about code naming the release(s) with british slang words? since
``git'' is a fairly common british slang word (also used quite abit in
ireland too) to describe an unlikeable person. and since the release is
going to be cut on the 14th, how about calling it the "snog" release :)

not too sure how appropriate it would be to name releases after british
slang words as they usually have inappropriate meanings.

Jimmy

-- 
Jimmy Tang
Trinity Centre for High Performance Computing,
Lloyd Building, Trinity College Dublin, Dublin 2, Ireland.
http://www.tchpc.tcd.ie/ | http://www.tchpc.tcd.ie/~jtang

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-02-13 18:21       ` Randal L. Schwartz
@ 2007-02-13 18:37         ` Johannes Schindelin
  2007-02-13 22:02           ` Jimmy Tang
  0 siblings, 1 reply; 262+ messages in thread
From: Johannes Schindelin @ 2007-02-13 18:37 UTC (permalink / raw)
  To: Randal L. Schwartz; +Cc: Junio C Hamano, git

Hi,

On Tue, 13 Feb 2007, Randal L. Schwartz wrote:

> >>>>> "Junio" == Junio C Hamano <junkio@cox.net> writes:
> 
> Junio> I am starting to regret asking that question.  I initially had
> Junio> something related to Feb 14th in mind when I sent the message,
> Junio> but realized it is not as universal as I thought after reading
> Junio> an Wikipedia article.
> 
> The "would have been Randal's Parents' 46th wedding anniversary had
> they not divorced 28 years ago" release? :)
> 
> And I was born exactly nine months later.  Amazing.  Not only that, my brother
> was born the same day a year later.  Can anyone say "wedding night and first
> anniversary"? :)

Okay, okay, I already had one shot, but here's another:

<silly>
Let's call it "American PI minus one" release. Since Americans love to 
fsck up the dates, they would write the month first, then the day, 
which ends up being 2.14, which is exactly PI - 1 rounded to three digits! 

Alternatively, since they really write 2/14, we could call it the "one 
seventh" release...
</silly>

Enough already,
Dscho

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-02-13 17:33     ` Junio C Hamano
@ 2007-02-13 18:21       ` Randal L. Schwartz
  2007-02-13 18:37         ` Johannes Schindelin
  0 siblings, 1 reply; 262+ messages in thread
From: Randal L. Schwartz @ 2007-02-13 18:21 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Johannes Schindelin, git

>>>>> "Junio" == Junio C Hamano <junkio@cox.net> writes:

Junio> I am starting to regret asking that question.  I initially had
Junio> something related to Feb 14th in mind when I sent the message,
Junio> but realized it is not as universal as I thought after reading
Junio> an Wikipedia article.

The "would have been Randal's Parents' 46th wedding anniversary had
they not divorced 28 years ago" release? :)

And I was born exactly nine months later.  Amazing.  Not only that, my brother
was born the same day a year later.  Can anyone say "wedding night and first
anniversary"? :)

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-02-13 10:15   ` Johannes Schindelin
@ 2007-02-13 17:33     ` Junio C Hamano
  2007-02-13 18:21       ` Randal L. Schwartz
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-02-13 17:33 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: git

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

>> Unless there is some last minute showstopper, the final will be
>> cut on Wednesday.  Should I give it a catchy codename?  ;-)
>
> Oh yes, yes, yes! (To both.)
>
> Ciao,
> Dscho
>
> P.S.: How about "The frotzy Nitfol"?

I am starting to regret asking that question.  I initially had
something related to Feb 14th in mind when I sent the message,
but realized it is not as universal as I thought after reading
an Wikipedia article.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-02-13 14:37     ` Bill Lear
@ 2007-02-13 17:18       ` Randal L. Schwartz
  0 siblings, 0 replies; 262+ messages in thread
From: Randal L. Schwartz @ 2007-02-13 17:18 UTC (permalink / raw)
  To: Bill Lear; +Cc: Junio C Hamano, git

>>>>> "Bill" == Bill Lear <rael@zopyra.com> writes:

Bill> Actually, I think "Wotan" is it...

Wotan Clang?

(Sideways reference to Wu-Tang Clan "music" group.)

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-02-13 13:56   ` Matthias Lederhofer
@ 2007-02-13 16:58     ` Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-02-13 16:58 UTC (permalink / raw)
  To: Matthias Lederhofer; +Cc: git

Matthias Lederhofer <matled@gmx.net> writes:

> Junio C Hamano <junkio@cox.net> wrote:
>> Unless there is some last minute showstopper, the final will be
>> cut on Wednesday.  Should I give it a catchy codename?  ;-)
> Documentation/git-checkout.txt still needs an update about reflogs
> with detached HEAD (the paragraph starting with "The command would
> refuse [..]").

Thanks.  I'd do the following.

---

diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt
index 55c9289..e4ffde4 100644
--- a/Documentation/git-checkout.txt
+++ b/Documentation/git-checkout.txt
@@ -103,22 +103,12 @@ by any branch (which is natural --- you are not on any branch).
 What this means is that you can discard your temporary commits
 and merges by switching back to an existing branch (e.g. `git
 checkout master`), and a later `git prune` or `git gc` would
-garbage-collect them.
-
-The command would refuse to switch back to make sure that you do
-not discard your temporary state by mistake when your detached
-HEAD is not pointed at by any existing ref.  If you did want to
-save your state (e.g. "I was interested in the fifth commit from
-the top of 'master' branch", or "I made two commits to fix minor
-bugs while on a detached HEAD" -- and if you do not want to lose
-these facts), you can create a new branch and switch to it with
-`git checkout -b newbranch` so that you can keep building on
-that state, or tag it first so that you can come back to it
-later and switch to the branch you wanted to switch to with `git
-tag that_state; git checkout master`.  On the other hand, if you
-did want to discard the temporary state, you can give `-f`
-option (e.g. `git checkout -f master`) to override this
-behaviour.
+garbage-collect them.  If you did this by mistake, you can ask
+the reflog for HEAD where you were, e.g.
+
+------------
+$ git log -g -2 HEAD
+------------
 
 
 EXAMPLES

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-02-13 14:33   ` Bill Lear
@ 2007-02-13 14:37     ` Bill Lear
  2007-02-13 17:18       ` Randal L. Schwartz
  0 siblings, 1 reply; 262+ messages in thread
From: Bill Lear @ 2007-02-13 14:37 UTC (permalink / raw)
  To: Junio C Hamano, git

On Tuesday, February 13, 2007 at 08:33:22 (-0600) Bill Lear writes:
>On Monday, February 12, 2007 at 21:15:41 (-0800) Junio C Hamano writes:
>>It feels like it took me forever to get here, but this is almost
>>it.  The short-log looks huge but only because Shawn's git-gui
>>is now included.
>>
>>Unless there is some last minute showstopper, the final will be
>>cut on Wednesday.  Should I give it a catchy codename?  ;-)
>
>How about "Wodin"?

Actually, I think "Wotan" is it...


Bill

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-02-13  5:15 ` What's in git.git (stable) Junio C Hamano
  2007-02-13 10:15   ` Johannes Schindelin
  2007-02-13 13:56   ` Matthias Lederhofer
@ 2007-02-13 14:33   ` Bill Lear
  2007-02-13 14:37     ` Bill Lear
  2 siblings, 1 reply; 262+ messages in thread
From: Bill Lear @ 2007-02-13 14:33 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

On Monday, February 12, 2007 at 21:15:41 (-0800) Junio C Hamano writes:
>It feels like it took me forever to get here, but this is almost
>it.  The short-log looks huge but only because Shawn's git-gui
>is now included.
>
>Unless there is some last minute showstopper, the final will be
>cut on Wednesday.  Should I give it a catchy codename?  ;-)

How about "Wodin"?


Bill

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-02-13  5:15 ` What's in git.git (stable) Junio C Hamano
  2007-02-13 10:15   ` Johannes Schindelin
@ 2007-02-13 13:56   ` Matthias Lederhofer
  2007-02-13 16:58     ` Junio C Hamano
  2007-02-13 14:33   ` Bill Lear
  2 siblings, 1 reply; 262+ messages in thread
From: Matthias Lederhofer @ 2007-02-13 13:56 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Junio C Hamano <junkio@cox.net> wrote:
> Unless there is some last minute showstopper, the final will be
> cut on Wednesday.  Should I give it a catchy codename?  ;-)
Documentation/git-checkout.txt still needs an update about reflogs
with detached HEAD (the paragraph starting with "The command would
refuse [..]").

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-02-13  5:15 ` What's in git.git (stable) Junio C Hamano
@ 2007-02-13 10:15   ` Johannes Schindelin
  2007-02-13 17:33     ` Junio C Hamano
  2007-02-13 13:56   ` Matthias Lederhofer
  2007-02-13 14:33   ` Bill Lear
  2 siblings, 1 reply; 262+ messages in thread
From: Johannes Schindelin @ 2007-02-13 10:15 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Hi,

On Mon, 12 Feb 2007, Junio C Hamano wrote:

> It feels like it took me forever to get here, but this is almost
> it.

Congratulations!

> The short-log looks huge but only because Shawn's git-gui is now 
> included.

So, it's a huge-log?

> Unless there is some last minute showstopper, the final will be
> cut on Wednesday.  Should I give it a catchy codename?  ;-)

Oh yes, yes, yes! (To both.)

Ciao,
Dscho

P.S.: How about "The frotzy Nitfol"?

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-02-07 23:21 [ANNOUNCE] GIT 1.5.0-rc4 Junio C Hamano
@ 2007-02-13  5:15 ` Junio C Hamano
  2007-02-13 10:15   ` Johannes Schindelin
                     ` (2 more replies)
  0 siblings, 3 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-02-13  5:15 UTC (permalink / raw)
  To: git

It feels like it took me forever to get here, but this is almost
it.  The short-log looks huge but only because Shawn's git-gui
is now included.

Unless there is some last minute showstopper, the final will be
cut on Wednesday.  Should I give it a catchy codename?  ;-)

* The 'master' branch has these since v1.5.0-rc4

 Alexandre Julliard (3):
  diff.c: Reuse the pprint_rename function for diff --summary output.
  diff.c: Properly quote file names in diff --summary output.
  diff.c: More logical file name quoting for renames in diffstat.

 Aneesh Kumar K.V (1):
  blameview: Move the commit info to a pane below the blame window.

 David Kågedal (5):
  Handle uncommitted changes and cache descriptions
  git-blame.el: improve color handling
  git-blame.el: blame unsaved changes
  git-blame.el: Doc fixes and cleanup
  git-blame.el: Autoupdate while editing

 Dotan Barak (1):
  Make it easier to override path to asciidoc command

 Eric Wong (1):
  git-svn: correctly handle boolean options via git-config

 Jakub Narebski (2):
  git-blame: Add Emacs Lisp file headers and GNU GPL boilerplate
  git-blame: Change installation instructions

 James Bowes (1):
  Read cvsimport options from repo-config

 Johannes Schindelin (4):
  for_each_reflog_ent: be forgiving about missing message
  log --reflog: honour --relative-date
  format-patch -n: make sorting easier by padding number
  log --reflog: use dwim_log

 Junio C Hamano (11):
  create_symref(): create leading directories as needed.
  reflog: handle $name => remotes/%s/HEAD mapping consistently for logs
  Documentation/git-pull: describe default behaviour and config interactions
  git-fetch: document automatic tag following.
  wt_status_prepare(): clean up structure initialization.
  diff_flush_name(): take struct diff_options parameter.
  t4016: test quoting funny pathnames in diff output
  Documentation: git-rebase -C<n>
  Teach git-am to pass -p option down to git-apply
  Add discussion section to git-tag documentation.
  Add RPM target for git-gui

 Linus Torvalds (1):
  git reflog show

 Mark Levedahl (2):
  Make gitk save and restore the user set window position.
  Make gitk save and restore window pane position on Linux and Cygwin.

 Matthias Lederhofer (1):
  git merge documentation: -m is optional

 Michael Loeffler (1):
  import-tars: brown paper bag fix for file mode.

 Michael S. Tsirkin (3):
  Update git-log and git-show documentation
  add -C[NUM] to git-am
  Document that git-am can read standard input.

 Mukund (1):
  Fixed some typos in git-repack docs

 Nicolas Pitre (1):
  remove mailmap.linux

 René Scharfe (1):
  Avoid ugly linewrap in git help

 Shawn O. Pearce (313):
  git-gui: Initial revision.
  git-gui: Additional early feature development.
  git-gui: Fixed UI layout problems on Windows.
  git-gui: Corrected keyboard bindings on Windows, improved state management.
  git-gui: Verify we should actually perform a commit when asked to do so.
  git-gui: Finished commit implementation.
  git-gui: Implemented amended commits.
  git-gui: Misc. nit type of bug fixes.
  git-gui: Started construction of fetch and push operations.
  git-gui: Worked around environment variable problems on Windows.
  git-gui: Reorganized startup procedure to ensure gitdir is right.
  git-gui: Fix menu item accelerator display on Mac OS X.
  git-gui: Correctly handle CR vs. LF within the console of fetch.
  git-gui: Check for fetch or push command failure and denote it.
  git-gui: Don't complain if no .git/remotes exist.
  git-gui: Added current TODO list.
  git-gui: Last minute idea about fetch shortcuts.
  git-gui: Automatically reopen any console closed by the user.
  git-gui: Cache all repo-config data in an array.
  git-gui: Added support for pulling from default branch of a remote.
  git-gui: Updated TODO list now that pull is starting to work.
  git-gui: Corrected diff-index/diff-files protocol parsing errors.
  git-gui: Performance improvements for large file sets.
  git-gui: More performance improvements to rescan logic.
  git-gui: Flip commit message buffer and diff area.
  git-gui: Added repack database menu option, to invoke git repack.
  git-gui: Allow the user to disable update-index --refresh during rescan.
  git-gui: Grab the index lock while running pull.
  git-gui: Pluralize timestamps within the options menu.
  git-gui: Disable pull menu items when the index is locked.
  git-gui: Don't let the user pull into an uncommitted working directory.
  git-gui: Update TODO list.
  git-gui: Bug fix for bad variable reference in display_file.
  git-gui: Changed term 'check-in' to 'include'.
  git-gui: Show only the abbreviated SHA1 after committing.
  git-gui: Cache the GIT_COMMITTER_IDENT value on first sign-off.
  git-gui: Save window geometry to .git/config during exit.
  git-gui: Change accelerator for "Include All" to M1-I.
  git-gui: Created edit menu and basic editing bindings.
  git-gui: Clear undo/redo stack when loading a message file from disk.
  git-gui: Updated TODO list now that geometry is stored.
  git-gui: Always indicate the file in the diff viewer.
  git-gui: Correctly handle files containing LF in their name.
  git-gui: Efficiently update the UI after committing.
  git-gui: Use catch rather than array names to check file.
  git-gui: Rename difffont/mainfont variables.
  git-gui: Use native tk_messageBox for errors.
  git-gui: Cleaned up error message formatting.
  git-gui: Simplified format of geometry configuration.
  git-gui: Misc. formatting cleanups.
  git-gui: Misc. bug fixes for mouse click crashes.
  git-gui: Added context menus for consoles and commit message buffer.
  git-gui: Fix mouse cursor behavior when in widgets.
  git-gui: Teach sign off to be more intelligent.
  git-gui: Corrected font used for options menu items.
  git-gui: Honor system font and let user configure fonts.
  git-gui: Allow the user to change the diff viewer font size.
  git-gui: Refresh a file if it has an empty diff.
  git-gui: Make use of the Tk font system rather than faking it.
  git-gui: Improve right click context menu binding on all platforms.
  git-gui: Rename quitting global to is_quitting.
  git-gui: Use arrow cursor rather than left_ptr.
  git-gui: Refactor options menu into an options dialog.
  git-gui: Allow the user to manipulate the fonts from the options panel.
  git-gui: Supply progress feedback when running update-index.
  git-gui: Minor options dialog UI cleanups.
  git-gui: Added Options... menu item to end of diff context menu.
  git-gui: Use 'after 1' to post UI rather than tkwait.
  git-gui: Correct bugs in font config handling.
  git-gui: Hide non-commit related commands when invoked as git-citool.
  git-gui: Don't load the global options unless necessary.
  git-gui: Allow the user to disable diff stat summary during pull.
  git-gui: Run the pre-commit hook in the background.
  git-gui: Remove the commit_active global variable.
  git-gui: Added post-commit invocation after the commit is done.
  git-gui: Always use eq/ne for string comparsions.
  git-gui: Reshow diff if we sent the file to update-index.
  git-gui: Cleanup diff construction code to prepare for more options.
  git-gui: Allow the user to control the number of context lines in a diff.
  git-gui: Sort the list of paths being updated in the index.
  git-gui: Use a smaller pipe buffer for update-index.
  git-gui: Allow the user to copy name of the file in the diff viewer.
  git-gui: Correct language for M_/A_ status codes.
  git-gui: Display status on left in diff header.
  git-gui: Minor UI layout improvements for console windows.
  git-gui: Reverted file name text field to a label.
  git-gui: By default don't allow partially included files.
  git-gui: Refactor mouse clicking on file names/icons.
  git-gui: Narrow the no differences information message.
  git-gui: Implemented multiple selection in file lists.
  git-gui: Refactor update_status -> rescan.
  git-gui: Provide an after-rescan script to rescan.
  git-gui: Allow update_index to also run a script when it completes.
  git-gui: Automatically update-index all included files before commit.
  git-gui: Disable diff actions when no diff is active.
  git-gui: Created makefile to install the program.
  git-gui: Correctly handle GIT_DIR environment variable.
  git-gui: Create Windows shortcut icons for git-gui.
  git-gui: Protect ourselves from funny GIT_DIR/working directory setups.
  git-gui: Handle ' within paths when creating Windows shortcuts.
  git-gui: Only populate a fetch or push if we have an action.
  git-gui: Create a .app file on MacOS X if requested.
  git-gui: Display error dialog on Mac OS X when no .git found.
  git-gui: Make initial commits work properly.
  git-gui: Only reshow diff when really necessary.
  git-gui: Refactor file state representations.
  git-gui: Add menu option to include only selected files.
  git-gui: Misc. comment formatting cleanups.
  git-gui: Start UI with the index locked.
  git-gui: Remove completed items from TODO list.
  git-gui: Toggle between new commit and amend commit modes.
  git-gui: Verify the user has GIT_COMMITTER_IDENT before comitting.
  git-gui: Rephrase rescan before commit informational message.
  git-gui: Allow adding untracked files in selection.
  git-gui: Don't create PkgInfo on Mac OS X "desktop icons".
  git-gui: Teach the gui how to uninclude a file.
  git-gui: Make consecutive icon clicks toggle included status of a file.
  git-gui: Correct toggling of deleted file status.
  git-gui: Fix list loading corruption introduced by 1461c5f3.
  git-gui: Describe deleted symlinks in a more friendly way.
  git-gui: Correct toggling of added/untracked status for new files.
  git-gui: Updated TODO list now that a task is complete.
  git-gui: Refactored diff line display formatting logic.
  git-gui: Restore the all important shebang line.
  git-gui: Update in memory states after commit.
  git-gui: Correct some state matchings for include/remove.
  git-gui: Improve handling of merge commits.
  git-gui: Allow users to run fsck-objects from the gui.
  git-gui: Don't save amended commit message buffer.
  git-gui: Reworded verify console title.
  git-gui: Seperate out the database operations in project menu.
  git-gui: Rename Project menu to Repository.
  git-gui: Added about dialog box.
  git-gui: Be more Macintosh like.
  git-gui: Make the copyright notice serve double duty.
  git-gui: Include the Tcl/Tk version in the about dialog.
  git-gui: Abstract out windows platform test to is_Windows proc.
  git-gui: Correct is_MacOSX platform test.
  git-gui: Warn Cygwin users about possible environment issues.
  git-gui: Added configuration editor TODO list.
  git-gui: Refactor M1 binding selection.
  git-gui: Added menu command to visualize all branches.
  git-gui: Don't start 'gitk --all' on Mac OS X.
  git-gui: Improve pull error dialogs.
  git-gui: Added revert changes command.
  git-gui: Display the current branch.
  git-gui: Support file state MD (modified/deleted).
  git-gui: Created Branch menu.
  git-gui: Parse off refs/remotes when showing current branch.
  git-gui: Abort on not implemented branch switching.
  git-gui: Automatically skip tracking branches in branch menu.
  git-gui: Rename all_branches -> all_heads.
  git-gui: Misc. comment and formatting cleanups.
  git-gui: Started implementation of switch_branch.
  git-gui: Set a proper title on our revert confirm dialog box.
  git-gui: Updated todo list.
  git-gui: Enable resolution of merge conflicts.
  git-gui: Auto-update any A? or M? files during rescan.
  git-gui: Reworded 'Include' to 'Add' to match core Git.
  git-gui: Created very crude Tools menu, to support miga.
  git-gui: Show all fetched branches for remote pulls.
  git-gui: Run git-gc rather than git-repack.
  git-gui: Corrected behavior of deleted (but existing in HEAD) files.
  git-gui: Correct wording of the revert confirmation dialog.
  git-gui: Work around odd cygpath bug on Windows.
  git-gui: Change more 'include' language to 'add'.
  git-gui: Hide the ugly bash command line from the windows desktop icon.
  git-gui: Modified makefile to embed version into git-gui script.
  git-gui: Display the git-gui version in the Help->About dialog.
  git-gui: Display the full GPL copyright notice in about dialog.
  git-gui: Ensure version number is always current.
  git-gui: Allow the user to copy the version data to the clipboard.
  git-gui: Don't offer my miga hack if its configuration file isn't present.
  git-gui: Suggest when running 'git gc' may be worthwhile.
  git-gui: Refactor reponame computation.
  git-gui: Cleanup usage of gitdir global variable.
  git-gui: Allow [gitdir ...] to act as [file join [gitdir] ...].
  git-gui: Make the gitk starting message match our usual format.
  git-gui: Display the directory we are entering during startup.
  git-gui: Start file status display refactoring.
  git-gui: Convert UI to use 'staged for commit' interface.
  git-gui: Correct DD file state to be only D_.
  git-gui: Remove invalid DM state.
  git-gui: Cleanup state descriptions.
  git-gui: Refactor add/remove proc names to align with reality.
  git-gui: Add or unstage based on the specific icon used.
  git-gui: Refactor the revert (aka checkout-index) implementation.
  git-gui: Refactor the add to commit state filters.
  git-gui: Simplify printing of index info to update-index.
  git-gui: Only permit selection in one list at a time.
  git-gui: Pad the cancel/save buttons in the options window.
  git-gui: Implemented create branch GUI.
  git-gui: Bind M1-N to create branch.
  git-gui: Implemented local branch deletion.
  git-gui: Allow users to delete branches merged upstream.
  git-gui: Allow creating branches from tracking heads.
  git-gui: Use borders on text fields in branch dialog.
  git-gui: Remove 'Allow Partially Added Files' option.
  git-gui: Move commit_prehook into commit_tree.
  git-gui: Improve the branch delete confirmation dialogs.
  git-gui: Don't delete the test target branch.
  git-gui: Attempt to checkout the new branch after creation.
  git-gui: Refactor current_diff -> current_diff_path.
  git-gui: Remove combined diff showing behavior.
  git-gui: Improve the display of merge conflicts.
  git-gui: Improve diff --cc viewing for unmerged files.
  git-gui: Fix bug in unmerged file display.
  git-gui: Clear diff from viewer if the side changed.
  git-gui: Correct disappearing unstaged files.
  git-gui: Add Refresh to diff viewer context menu.
  git-gui: Correct unmerged file detection at commit time.
  git-gui: Pad new branch name input box.
  git-gui: Use a grid layout for branch dialog.
  git-gui: Improve the merge check interface for branch deletion.
  git-gui: Change rude error popup to info popup.
  git-gui: Correctly ignore '* Unmerged path' during diff.
  git-gui: Make diff viewer colors match gitk's defaults.
  git-gui: Never line wrap in file lists.
  git-gui: Don't offer tracking branches if none exist.
  git-gui: Give a better error message on an empty branch name.
  git-gui: Allow user to specify a branch name pattern.
  git-gui: Improve keyboard traversal in dialogs.
  git-gui: Fully select a field when entering into it.
  git-gui: Automatically toggle the relevant radio buttons.
  git-gui: Correctly categorize tracking branches and heads.
  git-gui: Update todo list with finished and new items.
  git-gui: Slightly tweak new window geometry.
  git-gui: Create missing branch head on initial commit.
  git-gui: Don't format the mode line of a diff.
  git-gui: Force an update-index --refresh on unchanged files.
  git-gui: Don't attempt to tag new file/deleted file headers in diffs.
  git-gui: Fix 'Select All' action on Windows.
  git-gui: Ignore 'No newline at end of file' marker line.
  git-gui: Always start a rescan on an empty diff.
  git-gui: Don't show content of untracked binary files.
  git-gui: Limit display of large untracked files.
  git-gui: When possible show the type of an untracked file.
  git-gui: Don't try to tag the 'Binary files * and * differ' line.
  git-gui: Remove spurious newline in untracked file display.
  git-gui: Honor system encoding for filenames.
  git-gui: Handle commit encoding better.
  git-gui: Display database stats (count-objects -v) on demand.
  git-gui: Implement basic branch switching through read-tree.
  git-gui: Use system default labelframe bordering.
  git-gui: Display the size of the pack directory.
  git-gui: Only allow Refresh in diff context menu when we have a diff.
  git-gui: Allow staging/unstaging individual diff hunks.
  git-gui: Elide CRs appearing in diff output from display.
  git-gui: Cleanup end-of-line whitespace in commit messages.
  git-gui: Unset unnecessary UI setup variable.
  git-gui: Force focus to the diff viewer on mouse click.
  git-gui: Support 'Visualize All Branches' on Mac OS X.
  git-gui: Pad the database statistics dialog window.
  git-gui: Prefer Tk's entry widget over a 1 line text field.
  git-gui: Remove Pull menu and cleanup Branch/Fetch/Push menus.
  git-gui: Don't switch branches if changing to the current branch.
  git-gui: Maintain the same file list for diff during refresh.
  git-gui: Always use lsearch -exact, to prevent globbing.
  git-gui: Added arbitrary branch pushing support.
  git-gui: Remove no longer used pull from remote code.
  git-gui: Always use -v option to push.
  git-gui: Refactor console success/failure handling.
  git-gui: Use builtin version of 'git gc'.
  git-gui: Implement local merge operations.
  git-gui: Let users abort with `reset --hard` type logic.
  git-gui: Update status bar during a merge.
  git-gui: Don't allow users to commit a bad octopus merge.
  git-gui: Don't allow merges in the middle of other things.
  git-gui: Always offer scrollbars for branch lists.
  git-gui: Support merge.summary, merge.verbosity.
  git-gui: Reword meaning of merge.summary.
  git-gui: Offer quick access to the HTML formatted documentation.
  git-gui: Test for Cygwin differently than from Windows.
  git-gui: Implemented file browser and incremental blame.
  git-gui: Improve the icons used in the browser display.
  git-gui: Display the current branch name in browsers.
  git-gui: Allow users to edit user.name, user.email from options.
  git-gui: Use -M and -C when running blame.
  git-gui: Correctly handle spaces in filepaths.
  git-gui: Display original filename and line number in blame.
  git-gui: Install column headers in blame viewer.
  git-gui: Use a grid layout for the blame viewer.
  git-gui: Assign background colors to each blame hunk.
  Correct ^0 asciidoc syntax in fast-import docs.
  Correct some language in fast-import documentation.
  Correct spelling of fast-import in docs.
  tar archive frontend for fast-import.
  git-gui: Update known branches during rescan.
  git-gui: Support keyboard traversal in browser.
  git-gui: Replace \ with \\ when showing paths.
  git-gui: Refactor single_commit to a proc.
  git-gui: Separate transport/branch menus from multicommit.
  git-gui: Optionally save commit buffer on exit.
  git-gui: View blame from the command line.
  git-gui: Select subcommands like git does.
  git-gui: Relabel the Add All action.
  git-gui: Use git-config now over git-repo-config.
  git-gui: Redesign the display of annotated files.
  git-gui: Jump to the first annotation block as soon as its available.
  git-gui: Improve annotated file display.
  git-gui: Focus into blame panels on Mac OS.
  git-gui: Stop deleting gitk preferences.
  fast-import: Hide the pack boundary commits by default.
  fast-import: Add tip about importing renames.
  bash: Hide git-fast-import.
  fast-import: Support reusing 'from' and brown paper bag fix reset.
  git-gui: Allow gitexecdir, INSTALL to be set by the caller.
  git-gui: Rename GIT_VERSION to GITGUI_VERSION.
  git-gui: Generate a version file on demand.
  git-gui: Handle gitgui tags in version gen.
  git-gui: Guess our version accurately as a subproject.
  git-gui: Change base version to 0.6.
  Link git-gui into the master Makefile.

 Theodore Ts'o (2):
  Print a sane error message if an alias expands to an invalid git command
  Allow aliases to expand to shell commands

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-02-04 21:34         ` Jakub Narebski
@ 2007-02-04 22:25           ` David Kågedal
  0 siblings, 0 replies; 262+ messages in thread
From: David Kågedal @ 2007-02-04 22:25 UTC (permalink / raw)
  To: git; +Cc: jnareb

Jakub Narebski <jnareb@gmail.com> writes:

> Theodore Tso wrote:
>> On Sun, Feb 04, 2007 at 11:12:34AM -0800, Linus Torvalds wrote:
>>> On Sun, 4 Feb 2007, Jeff King wrote:
>>>> 
>>>> Just a thought, but it might be useful to blame the contents of an
>>>> arbitrary file (but starting the history at a given pathname). Something
>>>> like "git blame --contents /tmp/foo.c file.c", with contents defaulting
>>>> to "file.c". There's much discussion of editor interfaces, and this
>>>> leaves the possibility of git-blaming the contents of the editor buffer
>>>> (after writing it out to a temp file) without having to save changes to
>>>> the working tree file.
>>> 
>>> I agree, that probably would make most sense. If we do this at all. On the 
>>> other hand, I suspect that most editors would probably want to pipe the 
>>> contents to the program, not write it to a temp-file.
>> 
>> ... and use it with --incremental, as well.  In emacs you can have the
>> annotation take place as it is being written out relatively easily, by
>> arranging to have a callback function get called each time more
>> information is handed back to emacs via a pipe.
>
> So perhaps instead of "git blame --contents /tmp/foo.c file.c" we should
> have "cat /tmp/foo.c | git blame --stdin file.c", hmmm? Editor would then
> pipe current contents of the buffer to "git blame --stdin --incremental
> file.c" (where file.c is the name in tree/in HEAD).

But if we allow the standard convention of using - to mean stdin, the
--contents option would be more flexible, since "--contents -" would
just be a special case.

-- 
David Kågedal

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-02-04 20:58       ` Theodore Tso
@ 2007-02-04 21:34         ` Jakub Narebski
  2007-02-04 22:25           ` David Kågedal
  0 siblings, 1 reply; 262+ messages in thread
From: Jakub Narebski @ 2007-02-04 21:34 UTC (permalink / raw)
  To: git

Theodore Tso wrote:
> On Sun, Feb 04, 2007 at 11:12:34AM -0800, Linus Torvalds wrote:
>> On Sun, 4 Feb 2007, Jeff King wrote:
>>> 
>>> Just a thought, but it might be useful to blame the contents of an
>>> arbitrary file (but starting the history at a given pathname). Something
>>> like "git blame --contents /tmp/foo.c file.c", with contents defaulting
>>> to "file.c". There's much discussion of editor interfaces, and this
>>> leaves the possibility of git-blaming the contents of the editor buffer
>>> (after writing it out to a temp file) without having to save changes to
>>> the working tree file.
>> 
>> I agree, that probably would make most sense. If we do this at all. On the 
>> other hand, I suspect that most editors would probably want to pipe the 
>> contents to the program, not write it to a temp-file.
> 
> ... and use it with --incremental, as well.  In emacs you can have the
> annotation take place as it is being written out relatively easily, by
> arranging to have a callback function get called each time more
> information is handed back to emacs via a pipe.

So perhaps instead of "git blame --contents /tmp/foo.c file.c" we should
have "cat /tmp/foo.c | git blame --stdin file.c", hmmm? Editor would then
pipe current contents of the buffer to "git blame --stdin --incremental
file.c" (where file.c is the name in tree/in HEAD).

-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-02-04 19:12     ` Linus Torvalds
@ 2007-02-04 20:58       ` Theodore Tso
  2007-02-04 21:34         ` Jakub Narebski
  0 siblings, 1 reply; 262+ messages in thread
From: Theodore Tso @ 2007-02-04 20:58 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Jeff King, Junio C Hamano, git

On Sun, Feb 04, 2007 at 11:12:34AM -0800, Linus Torvalds wrote:
> 
> 
> On Sun, 4 Feb 2007, Jeff King wrote:
> > 
> > Just a thought, but it might be useful to blame the contents of an
> > arbitrary file (but starting the history at a given pathname). Something
> > like "git blame --contents /tmp/foo.c file.c", with contents defaulting
> > to "file.c". There's much discussion of editor interfaces, and this
> > leaves the possibility of git-blaming the contents of the editor buffer
> > (after writing it out to a temp file) without having to save changes to
> > the working tree file.
> 
> I agree, that probably would make most sense. If we do this at all. On the 
> other hand, I suspect that most editors would probably want to pipe the 
> contents to the program, not write it to a temp-file.

... and use it with --incremental, as well.  In emacs you can have the
annotation take place as it is being written out relatively easily, by
arranging to have a callback function get called each time more
information is handed back to emacs via a pipe.

						- Ted

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-02-04 18:51   ` Jeff King
@ 2007-02-04 19:12     ` Linus Torvalds
  2007-02-04 20:58       ` Theodore Tso
  0 siblings, 1 reply; 262+ messages in thread
From: Linus Torvalds @ 2007-02-04 19:12 UTC (permalink / raw)
  To: Jeff King; +Cc: Junio C Hamano, git



On Sun, 4 Feb 2007, Jeff King wrote:
> 
> Just a thought, but it might be useful to blame the contents of an
> arbitrary file (but starting the history at a given pathname). Something
> like "git blame --contents /tmp/foo.c file.c", with contents defaulting
> to "file.c". There's much discussion of editor interfaces, and this
> leaves the possibility of git-blaming the contents of the editor buffer
> (after writing it out to a temp file) without having to save changes to
> the working tree file.

I agree, that probably would make most sense. If we do this at all. On the 
other hand, I suspect that most editors would probably want to pipe the 
contents to the program, not write it to a temp-file.

(I think it's a worthy feature, but Junio's patch wasn't exactly pretty, 
so the question boils down to whether it's really worth it).

		Linus

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-02-04  9:36 ` What's in git.git (stable) Junio C Hamano
@ 2007-02-04 18:51   ` Jeff King
  2007-02-04 19:12     ` Linus Torvalds
  0 siblings, 1 reply; 262+ messages in thread
From: Jeff King @ 2007-02-04 18:51 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

On Sun, Feb 04, 2007 at 01:36:29AM -0800, Junio C Hamano wrote:

>  - Teaching "git blame" to also use the working tree files
>    and/or index.  I actually think defaulting to working tree
>    when an explicit HEAD is not given (and --cached to use the
>    one in the index) makes a lot of sense, but I haven't got
>    around to code the latter yet.  Not defaulting to HEAD
>    changes semantics, so if we ever are going to do it, I think
>    we should do so before 1.5.0.

Just a thought, but it might be useful to blame the contents of an
arbitrary file (but starting the history at a given pathname). Something
like "git blame --contents /tmp/foo.c file.c", with contents defaulting
to "file.c". There's much discussion of editor interfaces, and this
leaves the possibility of git-blaming the contents of the editor buffer
(after writing it out to a temp file) without having to save changes to
the working tree file.

Admittedly, I think this will be rare, but if you git-blame from an
editor, it seems awkward to either be inaccurate (by blaming the last
saved working tree file, but comparing it to the buffer) or to save the
file as a side effect.

-Peff

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-02-01  0:26 [ANNOUNCE] GIT 1.5.0-rc3 Junio C Hamano
@ 2007-02-04  9:36 ` Junio C Hamano
  2007-02-04 18:51   ` Jeff King
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-02-04  9:36 UTC (permalink / raw)
  To: git

Thanks everybody for helping to tie the loose ends for the next
release.

Thanks to Nico's handful updates, I think his "reflog on HEAD
itself" series is ready for inclusion, although tonight's update
still has it parked in 'next' (I did try out 'next' with his
latest for a couple of hours today).  I've already updated the
draft release notes for 1.5.0 (v1.5.0.txt in todo branch), with
its inclusion in mind.

I've re-read the three tutorials and tried to fix them up
somewhat to match the recent reality.  I'd appreciate somebody
can look at JBF's user manual.

Several things to note (in the following, substitute $gmane with
http://article.gmane.org/gmane.comp.version-control.git):

 - Working around Tk geometry problem, especially on non Linux+X
   platforms.  I've forwarded Mark Levedahl's patches
   ($gmane/38361) to Paul Mackerras for his blessing; hopefully
   he can Ack and/or suggest improvements.  I'd really like to
   have them in 1.5.0 in some form.

 - Nico's "reflog on HEAD".  I'll merge this tomorrow (I just
   ran out of time today).  I will re-try to break its "git
   reflog expire --stale-fix --all" before actually merging it,
   though.

 - Reverting the patch to allow tracking branch names as the
   value of branch.*.merge ($gmane/38621).  I think it is a good
   idea to revert this before 1.5.0 gets out; just haven't got
   around to do so.

 - Teaching "git blame" to also use the working tree files
   and/or index.  I actually think defaulting to working tree
   when an explicit HEAD is not given (and --cached to use the
   one in the index) makes a lot of sense, but I haven't got
   around to code the latter yet.  Not defaulting to HEAD
   changes semantics, so if we ever are going to do it, I think
   we should do so before 1.5.0.

 - Preventing push from updating the current branch of non-bare
   repository.  I think doing so unconditionally is a bad idea
   (and I have Linus's veto to back it up $gmane/38592), but I
   suspect most people would want the default to be less
   confusing to new people.  If we are ever going to forbid by
   default and allow pusher to force, that would be a behaviour
   change and it would be better to do so before 1.5.0.

 - We might want to allow git-push to use the wildcard refspec,
   like git-fetch does, for symmetry.  It would make the
   mothership-satellite arrangement much more natural
   ($gname/38549).  Unfortunately I haven't had a chance to
   start coding it.  I think however this could be added post
   1.5.0.

 - "git remote add -t -f -m" and rewrite of "git clone" based on
   it ($gmane/38470, $gmane/38545).  While I think this leads us
   in right direction, I do not think 1.5.0 needs to wait for
   it.  Certainly I do not want to reimplement "git clone"
   before 1.5.0, although I think the additions to "git remote add"
   are relatively safe.

 - Catering to filesystems whose readdir() returns pathnames
   that are different from what are used when they were creat()ed
   will not happen ($gmane/38620).


* The 'master' branch has these since v1.5.0-rc3.

 Andy Parkins (1):
  doc: hooks.txt said post-commit default sends an email, it doesn't

 Eric Wong (2):
  git-svn: do not let Git.pm warn if we prematurely close pipes
  Disallow invalid --pretty= abbreviations

 Johannes Schindelin (2):
  Teach the '@{...}' notation to git-log -g
  Update the documentation for the new '@{...}' syntax

 Junio C Hamano (9):
  detached HEAD -- finishing touches
  Use "git checkout -q" in git-bisect
  Tutorial: fix asciidoc formatting of "git add" section.
  Tutorial-2: Adjust git-status output to recent reality.
  core-tutorial: http reference link fix
  fix reflog entries for "git-branch"
  honor GIT_REFLOG_ACTION in git-commit
  Why is it bad to rewind a branch that has already been pushed out?
  combine-diff: special case --unified=0

 Mike Coleman (1):
  Fix some documentation typos and grammar

 Nicolas Pitre (4):
  reword the detached head message a little again
  add a quiet option to git-checkout
  prevent HEAD reflog to be interpreted as current branch reflog
  provide a nice @{...} syntax to always mean the current branch reflog

 Pavel Roskin (2):
  git-config --rename-section could rename wrong section
  Assorted typo fixes

 Shawn O. Pearce (18):
  Pull out remote listing functions in git-remote.
  Teach 'git remote' how to cleanup stale tracking branches.
  Cleanup prepare_packed_git_one to reuse install_packed_git.
  Correct comment in prepare_packed_git_one.
  Refactor open_packed_git to return an error code.
  Don't find objects in packs which aren't available anymore.
  Don't leak file descriptors from unavailable pack files.
  Cleanup subcommand documentation for git-remote.
  Keep untracked files not involved in a merge.
  Default GIT_MERGE_VERBOSITY to 5 during tests.
  bash: Remove short option completions for branch/checkout/diff.
  bash: Classify cat-file and reflog as plumbing.
  bash: Complete long options to git-add.
  bash: Add space after unique command name is completed.
  bash: Classify more commends out of completion.
  bash: Support unique completion on git-config.
  bash: Support unique completion when possible.
  bash: Support internal revlist options better.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-01-28 19:34 ` Bill Lear
@ 2007-01-28 20:06   ` Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-01-28 20:06 UTC (permalink / raw)
  To: Bill Lear; +Cc: git

Bill Lear <rael@zopyra.com> writes:

> On Saturday, January 27, 2007 at 00:05:56 (-0800) Junio C Hamano writes:
>>I am hoping that we can declare -rc3 and go into a deep freeze
>>after merging Shawn's "describe with accumulated commits since"
>>and Nico's "reflog on HEAD", perhaps by end of the month.
>
> Was there any final decision on allowing pushes through git-daemon?

Not really.  I personally think it is Ok as long as the default
stays disabled as Linus posted.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-01-27  8:05 Junio C Hamano
  2007-01-27  8:59 ` Aneesh Kumar K.V
  2007-01-27 17:56 ` J. Bruce Fields
@ 2007-01-28 19:34 ` Bill Lear
  2007-01-28 20:06   ` Junio C Hamano
  2 siblings, 1 reply; 262+ messages in thread
From: Bill Lear @ 2007-01-28 19:34 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

On Saturday, January 27, 2007 at 00:05:56 (-0800) Junio C Hamano writes:
>I am hoping that we can declare -rc3 and go into a deep freeze
>after merging Shawn's "describe with accumulated commits since"
>and Nico's "reflog on HEAD", perhaps by end of the month.

Was there any final decision on allowing pushes through git-daemon?


Bill

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-01-27  8:59 ` Aneesh Kumar K.V
  2007-01-27 18:06   ` J. Bruce Fields
@ 2007-01-27 22:00   ` Junio C Hamano
  1 sibling, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-01-27 22:00 UTC (permalink / raw)
  To: Aneesh Kumar K.V; +Cc: git

"Aneesh Kumar K.V" <aneesh.kumar@gmail.com> writes:

> What about the final version of this doc
> [DRAFT] Branching and merging with git from
> http://www.gelato.unsw.edu.au/archives/git/0611/31902.html

What about it?

The last time I said I was interested in the latest incarnation
of it, the response was "will be reposted soon" and we never
heard about it after that, I think.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-01-27  8:59 ` Aneesh Kumar K.V
@ 2007-01-27 18:06   ` J. Bruce Fields
  2007-01-27 22:00   ` Junio C Hamano
  1 sibling, 0 replies; 262+ messages in thread
From: J. Bruce Fields @ 2007-01-27 18:06 UTC (permalink / raw)
  To: Aneesh Kumar K.V; +Cc: Junio C Hamano, git

On Sat, Jan 27, 2007 at 02:29:15PM +0530, Aneesh Kumar K.V wrote:
> Junio C Hamano wrote:
> 
> >
> >I'd like to take a look at JBF's manual and merge it early -- I
> >fed some small changes to him some time ago but did not have
> >chance to review its recent progress.  It deserves attention
> >from wider audience.
> >
> 
> What about the final version of this doc
> [DRAFT] Branching and merging with git from 
> http://www.gelato.unsw.edu.au/archives/git/0611/31902.html

I haven't seen anything from him in a while.

If anyone wants to point out material from that document that they found
particularly helpful, I'd be happy to help incorporate something
similar.  But I feel a little uneasy taking large chunks of it without
the author's go-ahead.

--b.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-01-27  8:05 Junio C Hamano
  2007-01-27  8:59 ` Aneesh Kumar K.V
@ 2007-01-27 17:56 ` J. Bruce Fields
  2007-01-28 19:34 ` Bill Lear
  2 siblings, 0 replies; 262+ messages in thread
From: J. Bruce Fields @ 2007-01-27 17:56 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

On Sat, Jan 27, 2007 at 12:05:56AM -0800, Junio C Hamano wrote:
> I'd like to take a look at JBF's manual and merge it early -- I
> fed some small changes to him some time ago but did not have
> chance to review its recent progress.  It deserves attention
> from wider audience.

That would be great, thanks.

At this point I'm most interested in higher-level questions: Are things
in a sensible order?  What's the most important material that's not
covered?  Etc.  Not that fixes to the details aren't helpful too, of
course.

It still feels really rough, so I'm expecting it to take some time
before we'd want to point newbies to it as the place to go for an
in-depth git introduction.

--b.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2007-01-27  8:05 Junio C Hamano
@ 2007-01-27  8:59 ` Aneesh Kumar K.V
  2007-01-27 18:06   ` J. Bruce Fields
  2007-01-27 22:00   ` Junio C Hamano
  2007-01-27 17:56 ` J. Bruce Fields
  2007-01-28 19:34 ` Bill Lear
  2 siblings, 2 replies; 262+ messages in thread
From: Aneesh Kumar K.V @ 2007-01-27  8:59 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Junio C Hamano wrote:

> 
> I'd like to take a look at JBF's manual and merge it early -- I
> fed some small changes to him some time ago but did not have
> chance to review its recent progress.  It deserves attention
> from wider audience.
> 

What about the final version of this doc
[DRAFT] Branching and merging with git from 
http://www.gelato.unsw.edu.au/archives/git/0611/31902.html

-aneesh

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
@ 2007-01-27  8:05 Junio C Hamano
  2007-01-27  8:59 ` Aneesh Kumar K.V
                   ` (2 more replies)
  0 siblings, 3 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-01-27  8:05 UTC (permalink / raw)
  To: git

I am hoping that we can declare -rc3 and go into a deep freeze
after merging Shawn's "describe with accumulated commits since"
and Nico's "reflog on HEAD", perhaps by end of the month.

I haven't looked at the finishing touches from Shawn I received
tonight yet (it is parked in 'pu').  Nico's "reflog on HEAD"
looked good (also parked in 'pu'), but I think it needs to teach
the repack/prune/fsck/reflog-expire machinery about reflog
entries for HEAD -- otherwise a prune can make reflog useless
while your HEAD is detached (which may not be a big deal and
while I do not deeply care personally, it would be better to
consistently protect them like reflog entries for regular refs).

Although it is tempting to start futzing with prune and ancestry
traversal so that commits hidden by grafts are not lost by it,
which was brought up today, I think it should be better dealt
with after 1.5.0 (it is not a recent regression).

I'd like to take a look at JBF's manual and merge it early -- I
fed some small changes to him some time ago but did not have
chance to review its recent progress.  It deserves attention
from wider audience.

* The 'master' branch has these since v1.5.0-rc2.

  Alex Riesen (4):
    Insert ACTIVESTATE_STRING in Git.pm
    Force Activestate Perl to tie git command pipe handle to a handle class
    Cleanup uninitialized value in chomp
    Allow default core.logallrefupdates to be overridden with template's
       config

  Alexandre Julliard (1):
    vc-git.el: Take into account the destination name in vc-checkout.

  Andy Parkins (2):
    New files in git weren't being downloaded during CVS update
    If abbrev is set to zero in git-describe, don't add the unique suffix

  Eric Wong (1):
    git-svn: remove leading slash when printing removed directories

  Jakub Narebski (3):
    Documentation/config.txt: Document config file syntax better
    t/t1300-repo-config.sh: value continued on next line
    Documentation/config.txt: Correct info about subsection name

  Jason Riedy (1):
    Use inttypes.h rather than stdint.h.

  Jeff King (3):
    format-patch: fix bug with --stdout in a subdirectory
    contrib/vim: update syntax for changed commit template
    diffcore-pickaxe: fix infinite loop on zero-length needle

  Johannes Schindelin (2):
    annotate: use pager
    reflog inspection: introduce shortcut "-g"

  Junio C Hamano (25):
    Documentation/tutorial-2: Fix interesting typo in an example.
    Revert "prune: --grace=time"
    Make sure git_connect() always give two file descriptors.
    is_repository_shallow(): prototype fix.
    shallow repository: disable unsupported operations for now.
    git-gc: do not run git-prune by default.
    cvsimport: activate -a option, really.
    .mailmap: fix screw-ups in Uwe's name
    honor --author even with --amend, -C, and -c.
    reflog gc: a tag that does not point at a commit is not a crime.
    git-checkout -m: fix merge case
    git-daemon documentation on enabling services.
    ls-remote and clone: accept --upload-pack=<path> as well.
    Refactor the pack header reading function out of receive-pack.c
    Allow fetch-pack to decide keeping the fetched pack without exploding
    fetch-pack: remove --keep-auto and make it the default.
    Consolidate {receive,fetch}.unpackLimit
    Allow non-developer to clone, checkout and fetch more easily.
    parse-remote: do not barf on a remote shorthand without any refs to fetch.
    show-branch -g: default to HEAD
    Documentation: pack-refs --all vs default behaviour
    Make sure we do not write bogus reflog entries.
    git-merge: leave sensible reflog message when used as the first level UI.
    create_symref: check error return from open().
    write_in_full: size_t is unsigned.

  Linus Torvalds (3):
    fsck-objects: refactor checking for connectivity
    Fix seriously broken "git pack-refs"
    Add dangling objects tips.

  Nicolas Pitre (1):
    fix suggested branch creation command when detaching head

  Peter Eriksen (2):
    sha1_file.c: Avoid multiple calls to find_pack_entry().
    Documentation: --amend cannot be combined with -c/-C/-F.

  Sam Vilain (1):
    contrib/emacs/vc-git.el: support vc-version-other-window

  Shawn O. Pearce (1):
    Remove unnecessary found variable from describe.

  Uwe Kleine-König (2):
    rename --exec to --upload-pack for fetch-pack and peek-remote
    make --upload-pack option to git-fetch configurable

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
@ 2007-01-10  8:24 Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-01-10  8:24 UTC (permalink / raw)
  To: git

* The 'maint' branch has these fixes since the last announcement.

  Junio C Hamano (2):
     Do not ignore a detected patchfile brokenness.
     Fix "Do not ignore a detected patchfile brokenness."

* The 'master' branch has these since the last announcement.

  Two rather big changes are included: sliding mmap; UTF-8 is
  default for e-mail acceptance tools.  I am slightly worried
  about the interaction of the latter with git-rebase, though...


  Alexandre Julliard (3):
     git-apply: Remove directories that have become empty after deleting a file.
     git-clone: Make sure the master branch exists before running cat on it.
     git.el: Define the propertize function if needed, for XEmacs compatibility.

  Andy Whitcroft (5):
     ssh-upload: prevent buffer overrun
     short i/o: clean up the naming for the write_{in,or}_xxx family
     short i/o: fix calls to read to use xread or read_in_full
     short i/o: fix calls to write to use xwrite or write_in_full
     short i/o: fix config updates to use write_in_full

  Brian Gernhardt (2):
     Ignore git-init and git-remote
     Auto-quote config values in config.c:store_write_pair()

  Eric Wong (2):
     git-svn: add --prefix= option to multi-init
     git-svn: pass an unambiguous ref to rev-list when grafting-branches

  J. Bruce Fields (2):
     Documentation: clarify definition of "reachable"
     Documentation: add git-remote man page

  Jakub Narebski (2):
     gitweb: Remove superfluous "|" in "commit" view
     gitweb: Fix git_patchset_body not closing <div class="patch">

  Jeff King (1):
     get_tree_entry: map blank requested entry to tree root

  Junio C Hamano (21):
     pack-objects: fix use of use_pack().
     mmap: set FD_CLOEXEC for file descriptors we keep open for mmap()
     git-remote
     builtin-prune: make file-scope static struct to an argument.
     builtin-prune: separate ref walking from reflog walking.
     Move traversal of reachable objects into a separate library.
     reflog expire --fix-stale
     reflog --fix-stale: do not check the same trees and commits repeatedly.
     diff-index --cached --raw: show tree entry on the LHS for unmerged entries.
     git-reset <tree> -- <path> restores absense of <path> in <tree>
     Spell default packedgitlimit slightly differently
     --utf8 is now default for 'git-am'
     --prune is now default for 'pack-refs'
     rm git-rerere.perl -- it is now a built-in.
     merge-base: do not leak commit list
     Do not ignore a detected patchfile brokenness.
     Fix "Do not ignore a detected patchfile brokenness."
     builtin-archive: do not free a tree held by the object layer.
     git-am: should work when "--no-utf8 --utf8" is given
     -u is now default for 'git-applymbox'
     -u is now default for 'git-mailinfo'.

  Jürgen Rühle (5):
     Clarify syntax and role of git-add in status output
     Improve "nothing to commit" part of status output
     Support --amend on initial commit in status output
     Improve cached content header of status output
     Remove unnecessary git-rm --cached reference from status output

  Martin Langhoff (6):
     cvsimport: skip commits that are too recent
     cvsimport: skip commits that are too recent (option and documentation)
     cvsimport: document -S and -L options
     cvsimport: cleanup temporary cvsps file
     cvsserver: detect early of we are up to date and avoid costly rev-list
     cvsserver: fix revision number during file adds

  Michael Loeffler (1):
     git-commit: do not fail to print the diffstat even if there is a file named HEAD

  Nicolas Pitre (1):
     "init-db" can really be just "init"

  Pavel Roskin (1):
     Fix warnings in sha1_file.c - use C99 printf format if available

  Sasha Khapyorsky (1):
     git-svnimport: fix edge revisions double importing

  Shawn O. Pearce (25):
     Replace unpack_entry_gently with unpack_entry.
     Introduce new config option for mmap limit.
     Refactor packed_git to prepare for sliding mmap windows.
     Use off_t for index and pack file lengths.
     Create read_or_die utility routine.
     Refactor how we open pack files to prepare for multiple windows.
     Replace use_packed_git with window cursors.
     Loop over pack_windows when inflating/accessing data.
     Document why header parsing won't exceed a window.
     Unmap individual windows rather than entire files.
     Fully activate the sliding window pack access.
     Load core configuration in git-verify-pack.
     Ensure core.packedGitWindowSize cannot be less than 2 pages.
     Improve error message when packfile mmap fails.
     Support unmapping windows on 'temporary' packfiles.
     Create pack_report() as a debugging aid.
     Test suite for sliding window mmap implementation.
     Default core.packdGitWindowSize to 1 MiB if NO_MMAP.
     Release pack windows before reporting out of memory.
     Replace mmap with xmmap, better handling MAP_FAILED.
     Cleanup read_cache_from error handling.
     Fix random segfaults in pack-objects.
     Update packedGit config option documentation.
     Increase packedGit{Limit,WindowSize} on 64 bit systems.
     Don't die in git-http-fetch when fetching packs.

  Stefan-W. Hahn (1):
     Replacing the system call pread() with lseek()/xread()/lseek() sequence.

  Steven Grimm (1):
     Update git-svn manpage to remove the implication that SVN::* is optional.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
@ 2007-01-10  8:23 Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-01-10  8:23 UTC (permalink / raw)
  To: git

* The 'maint' branch has these fixes since the last announcement.

  Junio C Hamano (2):
     Do not ignore a detected patchfile brokenness.
     Fix "Do not ignore a detected patchfile brokenness."

* The 'master' branch has these since the last announcement.

  Two rather big changes are included: sliding mmap; UTF-8 is
  default for e-mail acceptance tools.  I am slightly worried
  about the interaction of the latter with git-rebase, though...


  Alexandre Julliard (3):
     git-apply: Remove directories that have become empty after deleting a file.
     git-clone: Make sure the master branch exists before running cat on it.
     git.el: Define the propertize function if needed, for XEmacs compatibility.

  Andy Whitcroft (5):
     ssh-upload: prevent buffer overrun
     short i/o: clean up the naming for the write_{in,or}_xxx family
     short i/o: fix calls to read to use xread or read_in_full
     short i/o: fix calls to write to use xwrite or write_in_full
     short i/o: fix config updates to use write_in_full

  Brian Gernhardt (2):
     Ignore git-init and git-remote
     Auto-quote config values in config.c:store_write_pair()

  Eric Wong (2):
     git-svn: add --prefix= option to multi-init
     git-svn: pass an unambiguous ref to rev-list when grafting-branches

  J. Bruce Fields (2):
     Documentation: clarify definition of "reachable"
     Documentation: add git-remote man page

  Jakub Narebski (2):
     gitweb: Remove superfluous "|" in "commit" view
     gitweb: Fix git_patchset_body not closing <div class="patch">

  Jeff King (1):
     get_tree_entry: map blank requested entry to tree root

  Junio C Hamano (21):
     pack-objects: fix use of use_pack().
     mmap: set FD_CLOEXEC for file descriptors we keep open for mmap()
     git-remote
     builtin-prune: make file-scope static struct to an argument.
     builtin-prune: separate ref walking from reflog walking.
     Move traversal of reachable objects into a separate library.
     reflog expire --fix-stale
     reflog --fix-stale: do not check the same trees and commits repeatedly.
     diff-index --cached --raw: show tree entry on the LHS for unmerged entries.
     git-reset <tree> -- <path> restores absense of <path> in <tree>
     Spell default packedgitlimit slightly differently
     --utf8 is now default for 'git-am'
     --prune is now default for 'pack-refs'
     rm git-rerere.perl -- it is now a built-in.
     merge-base: do not leak commit list
     Do not ignore a detected patchfile brokenness.
     Fix "Do not ignore a detected patchfile brokenness."
     builtin-archive: do not free a tree held by the object layer.
     git-am: should work when "--no-utf8 --utf8" is given
     -u is now default for 'git-applymbox'
     -u is now default for 'git-mailinfo'.

  Jürgen Rühle (5):
     Clarify syntax and role of git-add in status output
     Improve "nothing to commit" part of status output
     Support --amend on initial commit in status output
     Improve cached content header of status output
     Remove unnecessary git-rm --cached reference from status output

  Martin Langhoff (6):
     cvsimport: skip commits that are too recent
     cvsimport: skip commits that are too recent (option and documentation)
     cvsimport: document -S and -L options
     cvsimport: cleanup temporary cvsps file
     cvsserver: detect early of we are up to date and avoid costly rev-list
     cvsserver: fix revision number during file adds

  Michael Loeffler (1):
     git-commit: do not fail to print the diffstat even if there is a file named HEAD

  Nicolas Pitre (1):
     "init-db" can really be just "init"

  Pavel Roskin (1):
     Fix warnings in sha1_file.c - use C99 printf format if available

  Sasha Khapyorsky (1):
     git-svnimport: fix edge revisions double importing

  Shawn O. Pearce (25):
     Replace unpack_entry_gently with unpack_entry.
     Introduce new config option for mmap limit.
     Refactor packed_git to prepare for sliding mmap windows.
     Use off_t for index and pack file lengths.
     Create read_or_die utility routine.
     Refactor how we open pack files to prepare for multiple windows.
     Replace use_packed_git with window cursors.
     Loop over pack_windows when inflating/accessing data.
     Document why header parsing won't exceed a window.
     Unmap individual windows rather than entire files.
     Fully activate the sliding window pack access.
     Load core configuration in git-verify-pack.
     Ensure core.packedGitWindowSize cannot be less than 2 pages.
     Improve error message when packfile mmap fails.
     Support unmapping windows on 'temporary' packfiles.
     Create pack_report() as a debugging aid.
     Test suite for sliding window mmap implementation.
     Default core.packdGitWindowSize to 1 MiB if NO_MMAP.
     Release pack windows before reporting out of memory.
     Replace mmap with xmmap, better handling MAP_FAILED.
     Cleanup read_cache_from error handling.
     Fix random segfaults in pack-objects.
     Update packedGit config option documentation.
     Increase packedGit{Limit,WindowSize} on 64 bit systems.
     Don't die in git-http-fetch when fetching packs.

  Stefan-W. Hahn (1):
     Replacing the system call pread() with lseek()/xread()/lseek() sequence.

  Steven Grimm (1):
     Update git-svn manpage to remove the implication that SVN::* is optional.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2007-01-02  0:07 Junio C Hamano
@ 2007-01-07  7:43 ` Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2007-01-07  7:43 UTC (permalink / raw)
  To: git

I'll do v1.4.4.4 from 'maint' to have grave bugfixes in an
"officially released version" tomorrow, although we will be in
stabilation period for v1.5.0 shortly.

* The 'maint' branch has these fixes since the last announcement.

   Junio C Hamano (2):
      Fix infinite loop when deleting multiple packed refs.
      pack-check.c::verify_packfile(): don't run SHA-1 update on huge data


* The 'master' branch has these since the last announcement.

   Alexandre Julliard (3):
      git-clean: Fix the -q option.
      git.el: Don't use --info-only when resolving a file.
      git.el: Avoid setting font lock keywords before entering log-edit mode.

   Andy Whitcroft (1):
      send pack check for failure to send revisions list

   Brian Gernhardt (1):
      Add documentation for git-branch's color configuration.

   Eric Wong (6):
      instaweb: load Apache mime and dir modules if they are needed
      git-svn: make multi-init less confusing
      git-svn: update documentation for multi-{init|fetch}
      git-svn: make --repack work consistently between fetch and multi-fetch
      Documentation/git-svn: clarify dcommit, rebase vs pull/merge
      git-svn: fix show-ignore

   Fredrik Kuivinen (1):
      instaweb: Nicer error message when the http daemon isn't found

   J. Bruce Fields (1):
      Documentation: tutorial editing

   Jakub Narebski (9):
      gitweb: Fix error in git_project_index subroutine
      gitweb: Fix bug in git_difftree_body (was '!=' instead of 'ne')
      gitweb: There can be empty patches (in git_patchset_body)
      gitweb: Fix "Use of uninitialized value" warning in git_tags_body
      gitweb: Fix error in git_patchest_body for file creation/deletion patch
      gitweb: Fix error in "rename to"/"copy to" git diff header output
      gitweb: Fix errors in git_patchset_body for empty patches
      Revert "gitweb: There can be empty patches (in git_patchset_body)"
      gitweb: Fix split patches output (e.g. file to symlink)

   Junio C Hamano (9):
      Remove unused variable (git-commit.sh)
      fetch-pack: do not use lockfile structure on stack.
      Fix infinite loop when deleting multiple packed refs.
      tutorial: misc updates.
      git-verify-tag: make sure we remove temporary file.
      pack-check.c::verify_packfile(): don't run SHA-1 update on huge data
      rerere: Fix removal of already resolved path.
      builtin-prune: memory diet.
      Fix timestamp for test-tick

   Lars Hjemli (2):
      Skip excessive blank lines before commit body
      Refactor print-functions in builtin-branch

   Luben Tuikov (1):
      Blame "linenr" link jumps to previous state at "orig_lineno"

   René Scharfe (3):
      Make check target depend on common-cmds.h
      Remove shadowing variable from traverse_trees()
      Set default "tar" umask to 002 and owner.group to root.root

   Robert Fitzsimons (1):
      gitweb: Fix shortlog only showing HEAD revision.

   Santi Béjar (2):
      Documentation/tutorial: misc updates
      git-tag: add flag to verify a tag

   Sasha Khapyorsky (2):
      git-svnimport: support for incremental import
      git-svnimport: clean svn path when accessing SVN repo

   Steven Grimm (2):
      Describe git-clone's actual behavior in the summary
      Print a more accurate error message when we fail to create a lock file.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
@ 2007-01-02  0:07 Junio C Hamano
  2007-01-07  7:43 ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2007-01-02  0:07 UTC (permalink / raw)
  To: git

A happy new year.

I think this is more-or-less it to start the -rc1 cycle.  

I'll leave the window open for another week or so before people
come back from the christmas and new year break.  I have not
been working on any of the potential changes other people talked
about recently on the list, but things like detached HEAD and
more generic per-branch customization may magically materialize
from somewhere as a robust and usable set of patches.

I also haven't reviewed the introductory documentation set
recently, which I think is necessary before the release.

I'll be sending out an updated draft for v1.5.0 release notes in a
separate message.

* The 'master' branch has these since the last announcement.

   Eric Wong (3):
      git-svn: remove svnadmin dependency from the tests
      git-svn: t/t9100-git-svn-basic: remove old check for NO_SYMLINK
      git-svn: t/t91??-*: optimize the tests a bit

   J. Bruce Fields (6):
      Docs: update cvs-migration.txt to reflect clone's new default behavior
      Documentation: update git-clone.txt for clone's new default behavior
      Documentation: update glossary entry for "origin"
      Documentation: update tutorial's discussion of origin
      Documentation: update git-pull.txt for new clone behavior
      Documentation: remove master:origin example from pull-fetch-param.txt

   Junio C Hamano (12):
      send-pack: fix pipeline.
      Documentation: illustrate send-pack pipeline.
      Update documentation for update hook.
      send-pack.c: use is_null_sha1()
      send-pack: tell pack-objects to use its internal rev-list.
      Do not merge random set of refs out of wildcarded refs
      i18n: do not leak 'encoding' header even when we cheat the conversion.
      Update send-pack pipeline documentation.
      fail pull/merge early in the middle of conflicted merge
      git-fetch: remove .keep file at the end.
      Strongly discourage --update-head-ok in fetch-options documentation.
      Update clone/fetch documentation with --depth (shallow clone) option

   Shawn O. Pearce (4):
      Move better_branch_name above get_ref in merge-recursive.
      Allow merging bare trees in merge-recursive.
      Use merge-recursive in git-am -3.
      Add test case for update hooks in receive-pack.

   Theodore Tso (1):
      Fix formatting for urls section of fetch, pull, and push manpages

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
@ 2006-12-31  8:07 Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2006-12-31  8:07 UTC (permalink / raw)
  To: git

I am happy that we are making steady progress towards v1.5.0,
especially with tonight's handful fixes from Shawn.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

* The 'master' branch has these since the last announcement.

  Jakub Narebski (1):
   Add info about new test families (8 and 9) to t/README

  Johannes Schindelin (1):
   Fix yet another subtle xdl_merge() bug

  Junio C Hamano (12):
   Work around http-fetch built with cURL 7.16.0
   t5400 send-pack test: try a bit more nontrivial transfer.
   Revert "read_directory: show_both option."
   Fix 'git add' with .gitignore
   commit re-encoding: fix confusion between no and default conversion.
   t3900: test log --encoding=none
   Documentation: i18n commit log message notes.
   Documentation: minor rewording for git-log and git-show pages.
   Move commit reencoding parameter parsing to revision.c
   commit-tree: cope with different ways "utf-8" can be spelled.
   i18n: drop "encoding" header in the output after re-coding.
   Documentation/config.txt (and repo-config manpage): mark-up fix.

  Shawn O. Pearce (8):
   Force core.filemode to false on Cygwin.
   Use PATH_MAX constant for --bare.
   Replace "GIT_DIR" with GIT_DIR_ENVIRONMENT.
   Automatically detect a bare git repository.
   Remove unnecessary argc parameter from run_command_v.
   Redirect update hook stdout to stderr.
   Use /dev/null for update hook stdin.
   Teach Git how to parse standard power of 2 suffixes.

  Theodore Ts'o (1):
   Fix formatting for urls section of fetch, pull, and push manpages

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
  2006-12-26  3:22 What's in git.git (stable) and announcing GIT 1.5.0 preview Junio C Hamano
@ 2006-12-29  5:44 ` Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2006-12-29  5:44 UTC (permalink / raw)
  To: git

I've merged a handful topics since v1.5.0-rc0.

 - reflog is now integral part of the data tracked by git, as
   far as local repository is concerned.  You do not have to end
   your sentence with "... but only if you haven't pruned" when
   you tell your users "don't worry, you can get it back with
   master@{2.hours.ago}" anymore.

 - a single command "git gc" would help your repository
   housekeeping chores.

 - shallow-clone capable upload-pack/fetch-pack pair is in.
   Although I think the way they cauterize the ancestry graph
   during the want-have exchange is basically sound, I haven't
   used it extensively and suspect not many people have.  The
   additional code, however, does not seem to harm the normal,
   non-shallow operation in any way; this is to give them wider
   exposure.

 - recording the commit encoding in the new "encoding" header
   and using it together with i18n.{logoutput,commit}encoding
   upon output is also in.  I think Nico's suggestion to use
   LANG also makes sense (perhaps with LC_CTYPE), but haven't
   done that myself yet.

 - git-svn got a handful improvements.

 - segfaulting bug in xdl_merge was fixed.

I'm waiting for ack's to my workaround for http-fetch breakage
when built with cURL 7.16.0, which I would like to resolve
before v1.5.0-rc1.  Also I have a reproducible problem which I
suspect is with Shawn's sliding mmap(), and am hoping we can
ship the sliding mmap() as part of the v1.5.0 after resolving
it.

----------------------------------------------------------------
* The 'master' branch has these since the last announcement.

   Alexandre Julliard (6):
      Shallow clone: do not ignore shallowness when following tags
      fetch-pack: Properly remove the shallow file when it becomes empty.
      upload-pack: Check for NOT_SHALLOW flag before sending a shallow to
        the client.
      git-fetch: Reset shallow_depth before auto-following tags.
      get_shallow_commits: Avoid memory leak if a commit has been reached
	already.
      fetch-pack: Do not fetch tags for shallow clones.

   Andy Parkins (1):
      hooks/commit-msg: add example to add Signed-off-by line to message

   Eric Wong (9):
      git-svn: quiet down tests and fix some unportable shell constructs
      git-svn: dcommit should diff against the current HEAD after committing
      t6024-recursive-merge: quiet down this test
      test-lib: quiet down init-db output for tests
      t9200-git-cvsexportcommit.sh: quiet down commit
      git-svn: remove non-delta fetch code paths
      git-svn: print out the SVN library version in --version, too
      git-svn: verify_ref() should actually --verify
      git-svn: sort multi-init output

   Jakub Narebski (2):
      gitweb: Add mod_perl version string to "generator" meta header
      gitweb: Precompile CGI routines for mod_perl

   Jim Meyering (1):
      update hook: redirect _both_ diagnostic lines to stderr upon tag failure

   Johannes Schindelin (6):
      upload-pack: no longer call rev-list
      support fetching into a shallow repository
      allow cloning a repository "shallowly"
      allow deepening of a shallow repository
      add tests for shallow stuff
      xdl_merge(): fix a segmentation fault when refining conflicts

   Junio C Hamano (32):
      We should make sure that the protocol is still extensible.
      Why does it mean we do not have to register shallow if we have one?
      Why didn't we mark want_obj as ~UNINTERESTING in the old code?
      shallow clone: unparse and reparse an unshallowed commit
      add for_each_reflog_ent() iterator
      Protect commits recorded in reflog from pruning.
      Teach git-repack to preserve objects referred to by reflog entries.
      reflog: fix warning message.
      Move in_merge_bases() to commit.c
      git reflog expire
      reflog expire: prune commits that are not incomplete
      reflog expire: do not punt on tags that point at non commits.
      show-branch --reflog: add documentation.
      Document --numstat in git-apply and git-diff
      Document git-reset <commit> -- <paths>...
      Move encoding conversion routine out of mailinfo to utf8.c
      i18n.logToUTF8: convert commit log message to UTF-8
      Teach log family --encoding
      everyday: update for v1.5.0
      count-objects -v: show number of packs as well.
      rerere gc: honor configuration and document it
      git-reflog: gc.* configuration and documentation.
      everyday: replace a few 'prune' and 'repack' with 'gc'
      Use 'repack -a -d -l' instead of 'repack -a -d' in git-gc
      Set NO_MMAP for Cygwin by default
      UTF-8: introduce i18n.logoutputencoding.
      gcc does not necessarily pass runtime libpath with -R
      Rename t3900 test vector file
      t3900: test conversion to non UTF-8 as well
      GIT_SKIP_TESTS: allow users to omit tests that are known to break
      core.logallrefupdates: log remotes/ tracking branches.
      Allow non-fast-forward of remote tracking branches in default clone

   Nicolas Pitre (3):
      add .mailmap for git-shortlog output with the git repository
      Add git-reflog to .gitignore
      move git-blame to its place in .gitignore

   Quy Tonthat (1):
      git-send-email: default value for "From:" field.

   Robert Fitzsimons (1):
      gitweb: Re-enable rev-list --parents for parse_commit.

   Shawn O. Pearce (8):
      Don't crash during repack of a reflog with pruned commits.
      Create 'git gc' to perform common maintenance operations.
      Use GIT_REFLOG_ACTION environment variable instead.
      Honor GIT_REFLOG_ACTION in git-rebase.
      Use branch names in 'git-rebase -m' conflict hunks.
      Ensure `git-pull` fails if `git-merge` fails.
      Honor pull.{twohead,octopus} in git-merge.
      Allow git-merge to select the default strategy.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-27  1:19                     ` Luben Tuikov
@ 2006-12-27  2:14                       ` Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2006-12-27  2:14 UTC (permalink / raw)
  To: ltuikov; +Cc: git, Randal L. Schwartz, Josef Weidendorfer

Luben Tuikov <ltuikov@yahoo.com> writes:

> --- Junio C Hamano <junkio@cox.net> wrote:
>> Luben Tuikov <ltuikov@yahoo.com> writes:
>> 
>> >> I am not quite sure about that.  An old timer would work in a
>> >> newly cloned repository after all, and what this "newbie
>> >> protection" is breaking is not existing repositories but
>> >> expectation from existing users.
>> >
>> > Hmm, "newbie protection" doesn't sound good.  It sounds like
>> > "screw the old-timers and let's change well-established workflow".
>> 
>> As far as I am concerned, this is a topic already closed four
>> days ago with commit fb8696d9.
>> 
>> Are you way too behind, are you rubbing it in, or am I
>> hallucinating and fb8696d9 did not actually fix it?
>
> I'm behind.  I'll pull and take a look at that commit.

Thanks.

And sorry that I sounded harsher than necessary.  Between the
two paragraphs, I meant to say "... with commit fb8696d9.  It
was a mistake, I broke existing workflows, I apologized, and the
commit should have fixed it".

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-26 23:54                   ` Junio C Hamano
@ 2006-12-27  1:19                     ` Luben Tuikov
  2006-12-27  2:14                       ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Luben Tuikov @ 2006-12-27  1:19 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git, Randal L. Schwartz, Josef Weidendorfer

--- Junio C Hamano <junkio@cox.net> wrote:
> Luben Tuikov <ltuikov@yahoo.com> writes:
> 
> >> I am not quite sure about that.  An old timer would work in a
> >> newly cloned repository after all, and what this "newbie
> >> protection" is breaking is not existing repositories but
> >> expectation from existing users.
> >
> > Hmm, "newbie protection" doesn't sound good.  It sounds like
> > "screw the old-timers and let's change well-established workflow".
> 
> As far as I am concerned, this is a topic already closed four
> days ago with commit fb8696d9.
> 
> Are you way too behind, are you rubbing it in, or am I
> hallucinating and fb8696d9 did not actually fix it?

I'm behind.  I'll pull and take a look at that commit.

    Luben

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-26 20:25                 ` Luben Tuikov
@ 2006-12-26 23:54                   ` Junio C Hamano
  2006-12-27  1:19                     ` Luben Tuikov
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2006-12-26 23:54 UTC (permalink / raw)
  To: Luben Tuikov; +Cc: git, Randal L. Schwartz, Josef Weidendorfer

Luben Tuikov <ltuikov@yahoo.com> writes:

>> I am not quite sure about that.  An old timer would work in a
>> newly cloned repository after all, and what this "newbie
>> protection" is breaking is not existing repositories but
>> expectation from existing users.
>
> Hmm, "newbie protection" doesn't sound good.  It sounds like
> "screw the old-timers and let's change well-established workflow".

As far as I am concerned, this is a topic already closed four
days ago with commit fb8696d9.

Are you way too behind, are you rubbing it in, or am I
hallucinating and fb8696d9 did not actually fix it?

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-22 21:44               ` Junio C Hamano
@ 2006-12-26 20:25                 ` Luben Tuikov
  2006-12-26 23:54                   ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Luben Tuikov @ 2006-12-26 20:25 UTC (permalink / raw)
  To: Junio C Hamano, Johannes Schindelin
  Cc: git, Randal L. Schwartz, Josef Weidendorfer

--- Junio C Hamano <junkio@cox.net> wrote:
> I am not quite sure about that.  An old timer would work in a
> newly cloned repository after all, and what this "newbie
> protection" is breaking is not existing repositories but
> expectation from existing users.

Hmm, "newbie protection" doesn't sound good.  It sounds like
"screw the old-timers and let's change well-established workflow".

The expectation is that one always pulls into origin, merges
into master, and maybe checks out master to see the remote
master.  From then on, they decide what, where and how to
merge (from) master into any local branches, and then
eventually export local branches to the public.

The "^branch.\.*" options seem to be counter-intuitive to
1) git's behavor and 2) see above.

Generally "pulling" a remote master in a local branch, without
the local "origin+master" being fast-forwarded/merged should be
considered non-git-conformant behavior.  Assuming that the local
branch is a branch of master/origin, which is almost ever the case.

> In any case, here is a patch for discussion.
> 
> diff --git a/git-parse-remote.sh b/git-parse-remote.sh
> index f163821..b4d071b 100755
> --- a/git-parse-remote.sh
> +++ b/git-parse-remote.sh
> @@ -145,10 +145,22 @@ canon_refs_list_for_fetch () {
>  			merge_branches=$(git-repo-config \
>  			    --get-all "branch.${curr_branch}.merge")
>  		fi
> -		# If we are fetching only one branch, then first branch
> -		# is the only thing that makes sense to merge anyway,
> -		# so there is no point refusing that traditional rule.
> -		if test $# != 1 && test "z$merge_branches" = z
> +		if test "z$merge_branches" = z &&
> +			# If we are fetching only one branch, then
> +			# first branch is the only thing that makes
> +			# sense to merge anyway, so there is no point
> +			# refusing that traditional rule.
> +			test $# != 1 &&
> +
> +			# Also, old timers have been happily working
> +			# with the first branch rule without having
> +			# any branch.*.merge configuration, so if
> +			# there is none, do not bother with this
> +			# "newbie protection".  A newly cloned
> +			# repository would have branch.master.merge
> +			# set for it.

It should probably have branch.*.remote _and_ branch.*.merge set
for completeness.  Or we should remove the branch.* options
from git-config and leave this up to porcelains.

> +			git repo-config --get-regexp \
> +				'^branch\..*\.merge$' >/dev/null

How does this "set" it?

    Luben


>  		then
>  			merge_branches=..this..would..never..match..
>  		fi

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-22 20:56           ` Jakub Narebski
@ 2006-12-22 21:49             ` Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2006-12-22 21:49 UTC (permalink / raw)
  To: Jakub Narebski; +Cc: git

Jakub Narebski <jnareb@gmail.com> writes:

> Junio C Hamano wrote:
> ...
>>>> Possibilities:
>>>> 
>>>>  (1) Forget about that "protection" business.  If you do not
>>>>      want mistakes, use 'branch.*.merge' but otherwise we will
>>>>      continue to follow the good old "first set of branches"
>>>>      rule.
>>>
>>> What about marking default branch to merge explicitely using
>>> "Merge:" in remotes/<repo>, or remote.<name>.merge?
>> 
>> Sorry, how is that an improvement over the current branch.*.merge?
>> and how would that help not breaking existing setups?
>
> I meant that in addition to forgetting about "protection" business.
> This would be intermediate improvement over old behavior.

I do not think so.  It does not talk about "when on my local
branch X do this", and applies to all pulls from the named
remote.  Then longstanding rule of merging the first set of
branches is just fine and as expressive.  You see them the first
in the list, and you already know they somehow matter more.

On the other hand, I think Santi's branch.*.merge (done in
commit 5372806a) _was_ a real improvement.

> Perhaps make "protection" business optional, default to on for
> new users?

Now the question is how you would tell "new users".

The possibility (2) is not even good enough, because even old
timers work in a newly cloned repositories.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-22 20:44             ` Johannes Schindelin
@ 2006-12-22 21:44               ` Junio C Hamano
  2006-12-26 20:25                 ` Luben Tuikov
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2006-12-22 21:44 UTC (permalink / raw)
  To: Johannes Schindelin
  Cc: git, Randal L. Schwartz, Josef Weidendorfer, Luben Tuikov

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

> So, if I understand your option (2) correctly, it complains _only_ if 
> there is at least one branch.*.merge in the config, but not for the 
> current branch?
>
> I think that would safeguard the existing repositories _and_ the new ones, 
> because git-clone sets them up with such an entry to begin with.
>
> If that behaviour was meant by (2), I am all for it.

I am not quite sure about that.  An old timer would work in a
newly cloned repository after all, and what this "newbie
protection" is breaking is not existing repositories but
expectation from existing users.

In any case, here is a patch for discussion.

diff --git a/git-parse-remote.sh b/git-parse-remote.sh
index f163821..b4d071b 100755
--- a/git-parse-remote.sh
+++ b/git-parse-remote.sh
@@ -145,10 +145,22 @@ canon_refs_list_for_fetch () {
 			merge_branches=$(git-repo-config \
 			    --get-all "branch.${curr_branch}.merge")
 		fi
-		# If we are fetching only one branch, then first branch
-		# is the only thing that makes sense to merge anyway,
-		# so there is no point refusing that traditional rule.
-		if test $# != 1 && test "z$merge_branches" = z
+		if test "z$merge_branches" = z &&
+			# If we are fetching only one branch, then
+			# first branch is the only thing that makes
+			# sense to merge anyway, so there is no point
+			# refusing that traditional rule.
+			test $# != 1 &&
+
+			# Also, old timers have been happily working
+			# with the first branch rule without having
+			# any branch.*.merge configuration, so if
+			# there is none, do not bother with this
+			# "newbie protection".  A newly cloned
+			# repository would have branch.master.merge
+			# set for it.
+			git repo-config --get-regexp \
+				'^branch\..*\.merge$' >/dev/null
 		then
 			merge_branches=..this..would..never..match..
 		fi

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-22 20:16         ` Junio C Hamano
@ 2006-12-22 20:56           ` Jakub Narebski
  2006-12-22 21:49             ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Jakub Narebski @ 2006-12-22 20:56 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Junio C Hamano wrote:
> Jakub Narebski <jnareb@gmail.com> writes:
> 
>> <opublikowany i wysłany>
>>
>> Junio C Hamano wrote:
>>
>>> Possibilities:
>>> 
>>>  (1) Forget about that "protection" business.  If you do not
>>>      want mistakes, use 'branch.*.merge' but otherwise we will
>>>      continue to follow the good old "first set of branches"
>>>      rule.
>>
>> What about marking default branch to merge explicitely using
>> "Merge:" in remotes/<repo>, or remote.<name>.merge?
> 
> Sorry, how is that an improvement over the current branch.*.merge?
> and how would that help not breaking existing setups?

I meant that in addition to forgetting about "protection" business.
This would be intermediate improvement over old behavior, marking
clearly which is default branch to merge (with first branch still
being default, and perhaps error out if there is _only_ wildcard
Pull:/fetch line/variable; the branches marked with + are ineligible
as candidate for merge with "first branch being default branch to
merge" default).

Perhaps make "protection" business optional, default to on for
new users?
-- 
Jakub Narebski
Poland

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-22 20:13           ` Junio C Hamano
@ 2006-12-22 20:44             ` Johannes Schindelin
  2006-12-22 21:44               ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Johannes Schindelin @ 2006-12-22 20:44 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git, Randal L. Schwartz

Hi,

On Fri, 22 Dec 2006, Junio C Hamano wrote:

> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> 
> > HOWEVER, it has been in "What's cooking in git (topics)".
> >
> > Having said that, we could (at least for some time) print a big red 
> > warning for the specific case of "git pull" meaning "git pull origin 
> > <whateveristhefirstfetchedhead>" that this will GO AWAY SOON.
> >
> > Of course, you would not see it. Only your script.
> >
> > BTW I would _never_ allow a script to rely on such a DWIM feature.
> 
> That's too strong a statement.  It is not DWIM but has been a
> longstanding rule to use "the first set of branches" for the
> merge.  We've merged the first set of branches since day one,
> and even after branch.*.merge we've done so unless you do not
> have such configuration.

Okay, I have been wrong. My sincere apologies.

So, if I understand your option (2) correctly, it complains _only_ if 
there is at least one branch.*.merge in the config, but not for the 
current branch?

I think that would safeguard the existing repositories _and_ the new ones, 
because git-clone sets them up with such an entry to begin with.

If that behaviour was meant by (2), I am all for it.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-22  9:25 Junio C Hamano
  2006-12-22 17:15 ` Randal L. Schwartz
@ 2006-12-22 20:21 ` Quy Tonthat
  1 sibling, 0 replies; 262+ messages in thread
From: Quy Tonthat @ 2006-12-22 20:21 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Junio C Hamano wrote:
> * The 'master' branch has these since the last announcement.
[...]
> 
>    Quy Tonthat (2):
>       ...
>       Documentation/git-branch: new -r to delete remote-tracking branches.
> 
This one is not there on the 'master' branch.
Quy

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-22 20:04       ` Jakub Narebski
@ 2006-12-22 20:16         ` Junio C Hamano
  2006-12-22 20:56           ` Jakub Narebski
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2006-12-22 20:16 UTC (permalink / raw)
  To: Jakub Narebski; +Cc: git

Jakub Narebski <jnareb@gmail.com> writes:

> <opublikowany i wysłany>
>
> Junio C Hamano wrote:
>
>> Possibilities:
>> 
>>  (1) Forget about that "protection" business.  If you do not
>>      want mistakes, use 'branch.*.merge' but otherwise we will
>>      continue to follow the good old "first set of branches"
>>      rule.
>
> What about marking default branch to merge explicitely using
> "Merge:" in remotes/<repo>, or remote.<name>.merge?

Sorry, how is that an improvement over the current branch.*.merge?
and how would that help not breaking existing setups?

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-22 19:21         ` Johannes Schindelin
@ 2006-12-22 20:13           ` Junio C Hamano
  2006-12-22 20:44             ` Johannes Schindelin
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2006-12-22 20:13 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: git, Randal L. Schwartz

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

> HOWEVER, it has been in "What's cooking in git (topics)".
>
> Having said that, we could (at least for some time) print a big red 
> warning for the specific case of "git pull" meaning "git pull origin 
> <whateveristhefirstfetchedhead>" that this will GO AWAY SOON.
>
> Of course, you would not see it. Only your script.
>
> BTW I would _never_ allow a script to rely on such a DWIM feature.

That's too strong a statement.  It is not DWIM but has been a
longstanding rule to use "the first set of branches" for the
merge.  We've merged the first set of branches since day one,
and even after branch.*.merge we've done so unless you do not
have such configuration.

The complaint (or "newbie protection") was a backward
incompatible change, and it was executed poorly.  So my
apologies go to Merlyn.

While many "new features" can be done in backward compatible
way, any "newbie protection" can break existing practices --
because the whole point of "protection" is to forbid what once
was allowed only because we did not use to check.  And when we
have something that we check now that we did not check before,
that by definition will not be backward compatible.

Some backward incompatibilities are more justfiable than others.
For example, we recently changed "git add" without argument not
to do anything.  It used to have the same effect as "git add .",
but (1) adding all files in a working tree is a rare event, (2)
just a single dot is not hard to type, (3) without argument you
will get a response "not doing anything".  On the other hand,
doing "git add" without argument by mistake and ending up with
the index with many unwanted files is more painful and more
likely to hapen -- it is more valuable to protect users against
it than saving the two keysrokes.  That's why I think that
change is a justified improvement.

I do not think this "merge complaint", at least in the form that
lived on 'master', is justifiable.  The first one that was
merged from the topic made it a requirement to have the
branch.*.merge configuration when you do not give explicit
refspecs on the command line, which was just outright WRONG.
The one currently on the public repository says if the fetch
ended up getting only one branch then not having branch.*.merge
is Ok, which arguably is an improvement, but I do not think is
good enough.  I mentioned other possibilities in my earlier
message.

I also personally think that it is not as clear cut as the "git
add" case that "the first set of branches" rule is wrong, but
the trouble I caused to Merlyn and Luben primarily comes from
the check to trigger "newbie protection", not from what the
protection is trying to do.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-22 18:58     ` Junio C Hamano
@ 2006-12-22 20:04       ` Jakub Narebski
  2006-12-22 20:16         ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Jakub Narebski @ 2006-12-22 20:04 UTC (permalink / raw)
  To: git

<opublikowany i wysłany>

Junio C Hamano wrote:

> Possibilities:
> 
>  (1) Forget about that "protection" business.  If you do not
>      want mistakes, use 'branch.*.merge' but otherwise we will
>      continue to follow the good old "first set of branches"
>      rule.

What about marking default branch to merge explicitely using
"Merge:" in remotes/<repo>, or remote.<name>.merge?

-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-22 18:12       ` Randal L. Schwartz
  2006-12-22 18:21         ` Randal L. Schwartz
@ 2006-12-22 19:21         ` Johannes Schindelin
  2006-12-22 20:13           ` Junio C Hamano
  1 sibling, 1 reply; 262+ messages in thread
From: Johannes Schindelin @ 2006-12-22 19:21 UTC (permalink / raw)
  To: Randal L. Schwartz; +Cc: Junio C Hamano, git

Hi,

On Fri, 22 Dec 2006, Randal L. Schwartz wrote:

> >>>>> "Johannes" == Johannes Schindelin <Johannes.Schindelin@gmx.de> 
> >>>>> writes:
> 
> >> Ahh, it's "git-pull . origin".
> 
> Johannes> This is just a merge, not a real pull (it leaves out the fetch 
> Johannes> part).
> 
> OK, so what does what a naked "git-pull" used to do before, which was 
> "fetch origin, then pull it into the current branch"?

$ git repo-config branch.xyz.remote origin
$ git repo-config branch.xyz.merge refs/heads/<whateveryourfirstfetchis>

> Johannes> So, for each branch (e.g. "xyz") for which you have a 
> Johannes> preferred upstream (e.g. remote "linus" with branch
> Johannes> "master"), say
> 
> Johannes> 	$ git repo-config branch.xyz.remote linus
> Johannes> 	$ git repo-config branch.xyz.merge refs/heads/master
> 
> But that's not upward compatible.  The default should be the old 
> behavior, or we need a better way to notify people that this breaks 
> things.

AFAIK it is not in maint. Not even in 1.4.4.3. So, you got it with master.

So, TFA should have been in a message "What's in git (stable)". 
Alas, the commit a71fb0a1: "git-pull: refuse default merge without 
branch.*.merge" was merged _after_ the latest announcement.

HOWEVER, it has been in "What's cooking in git (topics)".

Having said that, we could (at least for some time) print a big red 
warning for the specific case of "git pull" meaning "git pull origin 
<whateveristhefirstfetchedhead>" that this will GO AWAY SOON.

Of course, you would not see it. Only your script.

BTW I would _never_ allow a script to rely on such a DWIM feature.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-22 17:19   ` Randal L. Schwartz
  2006-12-22 18:09     ` Johannes Schindelin
@ 2006-12-22 18:58     ` Junio C Hamano
  2006-12-22 20:04       ` Jakub Narebski
  1 sibling, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2006-12-22 18:58 UTC (permalink / raw)
  To: Randal L. Schwartz; +Cc: git

merlyn@stonehenge.com (Randal L. Schwartz) writes:

>>>>>> "Randal" == Randal L Schwartz <merlyn@stonehenge.com> writes:
>>>>>> "Junio" == Junio C Hamano <junkio@cox.net> writes:
> Junio> git-pull: refuse default merge without branch.*.merge
>
> Randal> Argh.  How do I get back the old behavior?
> Randal> "git-pull origin" doesn't seem to be enough.
>
> Randal> You just broke a bunch of automated scripts for me.
>
> Ahh, it's "git-pull . origin".
>
> Maybe a bit more warning for non-upward-compatible changes though, please.
>
> Or maybe we should presume everything is non-upward compatible?  I didn't
> think a naked "git-pull" was that out of the ordinary.

Things are supposed to be upward compatible, but this round
until v1.5.0 some things may not be when it is justifiably an
improvement.  For example, we've already made 'separate remote'
not only the default but the only layout 'git clone' produces.
I cannot think of others offhand, but I am reasonably certain
there are others.  We need a "incompatible changes" list.

The tradtional "pull always merges the first set of branches"
rule, although I was actually very much in favor of it, was
something that was hated by everybody.

It was said that people had lot of trouble after doing "git pull
origin" without any refspecs ("git pull" without any argument
defaults to 'origin' which is backward compatible, if you do not
have branch.*.remote, so that form has the same issues), when on
a branch other than the 'master' branch.  "merges the same first
set of branches no matter which branch you are on" was the rule,
but people did not want to merge the ones they usually merge to
their 'master' but wanted some other branch merged.
"branch.*.merge" can be used to specify this, but if you do not
have need for this "merge different branches depending on which
branch I am on", you do not have to use it.  Without
"branch.*.merge" for the current branch, we are still backward
compatible and follow the "first set of branches" rule.

The real trouble is that some people further argued that pulling
without 'branch.*.merge' when you might not want to follow the
"first set of branches" rule might be a newbie mistake and
should be warned and forbidden.  The commit that broke you was
an attempt for that behaviour.  I think that newbie protection
intent is good, but the execution was obviously not.

What I have on 'master' has a little fixup to use 'first set of
branches' rule when the fetch gets only one branch without
complaining.  I am still not happy with that either, and at this
point I am not sure if there is a good compromise that does not
break existing setup while offering the newbie protection.

Possibilities:

 (1) Forget about that "protection" business.  If you do not
     want mistakes, use 'branch.*.merge' but otherwise we will
     continue to follow the good old "first set of branches"
     rule.

 (2) A slight variant of the above; do the "protection" only
     when 'branch.*.merge' is defined for _any_ of the branches,
     not just the current branch.

 (3) A further variant; do not do the above "protection" if the
     current branch is 'master' (this further makes 'master'
     special, which some people may hate).

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-22 18:12       ` Randal L. Schwartz
@ 2006-12-22 18:21         ` Randal L. Schwartz
  2006-12-22 19:21         ` Johannes Schindelin
  1 sibling, 0 replies; 262+ messages in thread
From: Randal L. Schwartz @ 2006-12-22 18:21 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Junio C Hamano, git

>>>>> "Randal" == Randal L Schwartz <merlyn@stonehenge.com> writes:

Randal> But that's not upward compatible.  The default should be the old behavior,
Randal> or we need a better way to notify people that this breaks things.

Not to mention that the manpage still says:

       git pull, git pull origin
           Fetch the default head from the repository you cloned from and
           merge it into your current branch.

So even if I was *looking* for a change in behavior, it wasn't documented.
Nothing changed in that area in recent history.

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-22 18:09     ` Johannes Schindelin
@ 2006-12-22 18:12       ` Randal L. Schwartz
  2006-12-22 18:21         ` Randal L. Schwartz
  2006-12-22 19:21         ` Johannes Schindelin
  0 siblings, 2 replies; 262+ messages in thread
From: Randal L. Schwartz @ 2006-12-22 18:12 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Junio C Hamano, git

>>>>> "Johannes" == Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

>> Ahh, it's "git-pull . origin".

Johannes> This is just a merge, not a real pull (it leaves out the fetch part).

OK, so what does what a naked "git-pull" used to do before, which was
"fetch origin, then pull it into the current branch"?

Johannes> So, for each branch (e.g. "xyz") for which you have a preferred upstream 
Johannes> (e.g. remote "linus" with branch "master"), say

Johannes> 	$ git repo-config branch.xyz.remote linus
Johannes> 	$ git repo-config branch.xyz.merge refs/heads/master

But that's not upward compatible.  The default should be the old behavior,
or we need a better way to notify people that this breaks things.

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-22 17:19   ` Randal L. Schwartz
@ 2006-12-22 18:09     ` Johannes Schindelin
  2006-12-22 18:12       ` Randal L. Schwartz
  2006-12-22 18:58     ` Junio C Hamano
  1 sibling, 1 reply; 262+ messages in thread
From: Johannes Schindelin @ 2006-12-22 18:09 UTC (permalink / raw)
  To: Randal L. Schwartz; +Cc: Junio C Hamano, git

Hi,

On Fri, 22 Dec 2006, Randal L. Schwartz wrote:

> >>>>> "Randal" == Randal L Schwartz <merlyn@stonehenge.com> writes:
> 
> >>>>> "Junio" == Junio C Hamano <junkio@cox.net> writes:
> Junio> git-pull: refuse default merge without branch.*.merge
> 
> Randal> Argh.  How do I get back the old behavior?
> Randal> "git-pull origin" doesn't seem to be enough.

Maybe "git-pull origin master"?

> Randal> You just broke a bunch of automated scripts for me.
> 
> Ahh, it's "git-pull . origin".

This is just a merge, not a real pull (it leaves out the fetch part).

> Maybe a bit more warning for non-upward-compatible changes though, 
> please.

It is unfortunate that this change broke your scripts. But I really think 
that the new behaviour is much saner: If you have different branches, you 
probably do not want to pull the _same_ remote branch into _all_ of them.

So, for each branch (e.g. "xyz") for which you have a preferred upstream 
(e.g. remote "linus" with branch "master"), say

	$ git repo-config branch.xyz.remote linus
	$ git repo-config branch.xyz.merge refs/heads/master

Then,

	$ git pull

pulls your preferred upstream. But when you pull from another remote, or 
into another branch, without specifying which remote branch you want to 
pull, git now refuses to blindly pull branch "master". This should prevent 
quite some pilot errors.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-22 17:15 ` Randal L. Schwartz
@ 2006-12-22 17:19   ` Randal L. Schwartz
  2006-12-22 18:09     ` Johannes Schindelin
  2006-12-22 18:58     ` Junio C Hamano
  0 siblings, 2 replies; 262+ messages in thread
From: Randal L. Schwartz @ 2006-12-22 17:19 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

>>>>> "Randal" == Randal L Schwartz <merlyn@stonehenge.com> writes:

>>>>> "Junio" == Junio C Hamano <junkio@cox.net> writes:
Junio> git-pull: refuse default merge without branch.*.merge

Randal> Argh.  How do I get back the old behavior?
Randal> "git-pull origin" doesn't seem to be enough.

Randal> You just broke a bunch of automated scripts for me.

Ahh, it's "git-pull . origin".

Maybe a bit more warning for non-upward-compatible changes though, please.

Or maybe we should presume everything is non-upward compatible?  I didn't
think a naked "git-pull" was that out of the ordinary.

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-22  9:25 Junio C Hamano
@ 2006-12-22 17:15 ` Randal L. Schwartz
  2006-12-22 17:19   ` Randal L. Schwartz
  2006-12-22 20:21 ` Quy Tonthat
  1 sibling, 1 reply; 262+ messages in thread
From: Randal L. Schwartz @ 2006-12-22 17:15 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

>>>>> "Junio" == Junio C Hamano <junkio@cox.net> writes:

Junio>       git-pull: refuse default merge without branch.*.merge

Argh.  How do I get back the old behavior?
"git-pull origin" doesn't seem to be enough.

You just broke a bunch of automated scripts for me.

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
@ 2006-12-22  9:25 Junio C Hamano
  2006-12-22 17:15 ` Randal L. Schwartz
  2006-12-22 20:21 ` Quy Tonthat
  0 siblings, 2 replies; 262+ messages in thread
From: Junio C Hamano @ 2006-12-22  9:25 UTC (permalink / raw)
  To: git

I guess I'll need to push another maintenance release out soon,
if only to fix the manual pages.

On the 'master' front there are a handful more topics pushed out
from 'next'.  I still need to apply the __FREEBSD__ fix yet, but
otherwise we should be able to start calming things down.

* The 'maint' branch has these fixes since the last announcement.

   Johannes Schindelin (1):
      diff --check: fix off by one error

   Junio C Hamano (1):
      spurious .sp in manpages

* The 'master' branch has these since the last announcement.

   Eric Wong (3):
      git-svn: convert to using Git.pm
      git-svn: remove support for the svn command-line client
      git-svn: rename 'commit' command to 'set-tree'

   Johannes Schindelin (5):
      Introduce GIT_TEMPLATE_DIR
      diff --check: fix off by one error
      Use git-merge-file in git-merge-one-file, too
      git-tag: support -F <file> option
      git-reset --hard: tell the user what the HEAD was reset to

   Josef Weidendorfer (1):
      Move "no merge candidate" warning into git-pull

   Junio C Hamano (22):
      git-clone: use wildcard specification for tracking branches
      git-pull: refuse default merge without branch.*.merge
      git-clone: lose the artificial "first" fetch refspec
      git-clone: lose the traditional 'no-separate-remote' layout
      rev-list --left-right
      Teach all of log family --left-right output.
      Make left-right automatic.
      fix testsuite: make sure they use templates freshly built from the source
      Teach git-branch to delete tracking branches with -r -d
      blame: -b (blame.blankboundary) and --root (blame.showroot)
      Revert "fix testsuite: make sure they use templates freshly
        built from the source"
      Do not create $GIT_DIR/remotes/ directory anymore.
      Use preprocessor constants for environment variable names.
      Revert "Make left-right automatic."
      git-add: error out when given no arguments.
      spurious .sp in manpages
      compat/inet_ntop: do not use u_int
      diff documentation: mostly talk about <commit>
      Revert "git-pull: refuse default merge without branch.*.merge"
      parse-remote: mark all refs not for merge only when fetching more
        than one
      _XOPEN_SOURCE problem also exists on FreeBSD
      commit-tree: do not overflow MAXPARENT

   Quy Tonthat (2):
      git-branch -d: do not stop at the first failure.
      Documentation/git-branch: new -r to delete remote-tracking branches.

   Shawn Pearce (3):
      Suggest 'add' in am/revert/cherry-pick.
      Rename imap-send's internal info/warn functions.
      Introduce a global level warn() function.

   Terje Sten Bjerkseth (1):
      Fix system header problems on Mac OS X

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
       [not found] ` <Pine.LNX.4.64.0612181012280.3479@woody.osdl.org>
@ 2006-12-18 22:04   ` Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2006-12-18 22:04 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: git

Linus Torvalds <torvalds@osdl.org> writes:

> On Sun, 17 Dec 2006, Junio C Hamano wrote:
>> 
>>  - blame A..B's output shows lines attributed to the boundary
>>    commit with commit SHA-1 prefixed with '^';
>
> I wonder if it would make sense to have a flag or mode or something where 
> boundary commit attributions are simply left unattributed (ie just leave 
> that _empty_).

How about this?

-- >8 --
blame: -b (blame.blankboundary) and --root (blame.showroot)

When blame.blankboundary is set (or -b option is given), commit
object names are blanked out in the "human readable" output
format for boundary commits.

When blame.showroot is not set (or --root is not given), the
root commits are treated as boundary commits.  The code still
attributes the lines to them, but with -b their object names are
not shown.

Signed-off-by: Junio C Hamano <junkio@cox.net>

---
 builtin-blame.c |   33 +++++++++++++++++++++++++++++++--
 1 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/builtin-blame.c b/builtin-blame.c
index a250724..211bdb3 100644
--- a/builtin-blame.c
+++ b/builtin-blame.c
@@ -22,7 +22,9 @@
 static char blame_usage[] =
 "git-blame [-c] [-l] [-t] [-f] [-n] [-p] [-L n,m] [-S <revs-file>] [-M] [-C] [-C] [commit] [--] file\n"
 "  -c, --compatibility Use the same output mode as git-annotate (Default: off)\n"
+"  -b                  Show blank SHA-1 for boundary commits (Default: off)\n"
 "  -l, --long          Show long commit SHA1 (Default: off)\n"
+"  --root              Do not treat root commits as boundaries (Default: off)\n"
 "  -t, --time          Show raw timestamp (Default: off)\n"
 "  -f, --show-name     Show original filename (Default: auto)\n"
 "  -n, --show-number   Show original linenumber (Default: off)\n"
@@ -36,6 +38,8 @@ static int longest_author;
 static int max_orig_digits;
 static int max_digits;
 static int max_score_digits;
+static int show_root;
+static int blank_boundary;
 
 #ifndef DEBUG
 #define DEBUG 0
@@ -1095,6 +1099,9 @@ static void assign_blame(struct scoreboard *sb, struct rev_info *revs, int opt)
 			if (commit->object.parsed)
 				mark_parents_uninteresting(commit);
 		}
+		/* treat root commit as boundary */
+		if (!commit->parents && !show_root)
+			commit->object.flags |= UNINTERESTING;
 
 		/* Take responsibility for the remaining entries */
 		for (ent = sb->ent; ent; ent = ent->next)
@@ -1318,8 +1325,12 @@ static void emit_other(struct scoreboard *sb, struct blame_entry *ent, int opt)
 		int length = (opt & OUTPUT_LONG_OBJECT_NAME) ? 40 : 8;
 
 		if (suspect->commit->object.flags & UNINTERESTING) {
-			length--;
-			putchar('^');
+			if (!blank_boundary) {
+				length--;
+				putchar('^');
+			}
+			else
+				memset(hex, ' ', length);
 		}
 
 		printf("%.*s", length, hex);
@@ -1639,6 +1650,19 @@ static void prepare_blame_range(struct scoreboard *sb,
 		usage(blame_usage);
 }
 
+static int git_blame_config(const char *var, const char *value)
+{
+	if (!strcmp(var, "blame.showroot")) {
+		show_root = git_config_bool(var, value);
+		return 0;
+	}
+	if (!strcmp(var, "blame.blankboundary")) {
+		blank_boundary = git_config_bool(var, value);
+		return 0;
+	}
+	return git_default_config(var, value);
+}
+
 int cmd_blame(int argc, const char **argv, const char *prefix)
 {
 	struct rev_info revs;
@@ -1654,6 +1678,7 @@ int cmd_blame(int argc, const char **argv, const char *prefix)
 	char type[10];
 	const char *bottomtop = NULL;
 
+	git_config(git_blame_config);
 	save_commit_buffer = 0;
 
 	opt = 0;
@@ -1662,6 +1687,10 @@ int cmd_blame(int argc, const char **argv, const char *prefix)
 		const char *arg = argv[i];
 		if (*arg != '-')
 			break;
+		else if (!strcmp("-b", arg))
+			blank_boundary = 1;
+		else if (!strcmp("--root", arg))
+			show_root = 1;
 		else if (!strcmp("-c", arg))
 			output_option |= OUTPUT_ANNOTATE_COMPAT;
 		else if (!strcmp("-t", arg))

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
@ 2006-12-18  7:26 Junio C Hamano
       [not found] ` <Pine.LNX.4.64.0612181012280.3479@woody.osdl.org>
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2006-12-18  7:26 UTC (permalink / raw)
  To: git

I've updated 'master' with a handful topics along with a few
fixes:

 - Jakub's gitweb updates;

 - blame A..B's output shows lines attributed to the boundary
   commit with commit SHA-1 prefixed with '^';

 - "branch -m $old $new" renames branch.$old.* configuration
   variables to branch.$new.*;

 - "git add A/B C", when A and C/D used to be tracked files, now
   properly works, it used to result in a bogus index you cannot
   write-tree out;

 - "git show-branch --reflog=<n> <branch>" shows latest n entries
   of the reflog of the branch.

 - "git fetch" between repositories with tons of refs had huge
   performance problem; hopefully fixed.

* The 'master' branch has these since the last announcement.

   Jakub Narebski (8):
      gitweb: Don't use Content-Encoding: header in git_snapshot
      gitweb: Show target of symbolic link in "tree" view
      gitweb: Add generic git_object subroutine to display object of any type
      gitweb: Hyperlink target of symbolic link in "tree" view (if possible)
      gitweb: SHA-1 in commit log message links to "object" view
      gitweb: Do not show difftree for merges in "commit" view
      gitweb: Add title attribute to ref marker with full ref name
      gitweb: Add "next" link to commit view

   Johannes Schindelin (2):
      add a function to rename sections in the config
      git-branch: rename config vars branch.<branch>.*, too

   Junio C Hamano (11):
      git-blame: show lines attributed to boundary commits differently.
      update-index: make D/F conflict error a bit more verbose.
      git-add: remove conflicting entry when adding.
      Fix check_file_directory_conflict().
      Fix mis-mark-up in git-merge-file.txt documentation
      markup fix in svnimport documentation.
      Teach show-branch how to show ref-log data.
      git-fetch: Avoid reading packed refs over and over again
      avoid accessing _all_ loose refs in git-show-ref --verify
      show-ref: fix --quiet --verify
      show-ref: fix --verify --hash=length

   Quy Tonthat (1):
      Documentation: new option -P for git-svnimport

   Shawn Pearce (1):
      Default GIT_COMMITTER_NAME to login name in recieve-pack.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
@ 2006-12-16 23:10 Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2006-12-16 23:10 UTC (permalink / raw)
  To: git

At the end is a list of stuff merged to 'master' since the last
announcement.

----------------------------------------------------------------

Andy Parkins (1):
      git-status always says what branch it's on

Brian Gernhardt (2):
      Add --add option to git-repo-config
      Make git-diff documentation use [--] when it should.

Johannes Schindelin (3):
      INSTALL: no need to have GNU diff installed
      git-show: grok blobs, trees and tags, too
      Document git-merge-file

Junio C Hamano (7):
      Revert "git-diff: Introduce --index and deprecate --cached."
      git-svn: allow both diff.color and color.diff
      Update git-diff documentation
      git-fetch: make it work from within a subdirectory.
      git-reset: make it work from within a subdirectory.
      git-reset [--mixed] <tree> [--] <paths>...
      merge: give a bit prettier merge message to "merge branch~$n"

Luben Tuikov (1):
      Export PERL_PATH

Nicolas Pitre (2):
      repacked packs should be read-only
      make commit message a little more consistent and conforting

Quy Tonthat (1):
      git-clone documentation

Shawn Pearce (7):
      Bypass expensive content comparsion during rename detection.
      Avoid accessing a slow working copy during diffcore operations.
      Provide more meaningful output from 'git init-db'.
      Enable reflogs by default in any repository with a working directory.
      Teach bash the new features of 'git show'.
      Suggest use of "git add file1 file2" when there is nothing to commit.
      Align section headers of 'git status' to new 'git add'.


^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-16 13:59 ` Jakub Narebski
@ 2006-12-16 22:04   ` Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2006-12-16 22:04 UTC (permalink / raw)
  To: Jakub Narebski; +Cc: git

Jakub Narebski <jnareb@gmail.com> writes:

> Junio C Hamano wrote:
>
>> Things that need to be done to complete what have been merged to
>> 'master' are:
>
> What about discussed but not implemented moving restriction on non-head refs
> from git-checkout (forbidding to checkout tags, remotes, and arbitrary
> commits like HEAD~n) to git-commit (allowing commiting only to heads refs)?

Did I miss a patch? ;-)

I've taken a look at it once, and it is usually easy to decide
if we should allow or disallow manipulation of the HEAD at
individual places that tries to look at it or modify it, but
there are many places and giving reasonable error messages to
all of the places we would want to disallow would be quite a lot
of work.  In other words, it is rather a wide-and-shallow change
all over manipulators section of Porcelain.  So from my point of
view it is backburnered, but that does not mean I would object
to a patch that does it cleanly ;-).



^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-16 17:12                   ` Steven Grimm
@ 2006-12-16 19:57                     ` Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2006-12-16 19:57 UTC (permalink / raw)
  To: Steven Grimm; +Cc: Johannes Schindelin, git, Jakub Narebski

Steven Grimm <koreth@midwinter.com> writes:

> Interesting. I'd actually prefer people *remove* me from the CC list -- 
> I find it annoying to get two copies of every message in threads I
> reply to. I'm already subscribed to the mailing list, so there's no
> point having me on the Cc line too. (Mind you, as annoyances go it's a
> pretty insignificant one.)
>
> I can understand the case of people who aren't on the list wanting to
> get replies, but why does someone who *is* on the list want to be
> CCed? Is it just that there's no good way to tell in advance which
> category a given person falls into, so best to be on the safe side?

There is no cheap and mechanical way to tell that for the
sender, and even when the sender can tell, it is not polite to
do so (see next paragraph), unless the recipient specifically
ask for it.  On the other hand, filtering duplicates at the
recipient's end could be mechanically done without wasting the
human time.  And people's time tend to be a lot more expensive
than machine time and the cost to send extra bits over the wire.

Some people (including me) prioritize e-mails and respond to
messages that are addressed To: them first, then Cc: next, and
finally the rest of the messages that came only through the
mailng list.  Dropping a recipient from the Cc: list, even when
the sender knows that recipient is on the list, breaks this.

People can safely remove *themselves* from the CC: list when the
mailing list they subscribe to are on the CC: list as well.
This would interact with the prioritizing I mentioned above, but
that is done as a choice by them as the recipient of the
replies, so there is no problem in doing so.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-16  0:30                 ` Junio C Hamano
@ 2006-12-16 17:12                   ` Steven Grimm
  2006-12-16 19:57                     ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Steven Grimm @ 2006-12-16 17:12 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Johannes Schindelin, git, Jakub Narebski

Junio C Hamano wrote:
> It's just a common courtesy, not "tackling".
>   

Interesting. I'd actually prefer people *remove* me from the CC list -- 
I find it annoying to get two copies of every message in threads I reply 
to. I'm already subscribed to the mailing list, so there's no point 
having me on the Cc line too. (Mind you, as annoyances go it's a pretty 
insignificant one.)

I can understand the case of people who aren't on the list wanting to 
get replies, but why does someone who *is* on the list want to be CCed? 
Is it just that there's no good way to tell in advance which category a 
given person falls into, so best to be on the safe side?


^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-13 21:35 Junio C Hamano
  2006-12-13 22:37 ` Andy Parkins
  2006-12-16  9:58 ` Junio C Hamano
@ 2006-12-16 13:59 ` Jakub Narebski
  2006-12-16 22:04   ` Junio C Hamano
  2 siblings, 1 reply; 262+ messages in thread
From: Jakub Narebski @ 2006-12-16 13:59 UTC (permalink / raw)
  To: git; +Cc: linux-kernel

Junio C Hamano wrote:

> Things that need to be done to complete what have been merged to
> 'master' are:

What about discussed but not implemented moving restriction on non-head refs
from git-checkout (forbidding to checkout tags, remotes, and arbitrary
commits like HEAD~n) to git-commit (allowing commiting only to heads refs)?
Probably non-heads refs should be saved in HEAD as explicit sha1 of a
commit; this way we wont run into situation where HEAD changed under us
(because it was for example to remote branch, and we fetched since).

-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git


^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-13 21:35 Junio C Hamano
  2006-12-13 22:37 ` Andy Parkins
@ 2006-12-16  9:58 ` Junio C Hamano
  2006-12-16 13:59 ` Jakub Narebski
  2 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2006-12-16  9:58 UTC (permalink / raw)
  To: git

>> I am hoping that we can start a stabilization cycle for v1.5.0
>> based on what we have in 'master'.  The theme is "usability and
>> teachability".
>> 
>> Things that need to be done to complete what have been merged to
>> 'master' are:
>> 
>>  - 'git-rm' needs to be fixed up as Linus outlined; remove
>>    working tree file and index entry but have a sanity check to
>>    make sure the working tree file match the index and HEAD.
>> 
>>  - 'git-branch' may need to be taught about renaming the
>>    matching per-branch configuration at the same time.
>> 
>>  - 'git-merge-file' needs to be documented and linked from
>>    git.txt.
>> 
>>  - 'git-clone' probably should be updated to use wild-card in
>>    remote.origin.fetch, instead of listing all the branches it
>>    found when the clone was made.
>> 
>>  - tutorials and other Porcelain documentation pages need to be
>>    updated to match the updated 'git-add' and 'git-rm' (to be
>>    updated), and their description should be made much less
>>    about implementation; they should talk in terms of end-user
>>    workflows.  I will send a draft for 'git diff' out later, but
>>    somebody needs a full sweep on Porcelain-ish documentation.
>> 
>>  - 'git diff --index' patch should be reverted (already done in
>>    'next'), although we may have to come up with a better
>>    wording for --cached.

I'm done with 2 out of the above six ("diff --index", and
"clone") and a bit of the "documentation" item so far, and will
go to bed now.  Any takers for the remaining tasks while I'll be
sleeping ;-)?





^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-15 21:55                         ` Junio C Hamano
@ 2006-12-16  2:54                           ` Shawn Pearce
  0 siblings, 0 replies; 262+ messages in thread
From: Shawn Pearce @ 2006-12-16  2:54 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Andreas Ericsson, git

Junio C Hamano <junkio@cox.net> wrote:
> Andreas Ericsson <ae@op5.se> writes:
> 
> > Shawn Pearce wrote:
> >>
> >> About the only trouble that can cause is a failed push when
> >> git-receive-pack needs to generate the reflog entry but cannot
> >> get the user's committer data because their gecos information
> >> doesn't exist.
> >
> > In that case, it would be best if it let the commit go through using
> > only the username. Reflogs are fixable afterwards, so there's no real
> > harm done.
> 
> This sounds sensible, regardless of the current discussion on
> the default 'logallrefupdates' setting.
> 
> Volunteers?

Its a good idea.  I'll do it later tonight, after dinner.

-- 

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-16  0:14               ` Johannes Schindelin
@ 2006-12-16  0:30                 ` Junio C Hamano
  2006-12-16 17:12                   ` Steven Grimm
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2006-12-16  0:30 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: git, Jakub Narebski

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

>> FWIW, I also read the list traffic through gmane news gateway.
>
> So, how do you tackle the problem Jakub evidently has, namely to reply to 
> all the people who your reply refers to?

I do not "tackle".

I just tell Gnus to follow-up, which does not always do the
right thing [*1*], and I just try to be careful and fix up To:
and Cc: fields by hand as necessary.  The time spent on that on
my part is _worth_ spending than inconveniencing others.

It's just a common courtesy, not "tackling".


[Footnote]

*1* ... most likely because I haven't configured it to do the
right thing, and/or the sender or the gateway puts a wrong
Reply-To: or Mail-Followup-To: header and it ends up honoring
them.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-15 23:45             ` Junio C Hamano
@ 2006-12-16  0:14               ` Johannes Schindelin
  2006-12-16  0:30                 ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Johannes Schindelin @ 2006-12-16  0:14 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git, Jakub Narebski

Hi,

On Fri, 15 Dec 2006, Junio C Hamano wrote:

> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> 
> > On Fri, 15 Dec 2006, Jakub Narebski wrote:
> >
> >> Junio C Hamano wrote:
> >>
> >> > (Jakub, please do not drop people from cc: list; you were asked
> >> > more than once).
> >> 
> >> The problem is that I'm not subscribed to git mailing list;
> >
> > So subscribe. I am sure I lost quite some of your responses to my emails, 
> > _just_ because you happen to kill me from the Cc: list.
> >
> > IOW if you expect answers, _please_ adher to net standards.
> 
> FWIW, I also read the list traffic through gmane news gateway.

So, how do you tackle the problem Jakub evidently has, namely to reply to 
all the people who your reply refers to?

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-15 23:25           ` Johannes Schindelin
@ 2006-12-15 23:45             ` Junio C Hamano
  2006-12-16  0:14               ` Johannes Schindelin
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2006-12-15 23:45 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: git, Jakub Narebski

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

> On Fri, 15 Dec 2006, Jakub Narebski wrote:
>
>> Junio C Hamano wrote:
>>
>> > (Jakub, please do not drop people from cc: list; you were asked
>> > more than once).
>> 
>> The problem is that I'm not subscribed to git mailing list;
>
> So subscribe. I am sure I lost quite some of your responses to my emails, 
> _just_ because you happen to kill me from the Cc: list.
>
> IOW if you expect answers, _please_ adher to net standards.

FWIW, I also read the list traffic through gmane news gateway.

I am subscribed and my mail filter drops the mails from the list
into a dedicated mailbox, but that is purely for my own backup
and I usually do not look at it otherwise.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-15 22:48         ` Jakub Narebski
  2006-12-15 23:25           ` Johannes Schindelin
@ 2006-12-15 23:42           ` Junio C Hamano
  1 sibling, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2006-12-15 23:42 UTC (permalink / raw)
  To: Jakub Narebski; +Cc: Shawn Pearce, Andy Parkins, git

Jakub Narebski <jnareb@gmail.com> writes:

> I'm just used to the way revisions are specified to other history
> viewers: git-log (via git-rev-list), gitk, qgit. git-show-branch
> is a bit odd man out here. "git-show-branch ref1 ref2 ref3"
> is (without --more=n) like 
>
>   git rev-list ref1 ref2 ref3 --not $(git merge-base ref1 ref2 ref3)
>
> Which is handy for git-show-branch, but odd.

I hate to sound harsh, but...

Then you do not understand show-branch at all.  Not having to
say the "--not merge-base" part is NOT about being handy, but is
the central part of what show-branch does.  The command is about
showing the commits that are on only some of the branches but
not on others.

Other commands you listed above are all based on rev-list logic
of painting commits in two colors (either UNINTERESTING or
~UNINTERESTING) and being able to combine the set using "A..B",
"^A B", and "A B --not C" notations all make sense.  All
combinations work as set operation -- start from union of
commits reachable from positive (i.e. not prefixed with ^) refs,
and subtract set of commits reachable from any negative ref.

What show-branch does cannot be expressed with that two-color
logic; it needs to use N colors for N input refs.  After digging
from the tips deep enough, you would find the common merge-base
and after that point it is not interesting to show anything
anymore, and that is how it stops output.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-15 22:48         ` Jakub Narebski
@ 2006-12-15 23:25           ` Johannes Schindelin
  2006-12-15 23:45             ` Junio C Hamano
  2006-12-15 23:42           ` Junio C Hamano
  1 sibling, 1 reply; 262+ messages in thread
From: Johannes Schindelin @ 2006-12-15 23:25 UTC (permalink / raw)
  To: Jakub Narebski; +Cc: Junio C Hamano, git

Hi,

On Fri, 15 Dec 2006, Jakub Narebski wrote:

> Junio C Hamano wrote:
>
> > (Jakub, please do not drop people from cc: list; you were asked
> > more than once).
> 
> The problem is that I'm not subscribed to git mailing list;

So subscribe. I am sure I lost quite some of your responses to my emails, 
_just_ because you happen to kill me from the Cc: list.

IOW if you expect answers, _please_ adher to net standards.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-15 15:30             ` Nicolas Pitre
  2006-12-15 15:48               ` Andreas Ericsson
@ 2006-12-15 23:22               ` Johannes Schindelin
  1 sibling, 0 replies; 262+ messages in thread
From: Johannes Schindelin @ 2006-12-15 23:22 UTC (permalink / raw)
  To: Nicolas Pitre; +Cc: Jakub Narebski, git

Hi,

On Fri, 15 Dec 2006, Nicolas Pitre wrote:

> On Fri, 15 Dec 2006, Jakub Narebski wrote:
> 
> > It would be nice to have some generic place in git config to specify
> > default options to git commands (at least for interactive shell). It
> > cannot be done using aliases. Perhaps defaults.<command> config variable?
> 
> I would say the alias facility has to be fixed then.
> 
> In bash you can alias "ls" to "ls -l" and it just works.

So, why not use bash aliases?

Frankly, what git aliases try to achieve is a little bit different from 
bash aliases. Bash knows exactly when a command is interactive, and has a 
clear advantage there. Git _cannot_ know.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-15 21:55               ` Junio C Hamano
@ 2006-12-15 22:54                 ` Carl Worth
  0 siblings, 0 replies; 262+ messages in thread
From: Carl Worth @ 2006-12-15 22:54 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Andy Parkins, git

[-- Attachment #1: Type: text/plain, Size: 1223 bytes --]

> The 'can of worms' is that switching to an existing branch could
> fail with conflicts.

One fix for this would be the idea I've proposed to have a new flag
for "git checkout" to 'stash' the dirty state in the current branch
before switching.

Then, there wouldn't be a problem to implement "commit -b <anybranch>"
on top of the stashing checkout.

I think the only real problem with the idea of having dirty changes
stashed in a branch is that git already allows dirty changes to be
carried while switching to a branch, (with or without -m). And doing
both of those at once would lead to an ugly new conflict situation,
(where _neither_ of the conflicted states exist as exposed tree
objects). Even if there were no conflict, it would mingle two
different sets of local modifications, and that could be unkind as it
might be hard for the user to separate them if they didn't want them
mingled.

If someone were to pursue this idea, I think it would be reasonable to
just make that case an error, "Cannot carry local modifications when
checking out a branch with stashed modifications." That message could
even suggest the user use the stash option to leave the local
modifications behind when doing the checkout.

-Carl

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-15 21:55       ` Junio C Hamano
@ 2006-12-15 22:48         ` Jakub Narebski
  2006-12-15 23:25           ` Johannes Schindelin
  2006-12-15 23:42           ` Junio C Hamano
  0 siblings, 2 replies; 262+ messages in thread
From: Jakub Narebski @ 2006-12-15 22:48 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Shawn Pearce, Andy Parkins, git

Junio C Hamano wrote:
> Jakub Narebski <jnareb@gmail.com> writes:
> 
>> Shawn Pearce wrote:
>>
>>> Andy Parkins <andyparkins@gmail.com> wrote:
>>>>  * git-show-branch output is cryptic.
>>> 
>>> Agreed.  I still don't know how to read its output.  So I just
>>> don't use it.  Ever.  :-)
>>
>> And the way it uses it's options is even more cryptic, and differs from
>> other similar commands.
> 
> (Jakub, please do not drop people from cc: list; you were asked
> more than once).

The problem is that I'm not subscribed to git mailing list; I usually
read it via GMane news<->mail interface, at
  nntp://news.gmane.org/gmane.comp.version-control.git
First, in this interface I have only the last author and not the full
Cc: list. Second, when I reply _both_ via email (adding authors if
necessary) and to news, people receiving my reply don't have (I guess)
git@vger.kernel.org in Cc: list, so sometimes the discussion drops off
the list. Third, if I add git mailing list address when replying via
mail, vger server blocks email from gmane stating

  Technical details of permanent failure:
  PERM_FAILURE: SMTP Error (state 9): 501 5.1.3 Path data: Had characters unsuitable for an rfc821-string

When email is sent _directly_ to me (i.e. I'm on Cc: list) I try
to preserve Cc: list.

> Ok, so what's the action you guys are proposing?
> 
>  (1) show-branch input is cryptic and it does not do anything
>      useful.  Drop it.
> 
>  (2) show-branch input is cryptic and I do not understand what
>      it is trying to do.  Document it better.
[...]

I'm just used to the way revisions are specified to other history
viewers: git-log (via git-rev-list), gitk, qgit. git-show-branch
is a bit odd man out here. "git-show-branch ref1 ref2 ref3"
is (without --more=n) like 

  git rev-list ref1 ref2 ref3 --not $(git merge-base ref1 ref2 ref3)

Which is handy for git-show-branch, but odd. Perhaps we should add
--xor option to git rev list for the above, i.e.

  git rev-list A...B        == 
    == git rev-list A B --not $(git merge-base A B)
  git rev-list --xor A B C  ==
    == git rev-list A B C --not $(git merge-base A B C)   
 
> Personally, I find its input branch globbing very handy, and
> often wish that 'git branch' had a '--list' option that lists
> branches that match the glob pattern given on the command line,
> not just listing everything when no parameter is given.
 
It is odd (git branch not having --list with globbing) also because
'git tag' has globbing support.

-- 
Jakub Narebski

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-15 16:16     ` Jakub Narebski
@ 2006-12-15 21:55       ` Junio C Hamano
  2006-12-15 22:48         ` Jakub Narebski
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2006-12-15 21:55 UTC (permalink / raw)
  To: Shawn Pearce; +Cc: jnareb, Andy Parkins, git

Jakub Narebski <jnareb@gmail.com> writes:

> Shawn Pearce wrote:
>
>> Andy Parkins <andyparkins@gmail.com> wrote:
>>>  * git-show-branch output is cryptic.
>> 
>> Agreed.  I still don't know how to read its output.  So I just
>> don't use it.  Ever.  :-)
>
> And the way it uses it's options is even more cryptic, and differs from
> other similar commands.

(Jakub, please do not drop people from cc: list; you were asked
more than once).

Ok, so what's the action you guys are proposing?

 (1) show-branch output is cryptic and it does not do anything
     useful.  Drop it.

 (2) show-branch output is cryptic and I do not understand what
     it is trying to do.  Document it better.

 (3) While I agree what show-branch is trying to do is useful,
     its output is useless.  Instead of showing an example
     situation like this:

	[ picture here ]

     It should show the same situation like this:

	[ improved picture here ]

 (4) None of the above.

The same question goes for its input branch specification.

Personally, I find its input branch globbing very handy, and
often wish that 'git branch' had a '--list' option that lists
branches that match the glob pattern given on the command line,
not just listing everything when no parameter is given.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-15  8:58             ` Andy Parkins
  2006-12-15  9:55               ` Raimund Bauer
@ 2006-12-15 21:55               ` Junio C Hamano
  2006-12-15 22:54                 ` Carl Worth
  1 sibling, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2006-12-15 21:55 UTC (permalink / raw)
  To: Andy Parkins; +Cc: git

Andy Parkins <andyparkins@gmail.com> writes:

> On Thursday 2006 December 14 23:46, Junio C Hamano wrote:
> ...
>> I said "commit -b <newbranch>" and deliberately avoided saying
>> "commit -b <anybranch>", because I did not want to open another
>> can of worms while we are discussing so many good things
>> already, and my head can hold only a handful topics at once.
>
> Absolutely.  I'd agree that only <newbranch> is worth even considering.

Just for the record, I do not necessarily agree.  Committing a
small and obvious change out of context to an existing branch
makes just as much sense.

After all, with the example workflow in my message you responded
to, after running the "commit -b typofix" (which creates a new
branch) to record the first typo fix, I am sure that I would
want to record the second typofix I would find while on my topic
to go to the same typofix branch I previously created.

The 'can of worms' is that switching to an existing branch could
fail with conflicts.  Although "git checkout -m" can help
sometimes, that is not something we would want to do in the
middle of doing something else on a topic.  That's why I do not
think "commit -b <anybranch>" is a good idea.

Allowing the form for only a new branch makes an inconsistency
that is hard to explain to new people, and that is why I am not
in favor of having "commit -b <newbranch>" either.



^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 21:55                       ` Andreas Ericsson
@ 2006-12-15 21:55                         ` Junio C Hamano
  2006-12-16  2:54                           ` Shawn Pearce
  0 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2006-12-15 21:55 UTC (permalink / raw)
  To: Andreas Ericsson; +Cc: git

Andreas Ericsson <ae@op5.se> writes:

> Shawn Pearce wrote:
>>
>> About the only trouble that can cause is a failed push when
>> git-receive-pack needs to generate the reflog entry but cannot
>> get the user's committer data because their gecos information
>> doesn't exist.
>
> In that case, it would be best if it let the commit go through using
> only the username. Reflogs are fixable afterwards, so there's no real
> harm done.

This sounds sensible, regardless of the current discussion on
the default 'logallrefupdates' setting.

Volunteers?

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 23:03   ` Shawn Pearce
@ 2006-12-15 16:16     ` Jakub Narebski
  2006-12-15 21:55       ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Jakub Narebski @ 2006-12-15 16:16 UTC (permalink / raw)
  To: git

Shawn Pearce wrote:

> Andy Parkins <andyparkins@gmail.com> wrote:
>>  * git-show-branch output is cryptic.
> 
> Agreed.  I still don't know how to read its output.  So I just
> don't use it.  Ever.  :-)

And the way it uses it's options is even more cryptic, and differs from
other similar commands. So I'd rather use qgit (or gitk, if gitk would
correct the error with remembering wrong window size).

-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git


^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-15 16:08                 ` Nicolas Pitre
  2006-12-15 16:12                   ` Shawn Pearce
@ 2006-12-15 16:13                   ` Andreas Ericsson
  1 sibling, 0 replies; 262+ messages in thread
From: Andreas Ericsson @ 2006-12-15 16:13 UTC (permalink / raw)
  To: Nicolas Pitre; +Cc: Jakub Narebski, git

Nicolas Pitre wrote:
> On Fri, 15 Dec 2006, Andreas Ericsson wrote:
> 
>> Nicolas Pitre wrote:
>>> On Fri, 15 Dec 2006, Jakub Narebski wrote:
>>>
>>>> It would be nice to have some generic place in git config to specify
>>>> default options to git commands (at least for interactive shell). It
>>>> cannot be done using aliases. Perhaps defaults.<command> config variable?
>>> I would say the alias facility has to be fixed then.
>>>
>>> In bash you can alias "ls" to "ls -l" and it just works.
>>>
>> I think this is because git scripts that need a certain git command to work a
>> certain way don't want some alias to kick in and destroy things for them.
>> Shell-scripts would have the same problem if you alias "awk" to "grep" f.e.,
>> which is why prudent shell-scripters use the "unalias -a" thing.
> 
> Wouldn't it be possible for aliases to be effective only when issued 
> from an interactive shell?  It is certainly true that aliases just make 
> no sense in a script.
> 

Yes, but then aliases wouldn't work in one-liners, which would be a bit 
of a shame and pretty likely to cause some "interesting" bugreports. 
Perhaps an environment variable GIT_IGNORE_ALIAS=yes that git-scripts 
can set at the beginning of execution?

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-15 16:08                 ` Nicolas Pitre
@ 2006-12-15 16:12                   ` Shawn Pearce
  2006-12-15 16:13                   ` Andreas Ericsson
  1 sibling, 0 replies; 262+ messages in thread
From: Shawn Pearce @ 2006-12-15 16:12 UTC (permalink / raw)
  To: Nicolas Pitre; +Cc: Andreas Ericsson, Jakub Narebski, git

Nicolas Pitre <nico@cam.org> wrote:
> Wouldn't it be possible for aliases to be effective only when issued 
> from an interactive shell?  It is certainly true that aliases just make 
> no sense in a script.

Probably, but on Cygwin gitk needs to use 'git foo' to invoke a
command, even if 'git-foo' exists, because 'git-foo' might be a shell
script and the Cygwin wish process cannot execute shell scripts.

Worse it cannot pass down environment variables to git commands.
So it may be a little hard to tell in the git wrapper we are being
run from within gitk (or git-gui)...

-- 

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-15 15:48               ` Andreas Ericsson
@ 2006-12-15 16:08                 ` Nicolas Pitre
  2006-12-15 16:12                   ` Shawn Pearce
  2006-12-15 16:13                   ` Andreas Ericsson
  0 siblings, 2 replies; 262+ messages in thread
From: Nicolas Pitre @ 2006-12-15 16:08 UTC (permalink / raw)
  To: Andreas Ericsson; +Cc: Jakub Narebski, git

On Fri, 15 Dec 2006, Andreas Ericsson wrote:

> Nicolas Pitre wrote:
> > On Fri, 15 Dec 2006, Jakub Narebski wrote:
> > 
> > > It would be nice to have some generic place in git config to specify
> > > default options to git commands (at least for interactive shell). It
> > > cannot be done using aliases. Perhaps defaults.<command> config variable?
> > 
> > I would say the alias facility has to be fixed then.
> > 
> > In bash you can alias "ls" to "ls -l" and it just works.
> > 
> 
> I think this is because git scripts that need a certain git command to work a
> certain way don't want some alias to kick in and destroy things for them.
> Shell-scripts would have the same problem if you alias "awk" to "grep" f.e.,
> which is why prudent shell-scripters use the "unalias -a" thing.

Wouldn't it be possible for aliases to be effective only when issued 
from an interactive shell?  It is certainly true that aliases just make 
no sense in a script.



^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-15 15:30             ` Nicolas Pitre
@ 2006-12-15 15:48               ` Andreas Ericsson
  2006-12-15 16:08                 ` Nicolas Pitre
  2006-12-15 23:22               ` Johannes Schindelin
  1 sibling, 1 reply; 262+ messages in thread
From: Andreas Ericsson @ 2006-12-15 15:48 UTC (permalink / raw)
  To: Nicolas Pitre; +Cc: Jakub Narebski, git

Nicolas Pitre wrote:
> On Fri, 15 Dec 2006, Jakub Narebski wrote:
> 
>> It would be nice to have some generic place in git config to specify
>> default options to git commands (at least for interactive shell). It
>> cannot be done using aliases. Perhaps defaults.<command> config variable?
> 
> I would say the alias facility has to be fixed then.
> 
> In bash you can alias "ls" to "ls -l" and it just works.
> 

I think this is because git scripts that need a certain git command to 
work a certain way don't want some alias to kick in and destroy things 
for them. Shell-scripts would have the same problem if you alias "awk" 
to "grep" f.e., which is why prudent shell-scripters use the "unalias 
-a" thing.

Anyways, this should be largely solvable by inventing a "--no-aliases" 
switch to the git wrapper, or by the scripts calling the programs they 
need directly which, afaik, bypasses the alias logic. If it doesn't, it 
should.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 22:50               ` Andy Parkins
@ 2006-12-15 15:38                 ` Jakub Narebski
  0 siblings, 0 replies; 262+ messages in thread
From: Jakub Narebski @ 2006-12-15 15:38 UTC (permalink / raw)
  To: git

Andy Parkins wrote:

> On Thursday 2006, December 14 21:58, Junio C Hamano wrote:
> 
>> Correct but a bad example that does not demonstrate the real
>> power of reflog.  Andy's AGGGHHHHHH can be recovered with a
>> simple:
>>
>>      $ git reset ORIG_HEAD
> 
> HAHA!  I knew reading this mailing list would pay off.
> 
> It amazes me that there is always an answer.  It's almost becoming a 
> pantomime - I say "well git can't do this", and you say "oh yes it can".

And it is mentioned in git-reset(1), although:

 * it would be nice to have example with ORIG_HEAD about how
   to recover from bad (wrong) git reset in EXAMPLES section.

 * it would be nice to mention that the first example can
   be now done with simply "edit; git commit -a --amend"
   instead of "git reset --soft HEAD^; edit; git commit -a -c ORIG_HEAD"
   (which can fail for merges).

-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git


^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-15 15:26           ` Jakub Narebski
@ 2006-12-15 15:30             ` Nicolas Pitre
  2006-12-15 15:48               ` Andreas Ericsson
  2006-12-15 23:22               ` Johannes Schindelin
  0 siblings, 2 replies; 262+ messages in thread
From: Nicolas Pitre @ 2006-12-15 15:30 UTC (permalink / raw)
  To: Jakub Narebski; +Cc: git

On Fri, 15 Dec 2006, Jakub Narebski wrote:

> It would be nice to have some generic place in git config to specify
> default options to git commands (at least for interactive shell). It
> cannot be done using aliases. Perhaps defaults.<command> config variable?

I would say the alias facility has to be fixed then.

In bash you can alias "ls" to "ls -l" and it just works.



^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 11:36         ` Andy Parkins
  2006-12-14 11:45           ` Shawn Pearce
@ 2006-12-15 15:26           ` Jakub Narebski
  2006-12-15 15:30             ` Nicolas Pitre
  1 sibling, 1 reply; 262+ messages in thread
From: Jakub Narebski @ 2006-12-15 15:26 UTC (permalink / raw)
  To: git

Andy Parkins wrote:

By the way, could you use slightly smaller number of columns? TIA.

> On Thursday 2006 December 14 10:21, Junio C Hamano wrote:

>> But you never communicate with your own git repository using the
>> SHA-1 object names when talking about commits you made recently
> 
> How's this then:
> 
> $ git commit
> $ git commit
> $ git commit
> $ git reset HEAD^^^
> 
> "AGGGHHHHHH!  I meant HEAD^^"
> 
> At this point I start running "git-prune -n | grep commit" and some liberal 
> use of git-show to try and find the hash of the object so I can do
> 
> $ git reset --hard HASH_OF_OBJECT_I_STUPIDLY_ORPHANED

That is what reflog is for. By the way, is core.logAllRefUpdates set
to "true" (or "heads") by default now?

Although I'm not against

  $ git commit -v
  Revision XXXXXXXXXXXXXXXXXX successfully added.
 
Notice -v/-verbose option.

>> So I do not think "git commit" is a valid example.  I also agree
>> with Shawn that "git add" that says 6781 files were added is
>> pointless.
> 
> Okay.

And git-add has -v option (although not --verbose).

>>> I've always thought that programs that needed an expert/beginner split
>>> were badly designed.
>>
>> There probably is a truth in that.  Let's not add verbosity
>> unnecessarily.
> 
> My habit is always to be overly verbose in program output; however, I realise 
> that not everybody likes that.  None of these things cause me any difficulty 
> in my use of git.  However, my Dad also is an engineer, but he's not so 
> comfortable with VCS; for him almost every part of git is a mystery.  
> Commands that run and don't say anything are confusing because he didn't 
> really know what they were /meant/ to do; he's just got a set of recipes that 
> he knows to type.  He's probably an extreme case, and not a good model for 
> typical user - on the other hand, I would say that if he can use it, then it 
> is officially newbie-friendly. :-)

It would be nice to have some generic place in git config to specify
default options to git commands (at least for interactive shell). It
cannot be done using aliases. Perhaps defaults.<command> config variable?

-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git


^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14  8:28     ` Andreas Ericsson
@ 2006-12-15 14:39       ` Jakub Narebski
  0 siblings, 0 replies; 262+ messages in thread
From: Jakub Narebski @ 2006-12-15 14:39 UTC (permalink / raw)
  To: git

Andreas Ericsson wrote:
> Junio C Hamano wrote:
>> Andy Parkins <andyparkins@gmail.com> writes:
>> 
>>>  * git-add has no output, whether it works or not
>> 
>> "git add no-such-file" complains, and I think that is adequate.
>> Now with Nico's 'add means adding contents, not path' change is
>> in, we _might_ want to differentiate adding a path that was
>> untracked before and updating the contents, but I think this
>> again falls into "doing exactly as told" category.
>> 
> 
> Well, it should really let the user know if it fails. I for one would 
> like to know that. I wasn't aware of the fact that it was silent even in 
> those situations (perhaps because I've never run across it).
> 
> The errors that need to be reported are, afaics:
> Content in 'path/to/file' is ignored according to path/to/.gitignore.

This is not an error, just a warning. Sometimes user want's to add a file
which is otherwise ignored (e.g. due to glob), sometimes user adds ignored
file by mistake.
-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git


^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 17:06         ` Nicolas Pitre
@ 2006-12-15 14:28           ` Jakub Narebski
  0 siblings, 0 replies; 262+ messages in thread
From: Jakub Narebski @ 2006-12-15 14:28 UTC (permalink / raw)
  To: git

Nicolas Pitre wrote:

> On Thu, 14 Dec 2006, Shawn Pearce wrote:
> 
>> But I'm not sure that git-add should output anything.  Last I checked
>> the 'mv' command in Linux doesn't say "Move 5 files" when I move 5
>> files into a directory.  Likewise I don't think that knowing that
>> 6781 files were added is useful, what if it should have really been
>> 6782 files?  I'm unlikely to know, care, or realize it.
> 
> git-add -v does output added files already.

Ha! Now only get it to accept --verbose as long alternative to -v option,
and add -v/--verbose option to other similar commands (git-mv for example).

-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git


^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 23:52     ` Horst H. von Brand
@ 2006-12-15 10:53       ` Jakub Narebski
  0 siblings, 0 replies; 262+ messages in thread
From: Jakub Narebski @ 2006-12-15 10:53 UTC (permalink / raw)
  To: git

Horst H. von Brand wrote:

>> Perhaps under "[user] expert" control.
> 
> Nope. You'd be surprised what kind of people consider themselves
> "experts"... I'd prefer adding -v/--verbose flags to all commands (if
> nothing else, for symmetry's sake), have a '[default] --verbose' controlling
> this across the board (perhaps also '[default "command"] --verbose'), with
> '[default]' setting default switches.

Nice idea... but configuration variables have to have name.
So it would be 

  $ git repo-config defaults.command --verbose

resulting in

  [defaults]
        command = --verbose
-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git


^ permalink raw reply	[flat|nested] 262+ messages in thread

* RE: What's in git.git (stable)
  2006-12-15  8:58             ` Andy Parkins
@ 2006-12-15  9:55               ` Raimund Bauer
  2006-12-15 21:55               ` Junio C Hamano
  1 sibling, 0 replies; 262+ messages in thread
From: Raimund Bauer @ 2006-12-15  9:55 UTC (permalink / raw)
  To: 'Andy Parkins', git

> Yep.  Although you've persuaded me with the above example, I 
> think this is the 
> correct path.  It's not wise to add every bell and whistle 
> just because we 
> can.  As long as there is /a/ way to achieve every task, 
> that's good enough, 
> we don't need every way to achieve every task.  We might even 
> argue that 
> git's flexibility is what makes it harder to learn.  It's 
> similar to UNIX in 
> that respect - hard to learn, easy to use.

So we prefer to tell users "You can do what you want with these 3 commands,
since we don't want to confuse use with another option to do it with just
1"?

> Andy

-- 
best regards

  Ray

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 23:46           ` Junio C Hamano
@ 2006-12-15  8:58             ` Andy Parkins
  2006-12-15  9:55               ` Raimund Bauer
  2006-12-15 21:55               ` Junio C Hamano
  0 siblings, 2 replies; 262+ messages in thread
From: Andy Parkins @ 2006-12-15  8:58 UTC (permalink / raw)
  To: git

On Thursday 2006 December 14 23:46, Junio C Hamano wrote:

> > There truly is something wrong with me.
>
> I did not mean it that way.  I only took it as a sign that maybe

Don't worry; I've got thicker skin than that.  I was simply amazed at my lack 
of comprehension ability. :-)

> > I'm not sure about your "commit -b"; is it wise to have /another/ way of
> > making a branch?  I mean - I'm clearly confused enough, have a heart :-)
>
> I said "commit -b <newbranch>" and deliberately avoided saying
> "commit -b <anybranch>", because I did not want to open another
> can of worms while we are discussing so many good things
> already, and my head can hold only a handful topics at once.

Absolutely.  I'd agree that only <newbranch> is worth even considering.

>  * While working on it, I find an obvious bug that I would not
>    want to fix on the branch (the topic branch I am currently on
>    is not about fixing that bug).

I find myself swayed by this.  This is indeed something that happens to me a 
lot.  In certain circumstances I've been defeated by git because I couldn't 
switch to the other branch to make that quick commit because my local changes 
conflicted with that other branch.  The solution I use is to commit the bug 
fix in the wrong branch, finish my current on-topic commit then 
rebase/reset/etc to put everything where it should be.

> I do agree that it adds one more way to do the same thing and
> would make the documentation noisier, potentially adding more to
> the confusion.  So let's not go there.

Yep.  Although you've persuaded me with the above example, I think this is the 
correct path.  It's not wise to add every bell and whistle just because we 
can.  As long as there is /a/ way to achieve every task, that's good enough, 
we don't need every way to achieve every task.  We might even argue that 
git's flexibility is what makes it harder to learn.  It's similar to UNIX in 
that respect - hard to learn, easy to use.


Andy

-- 
Dr Andy Parkins, M Eng (hons), MIEE

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 10:21       ` Junio C Hamano
  2006-12-14 11:36         ` Andy Parkins
@ 2006-12-15  4:07         ` Nicolas Pitre
  1 sibling, 0 replies; 262+ messages in thread
From: Nicolas Pitre @ 2006-12-15  4:07 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Andy Parkins, git

On Thu, 14 Dec 2006, Junio C Hamano wrote:

> Andy Parkins <andyparkins@gmail.com> writes:
> 
> > $ git commit
> > Revision XXXXXXXXXXXXXXXXXX successfully added.
> >
> > I'd actually argue that git-commit is a particular problem because it's too 
> > fast.  You quit editing your commit message and bang, you're back at the 
> > command line.  Then you run git-log to make sure it really was committed.
> 
> You keep repeating that you want to know the object name of the
> newly created commit.  I would very strongly agree with you that
> it would be a fatal UI bug of git-commit if that information
> were vital for the end user after making each commit.

I think this is not the point.

Of course the name of the newly created commit isn't _that_ important.

But so is the "Committing initial tree 5220388..." message.

And in the commit case, you are left with a blank screen and just a 
shell prompt after you quit the text editor for the log message, which 
is a bit worrisome.  My initial reflex is not to think "ah it just did 
what I asked it" but rather "hmmm has it just crashed on me?"

Having a single line of feedback when a commit has completed would not 
be overly verbose and remove that impression of committing into a 
void I'd think.

Note that, as I said in another thread, I'm really not advocating for 
git-add to do the same.  The git-add is a relatively simple and 
lightweight operation that has not the same impact as a commit has 
_conceptually_.  It doesn't clear the screen for one thing so just 
returning to the shell prompt (unless -v is used) is plenty sufficient.

I'm following up with a patch to implement what I think should be done.



^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-15  0:15         ` Horst H. von Brand
@ 2006-12-15  0:23           ` Johannes Schindelin
  0 siblings, 0 replies; 262+ messages in thread
From: Johannes Schindelin @ 2006-12-15  0:23 UTC (permalink / raw)
  To: Horst H. von Brand; +Cc: Andy Parkins, git

Hi,

On Thu, 14 Dec 2006, Horst H. von Brand wrote:

> Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> > On Thu, 14 Dec 2006, Andy Parkins wrote:
> 
> [...]
> 
> > > "newbie" doesn't mean "idiot".  Everybody wants to understand what is 
> > > going on.
> 
> > I heartly disagree. I saw so many faces _begging_ me to just say _what_ to 
> > do, not _why_, and quickly, please.
> 
> So? This is meant to be a /tool/. Not wanting to know how it works doesn't
> make one an idiot, it is just economy.

My thoughts exactly.

And I did not want to force understanding onto the users. Heck, I even 
know people who use git and do not know about the index! They don't need 
to, either.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 10:51       ` Johannes Schindelin
  2006-12-14 11:23         ` Andy Parkins
@ 2006-12-15  0:15         ` Horst H. von Brand
  2006-12-15  0:23           ` Johannes Schindelin
  1 sibling, 1 reply; 262+ messages in thread
From: Horst H. von Brand @ 2006-12-15  0:15 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Andy Parkins, git

Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> On Thu, 14 Dec 2006, Andy Parkins wrote:

[...]

> > "newbie" doesn't mean "idiot".  Everybody wants to understand what is 
> > going on.

> I heartly disagree. I saw so many faces _begging_ me to just say _what_ to 
> do, not _why_, and quickly, please.

So? This is meant to be a /tool/. Not wanting to know how it works doesn't
make one an idiot, it is just economy.
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                    Fono: +56 32 2654431
Universidad Tecnica Federico Santa Maria             +56 32 2654239

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 22:55         ` Andy Parkins
  2006-12-14 23:46           ` Junio C Hamano
@ 2006-12-14 23:53           ` Johannes Schindelin
  1 sibling, 0 replies; 262+ messages in thread
From: Johannes Schindelin @ 2006-12-14 23:53 UTC (permalink / raw)
  To: Andy Parkins; +Cc: git

Hi,

On Thu, 14 Dec 2006, Andy Parkins wrote:

> On Thursday 2006, December 14 21:22, Junio C Hamano wrote:
> 
> > This is interesting.  You said "commit -b", were pointed out
> > that you were talking about "checkout -b", and just after saying
> > "yup, that is right, I was", you again say "commit -b".
> 
> There truly is something wrong with me.  Is there some sort of record 
> for number of mistakes made in one thread?  Have I won yet?

Honestly, I do not see anything you have done wrong. After all, a good 
idea came from it.

> I'm not sure about your "commit -b"; is it wise to have /another/ way of 
> making a branch?  I mean - I'm clearly confused enough, have a heart :-)

I actually would _love_ that feature. Yeah, it's possible with existing 
git commands, but it would be _convenient_.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-13 23:31   ` Junio C Hamano
                       ` (3 preceding siblings ...)
  2006-12-14  9:59     ` Andy Parkins
@ 2006-12-14 23:52     ` Horst H. von Brand
  2006-12-15 10:53       ` Jakub Narebski
  4 siblings, 1 reply; 262+ messages in thread
From: Horst H. von Brand @ 2006-12-14 23:52 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Andy Parkins, git

Junio C Hamano <junkio@cox.net> wrote:

[...]

> In general the principle ought to be not to say anything if the
> command does exactly what it was told to do successfully, unless
> the operation is expected to take longer than other normal
> commands in the git suite, or something that is rarely used.

Nodz. Just hoary Unix tradition.

> Perhaps under "[user] expert" control.

Nope. You'd be surprised what kind of people consider themselves
"experts"... I'd prefer adding -v/--verbose flags to all commands (if
nothing else, for symmetry's sake), have a '[default] --verbose' controlling
this across the board (perhaps also '[default "command"] --verbose'), with
'[default]' setting default switches.
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                    Fono: +56 32 2654431
Universidad Tecnica Federico Santa Maria             +56 32 2654239
Casilla 110-V, Valparaiso, Chile               Fax:  +56 32 2797513

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 22:55         ` Andy Parkins
@ 2006-12-14 23:46           ` Junio C Hamano
  2006-12-15  8:58             ` Andy Parkins
  2006-12-14 23:53           ` Johannes Schindelin
  1 sibling, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2006-12-14 23:46 UTC (permalink / raw)
  To: Andy Parkins; +Cc: git

Andy Parkins <andyparkins@gmail.com> writes:

> On Thursday 2006, December 14 21:22, Junio C Hamano wrote:
>
>> This is interesting.  You said "commit -b", were pointed out
>> that you were talking about "checkout -b", and just after saying
>> "yup, that is right, I was", you again say "commit -b".
>
> There truly is something wrong with me.

I did not mean it that way.  I only took it as a sign that maybe
"first create and switch to a branch and then work and commit
there, in separate steps", which is how git encourages things to
be done, does not match people's mental model so well.

> I'm not sure about your "commit -b"; is it wise to have /another/ way of 
> making a branch?  I mean - I'm clearly confused enough, have a heart :-)

I said "commit -b <newbranch>" and deliberately avoided saying
"commit -b <anybranch>", because I did not want to open another
can of worms while we are discussing so many good things
already, and my head can hold only a handful topics at once.

But people on the list (and #git channel) sometimes wished an
easy way to help the following workflow.

 * I am in the middle of working on a new feature.  As a good
   git user, I am on a topic branch dedicated for that purpose.

 * While working on it, I find an obvious bug that I would not
   want to fix on the branch (the topic branch I am currently on
   is not about fixing that bug).

 * But I fix it in the working tree anyway, because otherwise I
   would forget.  It happens to be in an isolated file that my
   current topic does not need to modify (say, I was looking at
   a function in that file that my new feature needs to call and
   I wanted to study its calling convention. And I found a typo in
   the comment near the function).

 * The fix does not belong to the current topic, but can go to
   the 'master' branch straight.  It's a fix in the comment that
   cannot possibly break things, and I can/will test it later
   anyway.

 * So with the existing set of tools, I would go there, commit
   and then come back:

	$ git checkout [-m] master
        $ git commit -m 'fix typo in that-file' that-file
        $ git checkout [-m] topic

   But it might be faster to say:

   	$ git commit -b master -m 'fix typo in that-file' that-file

   to make a commit on the other branch and come back
   immediately afterwards.

 * In the same situation, when the 'master' is closed for some
   administrative reason (e.g. "deep freeze before a release and
   strict bugfixes and nothing else are allowed"), I would create
   a new 'typofix' branch and do the same.  I can rebase it
   later on 'master' when it reopens.

	$ git commit -b typofix -m 'fix typo in that-file' that-file

	... much later when master reopens ...
        $ git rebase --onto master topic typofix

It's just a possible typesaver, but I am likely not using it
myself (my fingers are already trained to do the three command
sequence dance).

I do agree that it adds one more way to do the same thing and
would make the documentation noisier, potentially adding more to
the confusion.  So let's not go there.


^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-13 22:37 ` Andy Parkins
                     ` (2 preceding siblings ...)
  2006-12-14  0:22   ` Johannes Schindelin
@ 2006-12-14 23:03   ` Shawn Pearce
  2006-12-15 16:16     ` Jakub Narebski
  3 siblings, 1 reply; 262+ messages in thread
From: Shawn Pearce @ 2006-12-14 23:03 UTC (permalink / raw)
  To: Andy Parkins; +Cc: git, Junio C Hamano

Andy Parkins <andyparkins@gmail.com> wrote:
>  * git-show-branch output is cryptic.

Agreed.  I still don't know how to read its output.  So I just
don't use it.  Ever.  :-)

-- 

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 21:22       ` Junio C Hamano
@ 2006-12-14 22:55         ` Andy Parkins
  2006-12-14 23:46           ` Junio C Hamano
  2006-12-14 23:53           ` Johannes Schindelin
  0 siblings, 2 replies; 262+ messages in thread
From: Andy Parkins @ 2006-12-14 22:55 UTC (permalink / raw)
  To: git

On Thursday 2006, December 14 21:22, Junio C Hamano wrote:

> This is interesting.  You said "commit -b", were pointed out
> that you were talking about "checkout -b", and just after saying
> "yup, that is right, I was", you again say "commit -b".

There truly is something wrong with me.  Is there some sort of record for 
number of mistakes made in one thread?  Have I won yet?

I'm not sure about your "commit -b"; is it wise to have /another/ way of 
making a branch?  I mean - I'm clearly confused enough, have a heart :-)


Andy

-- 
Dr Andrew Parkins, M Eng (Hons), AMIEE

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 21:58             ` Junio C Hamano
@ 2006-12-14 22:50               ` Andy Parkins
  2006-12-15 15:38                 ` Jakub Narebski
  0 siblings, 1 reply; 262+ messages in thread
From: Andy Parkins @ 2006-12-14 22:50 UTC (permalink / raw)
  To: git

On Thursday 2006, December 14 21:58, Junio C Hamano wrote:

> Correct but a bad example that does not demonstrate the real
> power of reflog.  Andy's AGGGHHHHHH can be recovered with a
> simple:
>
> 	$ git reset ORIG_HEAD

HAHA!  I knew reading this mailing list would pay off.

It amazes me that there is always an answer.  It's almost becoming a 
pantomime - I say "well git can't do this", and you say "oh yes it can".


Andy

-- 
Dr Andrew Parkins, M Eng (Hons), AMIEE

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 20:35                       ` Junio C Hamano
@ 2006-12-14 22:44                         ` Shawn Pearce
  0 siblings, 0 replies; 262+ messages in thread
From: Shawn Pearce @ 2006-12-14 22:44 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Junio C Hamano <junkio@cox.net> wrote:
> Maybe a check to say if $GIT_DIR is ".git" or ends with "/.git"
> then enable it and otherwise honor the configuration variable,
> without changing the default in the code (with your patch) nor
> in the default configuration ("enable for new repositories" as I
> suggested) might be a workable compromise.

See my latest patch.  Though that patch also sets the value in the
config file, much as core.filemode is also set in the config file,
based on the guess determined by init-db at the time it was executed.

-- 

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 11:45           ` Shawn Pearce
  2006-12-14 11:58             ` Carl Worth
  2006-12-14 17:47             ` Nicolas Pitre
@ 2006-12-14 21:58             ` Junio C Hamano
  2006-12-14 22:50               ` Andy Parkins
  2 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2006-12-14 21:58 UTC (permalink / raw)
  To: Shawn Pearce; +Cc: git, Andy Parkins

Shawn Pearce <spearce@spearce.org> writes:

> Andy Parkins <andyparkins@gmail.com> wrote:
>> How's this then:
>> 
>> $ git commit
>> $ git commit
>> $ git commit
>> $ git reset HEAD^^^
>> 
>> "AGGGHHHHHH!  I meant HEAD^^"
>> 
>> At this point I start running "git-prune -n | grep commit" and some liberal 
>> use of git-show to try and find the hash of the object so I can do
>
> At this point I usually try to politely suggest that users do:
>
>   git repo-config --global core.logAllRefUpdates true
>
> and in the future do something like:
>
>> $ git commit         # {4}
>> $ git commit         # {3}
>> $ git commit         # {2}
>> $ git reset HEAD^^^  # {1}
>> 
>> "AGGGHHHHHH!  I meant HEAD^^"
>
>   $ git reset HEAD@{4}
>
> should give you what
>
>   $ git reset HEAD^^
>
> would have given had you not added the extra ^.  :-)

Correct but a bad example that does not demonstrate the real
power of reflog.  Andy's AGGGHHHHHH can be recovered with a
simple:

	$ git reset ORIG_HEAD

The real beauty of reflog is that you can usually count number
of commands (not just commit) the way you did and recover with
the @{n} syntax.  With one caveat -- a porcelain might implement
what it does as more than one transaction on the ref, in which
case counting commands does not help.  You need to first make
sure the value of n in @{n} you thought is appropriate is really
the one you want; you would always run "git show -s HEAD@{4}"
before doing the recovering reset in practice, in other words.

And it is not very easy to view where ref was in each step with
existing set of tools.

Not until the attached patch, which was very lightly tested.
You would use it like this:

    $ git-show-branch --reflog next
    ! [next@{0}] Merge branch 'js/show' into next
     ! [next@{1}] Merge branch 'jc/cdup' into next
      ! [next@{2}] Merge branch 'master' into next
       ! [next@{3}] Merge branch 'jc/cdup' into next
    ----
    -    [next@{0}] Merge branch 'js/show' into next
    +    [next@{0}^2] git-show: grok blobs, trees and tags, too
    --   [next@{1}] Merge branch 'jc/cdup' into next
    ++   [next@{1}^2] git-reset [--mixed] <tree> [--] <paths>...
    ++   [next@{1}^2^] git-reset: make it work from within a subdirectory.
    ++   [next@{1}^2~2] git-fetch: make it work from within a subdirectory.
    ++   [next@{0}^2^] INSTALL: no need to have GNU diff installed
    --   [next@{0}^2~2] Merge branch 'maint'
    ++   [next@{0}^2~2^2] Bypass expensive content comparsion during...
       - [next@{3}] Merge branch 'jc/cdup' into next
       + [next@{3}^2] git-reset [--mixed] <tree> [--] <paths>...
       + [next@{3}^2^] git-reset: make it work from within a subdirectory.
       + [next@{3}^2~2] git-fetch: make it work from within a subdirectory.
       + [next@{3}^2~3] Bypass expensive content comparsion during re...
    ++ + [next@{0}^2~3] Update git-diff documentation
    -- - [next@{0}^2~4] Merge branch 'jc/diff--cached'
    ++ + [next@{0}^2~5] git-svn: allow both diff.color and color.diff
    ++ + [next@{0}^2~6] repacked packs should be read-only
    ---- [next@{2}] Merge branch 'master' into next

This shows the actual reflog from the 'next' branch on my
primary repository.  It shows that I did a merge of jc/cdup
branch into 'next' to run tests at next@{3}, but later rewound
that merge at next@{2} and merged the rebased jc/cdup again
later at next@{1} [*1*].  


[Footnote]

*1* Of course, I did all of the above rewinding and rebasing
before pushing the result out, so the general public do not have
to worry about rewinding and rebasing.


---

diff --git a/builtin-show-branch.c b/builtin-show-branch.c
index fb1a400..559bb18 100644
--- a/builtin-show-branch.c
+++ b/builtin-show-branch.c
@@ -6,7 +6,7 @@
 #include "builtin.h"
 
 static const char show_branch_usage[] =
-"git-show-branch [--sparse] [--current] [--all] [--heads] [--tags] [--topo-order] [--more=count | --list | --independent | --merge-base ] [--topics] [<refs>...]";
+"git-show-branch [--sparse] [--current] [--all] [--heads] [--tags] [--topo-order] [--more=count | --list | --independent | --merge-base ] [--topics] [<refs>...] | --reflog[=n] <branch>";
 
 static int default_num;
 static int default_alloc;
@@ -17,6 +17,8 @@ static const char **default_arg;
 #define REV_SHIFT	 2
 #define MAX_REVS	(FLAG_BITS - REV_SHIFT) /* should not exceed bits_per_int - REV_SHIFT */
 
+#define DEFAULT_REFLOG	4
+
 static struct commit *interesting(struct commit_list *list)
 {
 	while (list) {
@@ -570,6 +572,7 @@ int cmd_show_branch(int ac, const char **av, const char *prefix)
 	int head_at = -1;
 	int topics = 0;
 	int dense = 1;
+	int reflog = 0;
 
 	git_config(git_show_branch_config);
 
@@ -615,6 +618,15 @@ int cmd_show_branch(int ac, const char **av, const char *prefix)
 			dense = 0;
 		else if (!strcmp(arg, "--date-order"))
 			lifo = 0;
+		else if (!strcmp(arg, "--reflog")) {
+			reflog = DEFAULT_REFLOG;
+		}
+		else if (!strncmp(arg, "--reflog=", 9)) {
+			char *end;
+			reflog = strtoul(arg + 9, &end, 10);
+			if (*end != '\0')
+				die("unrecognized reflog count '%s'", arg + 9);
+		}
 		else
 			usage(show_branch_usage);
 		ac--; av++;
@@ -622,7 +634,7 @@ int cmd_show_branch(int ac, const char **av, const char *prefix)
 	ac--; av++;
 
 	/* Only one of these is allowed */
-	if (1 < independent + merge_base + (extra != 0))
+	if (1 < independent + merge_base + (extra != 0) + (!!reflog))
 		usage(show_branch_usage);
 
 	/* If nothing is specified, show all branches by default */
@@ -631,9 +643,22 @@ int cmd_show_branch(int ac, const char **av, const char *prefix)
 
 	if (all_heads + all_tags)
 		snarf_refs(all_heads, all_tags);
-	while (0 < ac) {
-		append_one_rev(*av);
-		ac--; av++;
+	if (reflog) {
+		int reflen;
+		if (!ac)
+			die("--reflog option needs one branch name");
+		reflen = strlen(*av);
+		for (i = 0; i < reflog; i++) {
+			char *name = xmalloc(reflen + 20);
+			sprintf(name, "%s@{%d}", *av, i);
+			append_one_rev(name);
+		}
+	}
+	else {
+		while (0 < ac) {
+			append_one_rev(*av);
+			ac--; av++;
+		}
 	}
 
 	head_p = resolve_ref("HEAD", head_sha1, 1, NULL);





^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 20:02                     ` Shawn Pearce
  2006-12-14 20:22                       ` Nicolas Pitre
  2006-12-14 20:35                       ` Junio C Hamano
@ 2006-12-14 21:55                       ` Andreas Ericsson
  2006-12-15 21:55                         ` Junio C Hamano
  2 siblings, 1 reply; 262+ messages in thread
From: Andreas Ericsson @ 2006-12-14 21:55 UTC (permalink / raw)
  To: Shawn Pearce; +Cc: Junio C Hamano, Nicolas Pitre, git

Shawn Pearce wrote:
> 
> About the only trouble that can cause is a failed push when
> git-receive-pack needs to generate the reflog entry but cannot
> get the user's committer data because their gecos information
> doesn't exist.
> 

In that case, it would be best if it let the commit go through using 
only the username. Reflogs are fixable afterwards, so there's no real 
harm done.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14  9:59     ` Andy Parkins
  2006-12-14 10:21       ` Junio C Hamano
@ 2006-12-14 21:22       ` Junio C Hamano
  2006-12-14 22:55         ` Andy Parkins
  1 sibling, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2006-12-14 21:22 UTC (permalink / raw)
  To: Andy Parkins; +Cc: git

Andy Parkins <andyparkins@gmail.com> writes:

>> >  Tell them if they
>> >  made a branch as well, which branch they are now on.
>>
>> I think you are talking about "checkout -b" not commit here;
>> this might be a borderline (branch creation is less often done
>> and it might warrant assuring feedback), but I think it still
>> falls into the "doing exactly what it was told to do" category.
>
> You're right, I was.  The reason I think feedback is useful is
> because of the two ways of making a new branch:
>
>  - git-branch XYZ
>    This makes a new branch but DOESN'T leave me on XYZ
>  - git-commit -b XYZ
>    This makes a new branch and switches to XYZ
>
> I can't tell you the number of times I get this wrong.  It's not because I 
> don't know if I stop to think, it's because I'm thinking about the project, 
> not the VCS.

This is interesting.  You said "commit -b", were pointed out
that you were talking about "checkout -b", and just after saying
"yup, that is right, I was", you again say "commit -b".

Maybe the users often need this sequence (I personally don't,
but others might):

	$ git checkout ;# or the previous day ended with a clean state
	$ edit edit hack
        $ git checkout -b XYZ ;# the changes are about different stuff
        $ git commit ;# commit the changes there
        $ git checkout master ;# or whatever branch you usually are on

and "git commit -b <newbranch>" might be a handy shortcut for
the last three commands.  I dunno.

And if we had such a variant of commit, then it is doing
something unusual, so I would not oppose (actually I would
probably favor) if the transcript went something like this:

	$ git commit -b XYZ -m "implement 'foo' subcommand" -a
	committed changes to newly created branch XYZ, back on 'master'.
	$ git show-branch master XYZ
        * [master] finishing touches to 'hello world'
         ! [XYZ] implement foo subcommand
        --
         + [XYZ] implement foo subcommand
        -- [master] finishing touches to 'hello world'
	$ exit

Earlier I said that the command should be silent if it did
exactly what it was told to do with some 'unless'es.

 * If the command fails, we should report (no question).

 * If the command succeeds the usual way, staying silent is
   preferable, at least to me.

 * If the command can have more than one mode of successful
   outcome, stating success in which way is not a useless
   verbosity.  E.g. 'git merge' should probably tell you if it
   did a usual three-way or a fast-forward (if the difference
   matters).  Especially reporting an unusual case a bit more
   verbosely than usual is a good thing.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 17:23       ` Nicolas Pitre
@ 2006-12-14 21:02         ` Andy Parkins
  0 siblings, 0 replies; 262+ messages in thread
From: Andy Parkins @ 2006-12-14 21:02 UTC (permalink / raw)
  To: git

On Thursday 2006, December 14 17:23, Nicolas Pitre wrote:

> Well, people are used to say they've "reverted" a change.  Although the
> command might appear slightly misnamed wrt its operation, it still does
> what most people are expecting from such a name.

Actually , not only is git-revert misnamed, it doesn't match up with most 
other SCMs.

"svn revert" is git-reset.
"bzr revert" is git-reset.
"darcs revert" is git-reset.
"hg revert" is git-reset.
"svk revert" is git-reset.
"monotone revert" is git-reset.

Most people must surely be expecting it to do what it does in every other SCM; 
as it doesn't my argument is that we should just drop the name "revert" and 
call it git-invert instead, which is more accurately named and doesn't 
conflict with the standard meaning.


Andy
-- 
Dr Andrew Parkins, M Eng (Hons), AMIEE

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 20:17                     ` Nicolas Pitre
@ 2006-12-14 20:50                       ` Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2006-12-14 20:50 UTC (permalink / raw)
  To: Nicolas Pitre; +Cc: git, Shawn Pearce

Nicolas Pitre <nico@cam.org> writes:

>> That changes what the command does to existing repositories,
>> which is somewhat impolite.
>
> You must be kidding, aren't you?

I am dead serious.  I do not have _any_ issue on existing
repositories with a working tree, but I care deeply about public
distribution points.  See my other message.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 20:02                     ` Shawn Pearce
  2006-12-14 20:22                       ` Nicolas Pitre
@ 2006-12-14 20:35                       ` Junio C Hamano
  2006-12-14 22:44                         ` Shawn Pearce
  2006-12-14 21:55                       ` Andreas Ericsson
  2 siblings, 1 reply; 262+ messages in thread
From: Junio C Hamano @ 2006-12-14 20:35 UTC (permalink / raw)
  To: Shawn Pearce; +Cc: git

Shawn Pearce <spearce@spearce.org> writes:

> Does anyone on the mailing list really have an objection to having
> reflogs on by default?

When you talk about potential breakage for existing users, you
should not be asking people on THIS list.  You instead should
talk with or at least think about people on linux-kernel, x.org
and wine people, and possibly others.  git is maturing, and we
cannot expect that most of the users are paying attention to
what is happening on this list anymore.

I 100% agree that it makes sense to have reflog enabled for a
repository with an associated worktree.  I would say that we do
not even need it to be conditional on the configuration variable
for such a repository.

My answer to your question is:

	kernel.org:/pub/scm/

I would REALLY be worried to have reflog enabled at a public
distribution point where the only ways the owners interact with
it daily are 'git push' and 'git pull'.  As you mentioned, there
is one extra potential receive-pack failure, and in general it
is one more thing that can go wrong, and hard to notice breakage
because it is on the other side of the connection.

Worse yet, there is no easy way to garbage collect.  Even in an
end-user repository with a worktree, the only way to garbage
collect older reflog entries is to edit the reflog files to
remove the top part.

Maybe a check to say if $GIT_DIR is ".git" or ends with "/.git"
then enable it and otherwise honor the configuration variable,
without changing the default in the code (with your patch) nor
in the default configuration ("enable for new repositories" as I
suggested) might be a workable compromise.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 20:02                     ` Shawn Pearce
@ 2006-12-14 20:22                       ` Nicolas Pitre
  2006-12-14 20:35                       ` Junio C Hamano
  2006-12-14 21:55                       ` Andreas Ericsson
  2 siblings, 0 replies; 262+ messages in thread
From: Nicolas Pitre @ 2006-12-14 20:22 UTC (permalink / raw)
  To: Shawn Pearce; +Cc: Junio C Hamano, git

On Thu, 14 Dec 2006, Shawn Pearce wrote:

> Junio C Hamano <junkio@cox.net> wrote:
> > That changes what the command does to existing repositories,
> > which is somewhat impolite.
> 
> Yes, but users are forgetting to enable them.  They will work in
> a new repository having that feature, move to an older one and not
> have it, but expect it to be there.

I concur entirely.

> > I am not opposed too much to an updated version of the tool that
> > sets the configuration on by default for newly created
> > repositories, though.
> 
> I almost did that in my patch - but decided against it for the
> reason I just noted above.
> 
> Does anyone on the mailing list really have an objection to having
> reflogs on by default?

I certainly don't.



^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 19:52                   ` Junio C Hamano
  2006-12-14 20:02                     ` Shawn Pearce
@ 2006-12-14 20:17                     ` Nicolas Pitre
  2006-12-14 20:50                       ` Junio C Hamano
  1 sibling, 1 reply; 262+ messages in thread
From: Nicolas Pitre @ 2006-12-14 20:17 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git, Shawn Pearce

On Thu, 14 Dec 2006, Junio C Hamano wrote:

> Nicolas Pitre <nico@cam.org> writes:
> 
> > I'd say screw that.  The solution should really be this patch:
> >
> > diff --git a/environment.c b/environment.c
> > index 84d870c..98275b2 100644
> > --- a/environment.c
> > +++ b/environment.c
> > @@ -15,7 +15,7 @@ int use_legacy_headers = 1;
> >  int trust_executable_bit = 1;
> >  int assume_unchanged;
> >  int prefer_symlink_refs;
> > -int log_all_ref_updates;
> > +int log_all_ref_updates = 1;
> >  int warn_ambiguous_refs = 1;
> >  int repository_format_version;
> >  char git_commit_encoding[MAX_ENCODING_LENGTH] = "utf-8";
> >
> 
> That changes what the command does to existing repositories,
> which is somewhat impolite.

You must be kidding, aren't you?

Just in case you really are serious, let's pretend that being impolite 
for something that has the potential of saving people's arses is 
certainly worth it, much more that the little inconvenience of having 
log files mysteriously appear and make no harm otherwise.

> I am not opposed too much to an updated version of the tool that
> sets the configuration on by default for newly created
> repositories, though.

Hmmm....

Well it is just that I strongly believe users with existing repos have 
no really valid reason to not have this feature enabled.  But making it 
on in a default config file at repo creation time is better than 
nothing.



^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 19:52                   ` Junio C Hamano
@ 2006-12-14 20:02                     ` Shawn Pearce
  2006-12-14 20:22                       ` Nicolas Pitre
                                         ` (2 more replies)
  2006-12-14 20:17                     ` Nicolas Pitre
  1 sibling, 3 replies; 262+ messages in thread
From: Shawn Pearce @ 2006-12-14 20:02 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Nicolas Pitre, git

Junio C Hamano <junkio@cox.net> wrote:
> Nicolas Pitre <nico@cam.org> writes:
> 
> > I'd say screw that.  The solution should really be this patch:
> >
> > diff --git a/environment.c b/environment.c
> > index 84d870c..98275b2 100644
> > --- a/environment.c
> > +++ b/environment.c
> > @@ -15,7 +15,7 @@ int use_legacy_headers = 1;
> >  int trust_executable_bit = 1;
> >  int assume_unchanged;
> >  int prefer_symlink_refs;
> > -int log_all_ref_updates;
> > +int log_all_ref_updates = 1;
> >  int warn_ambiguous_refs = 1;
> >  int repository_format_version;
> >  char git_commit_encoding[MAX_ENCODING_LENGTH] = "utf-8";
> >
> 
> That changes what the command does to existing repositories,
> which is somewhat impolite.

Yes, but users are forgetting to enable them.  They will work in
a new repository having that feature, move to an older one and not
have it, but expect it to be there.

As I recall the primary objection to enabling them by default
when I first introduced them was that core.logAllRefUpdates=true
meant that refs/tags/<name> were also being logged.  This was not a
great idea as tags generally did not change once they were created.
You fixed that and now it just makes sense to enable it for branch
heads all of the time.

> I am not opposed too much to an updated version of the tool that
> sets the configuration on by default for newly created
> repositories, though.

I almost did that in my patch - but decided against it for the
reason I just noted above.

Does anyone on the mailing list really have an objection to having
reflogs on by default?

About the only trouble that can cause is a failed push when
git-receive-pack needs to generate the reflog entry but cannot
get the user's committer data because their gecos information
doesn't exist.

-- 

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 18:06                 ` Nicolas Pitre
@ 2006-12-14 19:52                   ` Junio C Hamano
  2006-12-14 20:02                     ` Shawn Pearce
  2006-12-14 20:17                     ` Nicolas Pitre
  0 siblings, 2 replies; 262+ messages in thread
From: Junio C Hamano @ 2006-12-14 19:52 UTC (permalink / raw)
  To: Nicolas Pitre; +Cc: git, Shawn Pearce

Nicolas Pitre <nico@cam.org> writes:

> I'd say screw that.  The solution should really be this patch:
>
> diff --git a/environment.c b/environment.c
> index 84d870c..98275b2 100644
> --- a/environment.c
> +++ b/environment.c
> @@ -15,7 +15,7 @@ int use_legacy_headers = 1;
>  int trust_executable_bit = 1;
>  int assume_unchanged;
>  int prefer_symlink_refs;
> -int log_all_ref_updates;
> +int log_all_ref_updates = 1;
>  int warn_ambiguous_refs = 1;
>  int repository_format_version;
>  char git_commit_encoding[MAX_ENCODING_LENGTH] = "utf-8";
>

That changes what the command does to existing repositories,
which is somewhat impolite.

I am not opposed too much to an updated version of the tool that
sets the configuration on by default for newly created
repositories, though.


^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 12:05               ` Shawn Pearce
@ 2006-12-14 18:06                 ` Nicolas Pitre
  2006-12-14 19:52                   ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Nicolas Pitre @ 2006-12-14 18:06 UTC (permalink / raw)
  To: Shawn Pearce; +Cc: Carl Worth, Andy Parkins, git

On Thu, 14 Dec 2006, Shawn Pearce wrote:

> But the problem raised is that there are many types of repositories,
> and not all should always have reflogs enabled, and its hard to
> tell which one should and which shouldn't by default, and its even
> worse to force it into a user's ~/.gitconfig as then repositories
> which should not have reflogs are getting them anyway.

Thank you for reminding me the reasons why.

However I'd argue that the lack of reflog data is much much worse than 
needlessly having it.

It is therefore much saner to disable it in the config and remove the 
unwanted reflog files than being sorry because it wasn't enabled when 
you would have needed it.

>  * Normal working repository (wants reflogs);
>  * Bare private (backup) repository (wants reflogs);
>  * Bare shared repository (probably doesn't want reflogs);
>  * Import generated repository (probably doesn't want reflogs);

And what would be the actual problem if reflog was enabled (i.e. was not 
explicitly disabled if enabled by default) in those last two cases?

> Find a way to make git-init-db know the difference magically and 
> you'll probably see a patch emerge quickly afterwards.  But right now 
> I don't think anyone really has a great solution to the problem.

I'd say screw that.  The solution should really be this patch:

diff --git a/environment.c b/environment.c
index 84d870c..98275b2 100644
--- a/environment.c
+++ b/environment.c
@@ -15,7 +15,7 @@ int use_legacy_headers = 1;
 int trust_executable_bit = 1;
 int assume_unchanged;
 int prefer_symlink_refs;
-int log_all_ref_updates;
+int log_all_ref_updates = 1;
 int warn_ambiguous_refs = 1;
 int repository_format_version;
 char git_commit_encoding[MAX_ENCODING_LENGTH] = "utf-8";

> I know Junio wrote something on this not too long ago (and it was a
> good writeup too) but I can never find threads in gmane's archives,
> so I'm just going to leave that to someone else...

Well I must have missed it.

But unless there is real harm to have reflog enabled even when you don't 
need it I really think the default should be set to enabled.



^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 11:45           ` Shawn Pearce
  2006-12-14 11:58             ` Carl Worth
@ 2006-12-14 17:47             ` Nicolas Pitre
  2006-12-14 21:58             ` Junio C Hamano
  2 siblings, 0 replies; 262+ messages in thread
From: Nicolas Pitre @ 2006-12-14 17:47 UTC (permalink / raw)
  To: Shawn Pearce; +Cc: Andy Parkins, git

On Thu, 14 Dec 2006, Shawn Pearce wrote:

> Andy Parkins <andyparkins@gmail.com> wrote:
> > How's this then:
> > 
> > $ git commit
> > $ git commit
> > $ git commit
> > $ git reset HEAD^^^
> > 
> > "AGGGHHHHHH!  I meant HEAD^^"
> > 
> > At this point I start running "git-prune -n | grep commit" and some liberal 
> > use of git-show to try and find the hash of the object so I can do
> 
> At this point I usually try to politely suggest that users do:
> 
>   git repo-config --global core.logAllRefUpdates true
> 

And this is where I politely say that this option should be true by 
default for everybody.

I don't recall why it isn't so yet.



^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 10:21     ` Andy Parkins
  2006-12-14 10:51       ` Johannes Schindelin
@ 2006-12-14 17:23       ` Nicolas Pitre
  2006-12-14 21:02         ` Andy Parkins
  1 sibling, 1 reply; 262+ messages in thread
From: Nicolas Pitre @ 2006-12-14 17:23 UTC (permalink / raw)
  To: Andy Parkins; +Cc: git

On Thu, 14 Dec 2006, Andy Parkins wrote:

> > Besides, The fact that revert _adds_ to history is a nice way to
> > document that you reverted that change. And you can even explain in the
> > commit message, why you did it.
> 
> I'm not disputing that the /operation/ is useful, I'm arguing that it is 
> incorrectly named.

Well, people are used to say they've "reverted" a change.  Although the 
command might appear slightly misnamed wrt its operation, it still does 
what most people are expecting from such a name.



^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14  9:36       ` Shawn Pearce
  2006-12-14 10:03         ` Andy Parkins
@ 2006-12-14 17:06         ` Nicolas Pitre
  2006-12-15 14:28           ` Jakub Narebski
  1 sibling, 1 reply; 262+ messages in thread
From: Nicolas Pitre @ 2006-12-14 17:06 UTC (permalink / raw)
  To: Shawn Pearce; +Cc: Andy Parkins, git

On Thu, 14 Dec 2006, Shawn Pearce wrote:

> But I'm not sure that git-add should output anything.  Last I checked
> the 'mv' command in Linux doesn't say "Move 5 files" when I move 5
> files into a directory.  Likewise I don't think that knowing that
> 6781 files were added is useful, what if it should have really been
> 6782 files?  I'm unlikely to know, care, or realize it.

git-add -v does output added files already.



^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 12:10               ` Shawn Pearce
@ 2006-12-14 13:20                 ` Andy Parkins
  0 siblings, 0 replies; 262+ messages in thread
From: Andy Parkins @ 2006-12-14 13:20 UTC (permalink / raw)
  To: git

On Thursday 2006 December 14 12:10, Shawn Pearce wrote:

> not predict future results"...  The size of objects in the pack
> tends to be small up front (commits/trees) and larger in the back
> (blobs).  The size distribution probably also gets more erratic
> near the back as the blob sizes may not follow a nice distribution.

Oh well; that pretty much settles it then.

> But as you state, its easy to refine it over time, and the closer we
> get to the end the more likely it is to be correct.  Unless its that
> 23 MiB blob.  As it takes up about 85% of that repository's pack.

I had imagined (foolishly), that most objects would be diffs, and would be 
similarly sized.

Scratch that.

Andy
-- 
Dr Andy Parkins, M Eng (hons), MIEE

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 12:00             ` Andy Parkins
@ 2006-12-14 12:10               ` Shawn Pearce
  2006-12-14 13:20                 ` Andy Parkins
  0 siblings, 1 reply; 262+ messages in thread
From: Shawn Pearce @ 2006-12-14 12:10 UTC (permalink / raw)
  To: Andy Parkins; +Cc: git

Andy Parkins <andyparkins@gmail.com> wrote:
> I wonder if the number of objects is a reasonable measure of progress.  Let's 
> say we're transferring 100,000 objects.  Let's also say that the average size 
> of objects is 100 bytes.  Let's finally say that the object sizes are evenly 
> distributed throughout the 100,000 objects.  This would mean that the first 
> 1,000 objects are just as representative as the last 1,000 objects; or any 
> other randomly chosen 1,000 objects.  In which case, the size of the first 
> thousand objects would be approximately one hundredth the size of the total 
> transfer.  Volia: an estimate of the total size of the transfer.

Ah, but much like those stock scam emails, "prior performance does
not predict future results"...  The size of objects in the pack
tends to be small up front (commits/trees) and larger in the back
(blobs).  The size distribution probably also gets more erratic
near the back as the blob sizes may not follow a nice distribution.

E.g. I have a repository with a blob that is 23 MiB.  But I also
have some 5 MiB blobs, and then a very large number of relatively
small blobs.  That 23 MiB blob really gums up any estimate.

But as you state, its easy to refine it over time, and the closer we
get to the end the more likely it is to be correct.  Unless its that
23 MiB blob.  As it takes up about 85% of that repository's pack.

-- 

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 11:58             ` Carl Worth
@ 2006-12-14 12:05               ` Shawn Pearce
  2006-12-14 18:06                 ` Nicolas Pitre
  0 siblings, 1 reply; 262+ messages in thread
From: Shawn Pearce @ 2006-12-14 12:05 UTC (permalink / raw)
  To: Carl Worth; +Cc: Andy Parkins, git

Carl Worth <cworth@cworth.org> wrote:
> This when-you-first-learn-you-want-them-it's-too-late-to-get-them
> aspect of ref logs is really annoying. It sets up an unkind trap for
> users.

Yes.  Which is why its in my ~/.gitconfig.  :-(
 
> I know several people have suggested they be enabled by
> default. What's the status of that suggestion?  Rejected? Just
> awaiting a patch?

Its been suggested and discussed.

But the problem raised is that there are many types of repositories,
and not all should always have reflogs enabled, and its hard to
tell which one should and which shouldn't by default, and its even
worse to force it into a user's ~/.gitconfig as then repositories
which should not have reflogs are getting them anyway.

 * Normal working repository (wants reflogs);
 * Bare private (backup) repository (wants reflogs);
 * Bare shared repository (probably doesn't want reflogs);
 * Import generated repository (probably doesn't want reflogs);

...

Find a way to make git-init-db know the difference magically and
you'll probably see a patch emerge quickly afterwards.  But right
now I don't think anyone really has a great solution to the problem.

I know Junio wrote something on this not too long ago (and it was a
good writeup too) but I can never find threads in gmane's archives,
so I'm just going to leave that to someone else...

-- 

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 11:27           ` Johannes Schindelin
@ 2006-12-14 12:00             ` Andy Parkins
  2006-12-14 12:10               ` Shawn Pearce
  0 siblings, 1 reply; 262+ messages in thread
From: Andy Parkins @ 2006-12-14 12:00 UTC (permalink / raw)
  To: git

On Thursday 2006 December 14 11:27, Johannes Schindelin wrote:

> And now you know one of the reasons we have no true progress bar.
>
> Another reason is that it would be relatively expensive to calculate,
> since the total _size_ is not known beforehand (remember, the pack is
> calculated on the fly).

Hmmm; just thinking out loud now... I used to calculate ETA's for simulations 
I ran that had similar problems - i.e. you don't know how long it takes until 
its done (it was with genetic programming function trees, and of course you 
don't know what operations will be in the next generations tree, so you can't 
estimate a time).  I just showed "something" by doing a standard: how long 
did n/N take therefore N will take... then I plotted the error in the ETA 
after the simulation completed.  Interestingly it was always a -exp(-x) 
shape.  In other words it got more accurate towards the end (of course); 
which is exactly the sort of accuracy you would want.  At the beginning you 
just want a broad "this will take a few hours" measure.  Towards the end, you 
want to know "there is 1m50s remaining".

I wonder if the number of objects is a reasonable measure of progress.  Let's 
say we're transferring 100,000 objects.  Let's also say that the average size 
of objects is 100 bytes.  Let's finally say that the object sizes are evenly 
distributed throughout the 100,000 objects.  This would mean that the first 
1,000 objects are just as representative as the last 1,000 objects; or any 
other randomly chosen 1,000 objects.  In which case, the size of the first 
thousand objects would be approximately one hundredth the size of the total 
transfer.  Volia: an estimate of the total size of the transfer.

Obviously this estimate would be continuously updated, and would become more 
accurate as more objects are transferred.  The data rate would of course be 
based on only the previous X objects rather than the total transferred to 
take account of changing server conditions.  From these ETA could be 
estimated.

Obviously the ETA is unstable, but it's only for giving users an idea of how 
long is left; not for strict accounting.




Andy
-- 
Dr Andy Parkins, M Eng (hons), MIEE

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 11:45           ` Shawn Pearce
@ 2006-12-14 11:58             ` Carl Worth
  2006-12-14 12:05               ` Shawn Pearce
  2006-12-14 17:47             ` Nicolas Pitre
  2006-12-14 21:58             ` Junio C Hamano
  2 siblings, 1 reply; 262+ messages in thread
From: Carl Worth @ 2006-12-14 11:58 UTC (permalink / raw)
  To: Shawn Pearce; +Cc: Andy Parkins, git

[-- Attachment #1: Type: text/plain, Size: 508 bytes --]

On Thu, 14 Dec 2006 06:45:46 -0500, Shawn Pearce wrote:
> At this point I usually try to politely suggest that users do:
>
>   git repo-config --global core.logAllRefUpdates true
>
> and in the future do something like:

This when-you-first-learn-you-want-them-it's-too-late-to-get-them
aspect of ref logs is really annoying. It sets up an unkind trap for
users.

I know several people have suggested they be enabled by
default. What's the status of that suggestion?  Rejected? Just
awaiting a patch?

-Carl

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 11:36         ` Andy Parkins
@ 2006-12-14 11:45           ` Shawn Pearce
  2006-12-14 11:58             ` Carl Worth
                               ` (2 more replies)
  2006-12-15 15:26           ` Jakub Narebski
  1 sibling, 3 replies; 262+ messages in thread
From: Shawn Pearce @ 2006-12-14 11:45 UTC (permalink / raw)
  To: Andy Parkins; +Cc: git

Andy Parkins <andyparkins@gmail.com> wrote:
> How's this then:
> 
> $ git commit
> $ git commit
> $ git commit
> $ git reset HEAD^^^
> 
> "AGGGHHHHHH!  I meant HEAD^^"
> 
> At this point I start running "git-prune -n | grep commit" and some liberal 
> use of git-show to try and find the hash of the object so I can do

At this point I usually try to politely suggest that users do:

  git repo-config --global core.logAllRefUpdates true

and in the future do something like:

> $ git commit         # {4}
> $ git commit         # {3}
> $ git commit         # {2}
> $ git reset HEAD^^^  # {1}
> 
> "AGGGHHHHHH!  I meant HEAD^^"

  $ git reset HEAD@{4}

should give you what

  $ git reset HEAD^^

would have given had you not added the extra ^.  :-)
 
-- 

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 10:21       ` Junio C Hamano
@ 2006-12-14 11:36         ` Andy Parkins
  2006-12-14 11:45           ` Shawn Pearce
  2006-12-15 15:26           ` Jakub Narebski
  2006-12-15  4:07         ` Nicolas Pitre
  1 sibling, 2 replies; 262+ messages in thread
From: Andy Parkins @ 2006-12-14 11:36 UTC (permalink / raw)
  To: git

On Thursday 2006 December 14 10:21, Junio C Hamano wrote:

> You keep repeating that you want to know the object name of the

Oh dear, you're right; I am terribly repetative.  Sorry.
Oh dear, you're right; I am terribly repetative.  Sorry.

;-)

> But you never communicate with your own git repository using the
> SHA-1 object names when talking about commits you made recently

How's this then:

$ git commit
$ git commit
$ git commit
$ git reset HEAD^^^

"AGGGHHHHHH!  I meant HEAD^^"

At this point I start running "git-prune -n | grep commit" and some liberal 
use of git-show to try and find the hash of the object so I can do

$ git reset --hard HASH_OF_OBJECT_I_STUPIDLY_ORPHANED

> So I do not think "git commit" is a valid example.  I also agree
> with Shawn that "git add" that says 6781 files were added is
> pointless.

Okay.

> > I've always thought that programs that needed an expert/beginner split
> > were badly designed.
>
> There probably is a truth in that.  Let's not add verbosity
> unnecessarily.

My habit is always to be overly verbose in program output; however, I realise 
that not everybody likes that.  None of these things cause me any difficulty 
in my use of git.  However, my Dad also is an engineer, but he's not so 
comfortable with VCS; for him almost every part of git is a mystery.  
Commands that run and don't say anything are confusing because he didn't 
really know what they were /meant/ to do; he's just got a set of recipes that 
he knows to type.  He's probably an extreme case, and not a good model for 
typical user - on the other hand, I would say that if he can use it, then it 
is officially newbie-friendly. :-)

> I agree with you that making some commands with progress
> indication less chatty would be a good clean-up.

These are actually the ones I feel more strongly about.  Too much output just 
drowns out the information that people really need.


Andy

-- 
Dr Andy Parkins, M Eng (hons), MIEE

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 11:23         ` Andy Parkins
@ 2006-12-14 11:27           ` Johannes Schindelin
  2006-12-14 12:00             ` Andy Parkins
  0 siblings, 1 reply; 262+ messages in thread
From: Johannes Schindelin @ 2006-12-14 11:27 UTC (permalink / raw)
  To: Andy Parkins; +Cc: git

Hi,

On Thu, 14 Dec 2006, Andy Parkins wrote:

> On Thursday 2006 December 14 10:51, Johannes Schindelin wrote:
> 
> > If I have the choice between a "doing something" bar and a Windows
> > Explorer "14 seconds left" bar showing the same message for two minutes,
> > I'd rather have a Mars bar ;-)
> 
> Gahhhhhhhhh!  Oh how I hate that window.
> 
> On this we can wholeheartedly agree.  Unfortunately it's not just windows; 
> most applications that have a progress bar go like this:
> 
> 0%, ..., 0%,..., 0%,.., 1 , 2, 3, 4, 5, 6, 33%, ..., 33%, ..., 33%, 35, 36, 
> 85%, ..., 85%, ..., 85%, ..., 99%, 100%, ..., 100%, ... (yes, I'm completely 
> finished, but still working), ... 100%.
> 
> I reckon, unless the window with a progress bar in it has an ETA, then the 
> progress should be an ETA itself.  If it's not going to monotonically 
> increase, then the "percentage" is meaningless.

And now you know one of the reasons we have no true progress bar.

Another reason is that it would be relatively expensive to calculate, 
since the total _size_ is not known beforehand (remember, the pack is 
calculated on the fly).

Yet another reason is that all estimates there are unstable by nature: the 
load of the server, the net load, the load of the client, the speed of 
packing and unpacking, and the luck if deltas can be reused, are all 
contributors to this unstability.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 10:51       ` Johannes Schindelin
@ 2006-12-14 11:23         ` Andy Parkins
  2006-12-14 11:27           ` Johannes Schindelin
  2006-12-15  0:15         ` Horst H. von Brand
  1 sibling, 1 reply; 262+ messages in thread
From: Andy Parkins @ 2006-12-14 11:23 UTC (permalink / raw)
  To: git

On Thursday 2006 December 14 10:51, Johannes Schindelin wrote:

> If I have the choice between a "doing something" bar and a Windows
> Explorer "14 seconds left" bar showing the same message for two minutes,
> I'd rather have a Mars bar ;-)

Gahhhhhhhhh!  Oh how I hate that window.

On this we can wholeheartedly agree.  Unfortunately it's not just windows; 
most applications that have a progress bar go like this:

0%, ..., 0%,..., 0%,.., 1 , 2, 3, 4, 5, 6, 33%, ..., 33%, ..., 33%, 35, 36, 
85%, ..., 85%, ..., 85%, ..., 99%, 100%, ..., 100%, ... (yes, I'm completely 
finished, but still working), ... 100%.

I reckon, unless the window with a progress bar in it has an ETA, then the 
progress should be an ETA itself.  If it's not going to monotonically 
increase, then the "percentage" is meaningless.


Andy
-- 
Dr Andy Parkins, M Eng (hons), MIEE

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14 10:21     ` Andy Parkins
@ 2006-12-14 10:51       ` Johannes Schindelin
  2006-12-14 11:23         ` Andy Parkins
  2006-12-15  0:15         ` Horst H. von Brand
  2006-12-14 17:23       ` Nicolas Pitre
  1 sibling, 2 replies; 262+ messages in thread
From: Johannes Schindelin @ 2006-12-14 10:51 UTC (permalink / raw)
  To: Andy Parkins; +Cc: git

Hi,

On Thu, 14 Dec 2006, Andy Parkins wrote:

> On Thursday 2006 December 14 00:22, Johannes Schindelin wrote:
> 
> > >  * git-revert should be called git-invert.  It doesn't remove a change
> > >    from history, it simply applies another commit that does the
> > >    opposite of whatever commit you are "revert"ing.  That's an inversion.
> >
> > No. An inversion is the _opposite_. Not an undo.
> 
> That's what I'm saying, we are applying the opposite of the given commit 
> - that commit is being inverted and applied again.

Ahh! I get what you are thinking. I was talking about reverting a change 
from the _content's viewpoint_. I _never_ want to revert history (I am no 
politician, you know?)

> > newbie cannot, and does not want to, understand exactly what is going 
> > on.
> 
> "newbie" doesn't mean "idiot".  Everybody wants to understand what is 
> going on.

I heartly disagree. I saw so many faces _begging_ me to just say _what_ to 
do, not _why_, and quickly, please.

> > So, think of it as our response to Windows' non-progress-bar: when you 
> > start up Windows, there is a progress-bar, except that it does not 
> > show progress, but a Knight Rider like movement, only indicating that 
> > it does something.
> 
> Given the choice between nothing and a non-progress "doing something" 
> bar, I would of course pick the "doing something" bar.  However, given 
> the choice between a "doing something" bar and a progress bar, I'd 
> rather have the progress bar.

If I have the choice between a "doing something" bar and a Windows 
Explorer "14 seconds left" bar showing the same message for two minutes, 
I'd rather have a Mars bar ;-)

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14  9:59     ` Andy Parkins
@ 2006-12-14 10:21       ` Junio C Hamano
  2006-12-14 11:36         ` Andy Parkins
  2006-12-15  4:07         ` Nicolas Pitre
  2006-12-14 21:22       ` Junio C Hamano
  1 sibling, 2 replies; 262+ messages in thread
From: Junio C Hamano @ 2006-12-14 10:21 UTC (permalink / raw)
  To: Andy Parkins; +Cc: git

Andy Parkins <andyparkins@gmail.com> writes:

> $ git commit
> Revision XXXXXXXXXXXXXXXXXX successfully added.
>
> I'd actually argue that git-commit is a particular problem because it's too 
> fast.  You quit editing your commit message and bang, you're back at the 
> command line.  Then you run git-log to make sure it really was committed.

You keep repeating that you want to know the object name of the
newly created commit.  I would very strongly agree with you that
it would be a fatal UI bug of git-commit if that information
were vital for the end user after making each commit.

But you never communicate with your own git repository using the
SHA-1 object names when talking about commits you made recently
(you would have the SHA-1 output from your updated version of
'git commit' command on the screen or in your scrollbuffer for
them -- you would need to refer to commits older than what your
scrollbuffer has in different way anyway).  Git gives branch~<n>
notation, and commands like "git log --pretty=short" and friends
would show them which you can easily cut&paste.  When people
talk about object names on the mailing list, they do so by
asking "git log" and friends to find them out -- it is pretty
much "on demand" type of thing and I do not think continually
mentioning SHA-1 object names buys us anything.

In other words, the following transcript would be possible but
not realistic:

	$ git commit
        Revision deadbeef0000 created.
        : now what did I do?
        $ git show deadbeef0000
        : oops, that is wrong
        $ git reset --hard deadbeef0000^

So I do not think "git commit" is a valid example.  I also agree
with Shawn that "git add" that says 6781 files were added is
pointless.

>> However, perhaps you could make lack of "[user] expert = true"
>> in ~/.gitconfig to trigger more verbose messages that say "yes
>> sir I did what I was told to do".
>
> I've always thought that programs that needed an expert/beginner split were 
> badly designed.

There probably is a truth in that.  Let's not add verbosity
unnecessarily.

I agree with you that making some commands with progress
indication less chatty would be a good clean-up.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14  0:22   ` Johannes Schindelin
@ 2006-12-14 10:21     ` Andy Parkins
  2006-12-14 10:51       ` Johannes Schindelin
  2006-12-14 17:23       ` Nicolas Pitre
  0 siblings, 2 replies; 262+ messages in thread
From: Andy Parkins @ 2006-12-14 10:21 UTC (permalink / raw)
  To: git

On Thursday 2006 December 14 00:22, Johannes Schindelin wrote:

> >  * git-revert should be called git-invert.  It doesn't remove a change
> >    from history, it simply applies another commit that does the
> >    opposite of whatever commit you are "revert"ing.  That's an inversion.
>
> No. An inversion is the _opposite_. Not an undo.

That's what I'm saying, we are applying the opposite of the given commit - 
that commit is being inverted and applied again.  It most certainly isn't an 
undo, because the original commit still exists.  It's not a reversion 
because "reversion" is to regress to a previous time or state.  In that sense 
git-revert is not doing what it says on the tin.  A revert would be to remove 
all the revisions from now until the specified commit - i.e. what git-reset 
now does.

(Note: I don't think git-reset should be renamed, as it's possible to use 
git-reset to move a branch forward as well as backward).

> Besides, The fact that revert _adds_ to history is a nice way to
> document that you reverted that change. And you can even explain in the
> commit message, why you did it.

I'm not disputing that the /operation/ is useful, I'm arguing that it is 
incorrectly named.

> IMHO it is better for a newbie to see that _something_ is happening. A

I'm not arguing that we should show nothing; I'm arguing that the something we 
do show should be more clear than what is now shown.  The choice is 
therefore "show something confusing" or "show something clear".

> newbie cannot, and does not want to, understand exactly what is going on.

"newbie" doesn't mean "idiot".  Everybody wants to understand what is going 
on.

> So, think of it as our response to Windows' non-progress-bar: when you
> start up Windows, there is a progress-bar, except that it does not show
> progress, but a Knight Rider like movement, only indicating that it does
> something.

Given the choice between nothing and a non-progress "doing something" bar, I 
would of course pick the "doing something" bar.  However, given the choice 
between a "doing something" bar and a progress bar, I'd rather have the 
progress bar.


Andy
-- 
Dr Andy Parkins, M Eng (hons), MIEE

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14  9:36       ` Shawn Pearce
@ 2006-12-14 10:03         ` Andy Parkins
  2006-12-14 17:06         ` Nicolas Pitre
  1 sibling, 0 replies; 262+ messages in thread
From: Andy Parkins @ 2006-12-14 10:03 UTC (permalink / raw)
  To: git

On Thursday 2006 December 14 09:36, Shawn Pearce wrote:

> But I'm not sure that git-add should output anything.  Last I checked
> the 'mv' command in Linux doesn't say "Move 5 files" when I move 5
> files into a directory.  Likewise I don't think that knowing that
> 6781 files were added is useful, what if it should have really been
> 6782 files?  I'm unlikely to know, care, or realize it.

That's a very particular example you've picked out there.  Of course the user 
won't know if it should be 6781 or 6782; they might know if it should have 
been 2 or 10 though; 0 or 100.  In your example, output like "about six and a 
half thousand", would probably be perfectly useful, but why not just output 
the number?

> Your niggle list (is that what you called it) has been useful
> fodder for discussion.  I'm glad you took the time to write it up,
> and to argue it so well on the list.  There's a number of items on
> it that I'd like to see happen too; enough that I may code some of
> them if nobody beats me to it.

I'm glad it was useful.  I never know how many disclaimers to put on these 
things.  I always feel that every message I write should begin with "I love 
git and use it every day, so please don't take this the wrong way, but..."



Andy
-- 
Dr Andy Parkins, M Eng (hons), MIEE

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-13 23:31   ` Junio C Hamano
                       ` (2 preceding siblings ...)
  2006-12-14  8:28     ` Andreas Ericsson
@ 2006-12-14  9:59     ` Andy Parkins
  2006-12-14 10:21       ` Junio C Hamano
  2006-12-14 21:22       ` Junio C Hamano
  2006-12-14 23:52     ` Horst H. von Brand
  4 siblings, 2 replies; 262+ messages in thread
From: Andy Parkins @ 2006-12-14  9:59 UTC (permalink / raw)
  To: git

On Wednesday 2006 December 13 23:31, Junio C Hamano wrote:

> I am moderately against making a command verbosely report when

I'm not sure "verbose" is the word for one extra line of output:

$ git commit
Revision XXXXXXXXXXXXXXXXXX successfully added.

I'd actually argue that git-commit is a particular problem because it's too 
fast.  You quit editing your commit message and bang, you're back at the 
command line.  Then you run git-log to make sure it really was committed.

> it did exactly what it was told to do, _unless_ the command is
> expected to take longer than other commands in git suite, or it
> is something the user rarely runs.

In the specific case of commit I really think the hash that was added needs to 
be printed.  I often do a series of git-commits on separate files; to find 
out the hash of one of those recent commits I then hop over to qgit to look.  
If it were right there on my terminal I wouldn't need to have qgit open all 
the time.

> >  * git-branch is not verbose enough when creating a new
> The same comment applies here.

Right back at you.  "what it was told to do", is not a clear cut thing.  Bear 
in mind that users make mistakes (I certainly do), so what I told it to do 
was not necessarily what I wanted it to do.  With no output to tell me what 
actually happened, it makes it harder to go back and see what you did wrong.

> However, perhaps you could make lack of "[user] expert = true"
> in ~/.gitconfig to trigger more verbose messages that say "yes
> sir I did what I was told to do".

I've always thought that programs that needed an expert/beginner split were 
badly designed.

I'm not sure you're characterising the messages correctly with "yes
sir I did what I was told to do".  That sort of output would truly be useless.  
However, going back to my git-commit example, I didn't say "commit and give 
this the hash XXXXXXXX", I said "commit".  git makes up the hash for me, and 
so should really tell me that hash.

> Not interested in implementing that myself at all, though.

I've gotten a far more positive response than I'd expected, so it doesn't 
surprise me.

> >  Tell them if they
> >  made a branch as well, which branch they are now on.
>
> I think you are talking about "checkout -b" not commit here;
> this might be a borderline (branch creation is less often done
> and it might warrant assuring feedback), but I think it still
> falls into the "doing exactly what it was told to do" category.

You're right, I was.  The reason I think feedback is useful is because of the 
two ways of making a new branch:
 - git-branch XYZ
   This makes a new branch but DOESN'T leave me on XYZ
 - git-commit -b XYZ
   This makes a new branch and switches to XYZ
I can't tell you the number of times I get this wrong.  It's not because I 
don't know if I stop to think, it's because I'm thinking about the project, 
not the VCS.

> No.  It either says patch is corrupt, or a hunk at this line
> does not apply.  I do not see what more would you would want to
> ask it to say.

I've been building a repository that contains every kernel release since 
v1.0.0; I did it by downloading every patch and "git-apply"ing them one at a 
time.  Along the way, I had a few occasions where the patch didn't apply.  I 
would get the "hunk didn't apply" message. (e.g. v1.1/patch54.bz2 if you're 
interested)

Now - it /should/ apply, this is a published patch; I investigated each one, 
and it was always down to a whitespace problem.  The current version didn't 
have the same whitespace as the patch was expecting; often part of a much 
larger patch which mostly applied.  git-apply could have told me...

While applying hunk #17, the following update would not apply to the file
this/that/theother.c
-#endif
+#endif

Instead I had to git-checkout HEAD; bzcat patch | git-apply --reject; 
find . -name "*.rej"; vim; git update-index; blah, blah blah.

> As long as your solution does not accidentally lose local,
> unrelated changes, changing "git-rebase --skip" to do the needed
> clean-up itself for the user would be Ok (I think we would want

Of course; never discarding data always takes precedence.

> While I agree the users need to be taught about 'prune', I do
> think immediately after running the above commands is exactly
> the wrong point to run 'prune'.  'prune' should not be run while
> you are busily munging the tip of the branch with rebase and
> reset to come up with something that you can call "oh, I am done
> with this series for now."  Otherwise even lost-found would not
> be able to help you.

Absolutely; I wasn't suggesting that the message should say "now run 
git-prune"; otherwise we might as well run git-prune ourselves.  I don't 
really know that the solution is; but I do think we need one.

> In general the principle ought to be not to say anything if the
> command does exactly what it was told to do successfully, unless
> the operation is expected to take longer than other normal
> commands in the git suite, or something that is rarely used.

git is its own worst enemy here I think.  I still have doubts that something 
actually happened when I run commands because they return so quickly.

> Perhaps under "[user] expert" control.

I think the problem with that is going to be that there will be disagreement 
about which commands should output what in which mode.  "I like git-commit to 
tell me what it committed, but don't want git-add to list files" sorts of 
thing.



Andy

-- 
Dr Andy Parkins, M Eng (hons), MIEE

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14  9:27     ` Andy Parkins
@ 2006-12-14  9:36       ` Shawn Pearce
  2006-12-14 10:03         ` Andy Parkins
  2006-12-14 17:06         ` Nicolas Pitre
  0 siblings, 2 replies; 262+ messages in thread
From: Shawn Pearce @ 2006-12-14  9:36 UTC (permalink / raw)
  To: Andy Parkins; +Cc: git

Andy Parkins <andyparkins@gmail.com> wrote:
> I think the problem in most cases is that git outputs _too much_.  Also, I'm 
> not imagining that "git-add ." would list every file that it added - who is 
> that going to help?  It should say "added X files to index" or similar.  You 
> surely can't be arguing that that slows down your expert workflow?

git-commit-tree's "committing initial tree" and git-init-db's
"defaulting to local storage area" are both probably too verbose
and should just get removed.

The progress meters in git-pack-objects that you see during clone,
repack, fetch and push at least keep the user amused.  I do read
the output of repack every so often, but in general I don't care
about the output of clone, fetch or push - all I care about is
that my objects got to the remote system and were accepted, or not.
Which means that at least for me the output could be reduced down
to just the bandwidth transfer meter, for really slow links.

But I'm not sure that git-add should output anything.  Last I checked
the 'mv' command in Linux doesn't say "Move 5 files" when I move 5
files into a directory.  Likewise I don't think that knowing that
6781 files were added is useful, what if it should have really been
6782 files?  I'm unlikely to know, care, or realize it.

Your niggle list (is that what you called it) has been useful
fodder for discussion.  I'm glad you took the time to write it up,
and to argue it so well on the list.  There's a number of items on
it that I'd like to see happen too; enough that I may code some of
them if nobody beats me to it.

-- 

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-13 22:48   ` Jakub Narebski
@ 2006-12-14  9:27     ` Andy Parkins
  2006-12-14  9:36       ` Shawn Pearce
  0 siblings, 1 reply; 262+ messages in thread
From: Andy Parkins @ 2006-12-14  9:27 UTC (permalink / raw)
  To: git

On Wednesday 2006 December 13 22:48, Jakub Narebski wrote:

> Nice list, although I'd rather add extra output only if command is used
> with -v/--verbose (or -V/--verbose) option; if not, then add -q/--quiet
> (or -s/--silent) option to be used in scripts. I'm partial to --verbose

I'd rather have the scripts requiring "--quiet"; because otherwise it's 
another switch for a newbie to guess at.  However, I don't think that 
switches is the answer.  Output for these porcelain-level commands is not 
structured enough to be used in scripts anyway (e.g. git-pull), but what it 
does output is a confusing lump.

> solution, as advanced users are not interested in any output; they know
> the commands, and want them to be fast. C.f GNU tar: it outputs something
> only with -v/--verbose option.

tar is doing a considerably less complicated sequence of operations than many 
of git's commands, so I don't think that's a fair comparison.

Also; I don't think "experts" should care about the extra output - I can't 
imagine that an extra few lines of text is going to slow git down.  Further, 
I think the problem in most cases is that git outputs _too much_.  Also, I'm 
not imagining that "git-add ." would list every file that it added - who is 
that going to help?  It should say "added X files to index" or similar.  You 
surely can't be arguing that that slows down your expert workflow?

I believe that a good set of output will be useful to both newbies and experts 
alike.  The idea that experts don't like to know what's going on is simply 
not true.  The idea that newbies want to see every file listed and every 
operation described is simply not true.



Andy
-- 
Dr Andy Parkins, M Eng (hons), MIEE

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-13 23:31   ` Junio C Hamano
  2006-12-13 23:52     ` Peter Baumann
  2006-12-14  0:16     ` Johannes Schindelin
@ 2006-12-14  8:28     ` Andreas Ericsson
  2006-12-15 14:39       ` Jakub Narebski
  2006-12-14  9:59     ` Andy Parkins
  2006-12-14 23:52     ` Horst H. von Brand
  4 siblings, 1 reply; 262+ messages in thread
From: Andreas Ericsson @ 2006-12-14  8:28 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Andy Parkins, git

Junio C Hamano wrote:
> Andy Parkins <andyparkins@gmail.com> writes:
> 
>>  * git-add has no output, whether it works or not
> 
> "git add no-such-file" complains, and I think that is adequate.
> Now with Nico's 'add means adding contents, not path' change is
> in, we _might_ want to differentiate adding a path that was
> untracked before and updating the contents, but I think this
> again falls into "doing exactly as told" category.
> 

Well, it should really let the user know if it fails. I for one would 
like to know that. I wasn't aware of the fact that it was silent even in 
those situations (perhaps because I've never run across it).

The errors that need to be reported are, afaics:
Content in 'path/to/file' is ignored according to path/to/.gitignore.
System error X happened while attempting Y.
Hash collisions.

Hash collisions wouldn't be too bad to check for in git add, because it 
only has to compare a single object, although I agree that it probably 
isn't necessary.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14  3:32       ` Nicolas Pitre
@ 2006-12-14  6:29         ` Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2006-12-14  6:29 UTC (permalink / raw)
  To: Nicolas Pitre; +Cc: git, Johannes Schindelin

Nicolas Pitre <nico@cam.org> writes:

> On Thu, 14 Dec 2006, Johannes Schindelin wrote:
>
>> I sent a patch which makes "git show" have that functionality, and 
>> frankly, I disagree "less" would be a good name for it. It uses the 
>> _pager_, which is not always "less", and besides, what it does is to show 
>> that particular blob. So obviously, I think my patch is the best approach.
>
> I think your approach is pretty sensible too.

I think so too for a few reasons.

 * cat-file is a very low level plumbing.  Giving it -p was a
   mistake made by somebody lazy long time ago back when we were
   not all that hot about "user friendliness in Porcelain-ish"
   (the option -p was not originally even meant to be the user
   level; it was merely a helper feature for verify-tag).

 * If we were to call something 'cat' and make a user-level
   command, adding the feature to 'show' is a lot more sensible
   than cat-file; the former takes more than one args already.
   People expect 'cat' to concatenate the arguments.  cat-file
   doesn't.

 * Throwing ls-tree output is the most sensible thing to do at
   'cat-file -p <tree-ish>' level, but not at the UI level (Andy
   compared ls-tree with 'svn list' today).  With 'git show', it
   would be more natural to show ls-tree --name-only by default
   for tree-ish objects, and control the verbosity level with
   command line option.

One minor issue we may need to decide is what to do when show is
given a tag object.  Personally I think the current behaviour of
dereferencing it to commit is fine (people who want to see the
tag can always do 'git-verify-tag -v').




^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-14  0:16     ` Johannes Schindelin
@ 2006-12-14  3:32       ` Nicolas Pitre
  2006-12-14  6:29         ` Junio C Hamano
  0 siblings, 1 reply; 262+ messages in thread
From: Nicolas Pitre @ 2006-12-14  3:32 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Junio C Hamano, Andy Parkins, git

On Thu, 14 Dec 2006, Johannes Schindelin wrote:

> Hi,
> 
> On Wed, 13 Dec 2006, Junio C Hamano wrote:
> 
> > We might want to add a pair of built-in internal aliases though:
> > 
> > 	[alias]
> >         	cat = cat-file -p
> >                 less = -p cat-file -p
> > 
> > or have these as samples in template .git/config file.
> 
> I sent a patch which makes "git show" have that functionality, and 
> frankly, I disagree "less" would be a good name for it. It uses the 
> _pager_, which is not always "less", and besides, what it does is to show 
> that particular blob. So obviously, I think my patch is the best approach.

I think your approach is pretty sensible too.



^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-13 22:37 ` Andy Parkins
  2006-12-13 22:48   ` Jakub Narebski
  2006-12-13 23:31   ` Junio C Hamano
@ 2006-12-14  0:22   ` Johannes Schindelin
  2006-12-14 10:21     ` Andy Parkins
  2006-12-14 23:03   ` Shawn Pearce
  3 siblings, 1 reply; 262+ messages in thread
From: Johannes Schindelin @ 2006-12-14  0:22 UTC (permalink / raw)
  To: Andy Parkins; +Cc: git, Junio C Hamano

Hi,

On Wed, 13 Dec 2006, Andy Parkins wrote:

> On Wednesday 2006, December 13 21:35, Junio C Hamano wrote:
>
>  * git-revert should be called git-invert.  It doesn't remove a change
>    from history, it simply applies another commit that does the
>    opposite of whatever commit you are "revert"ing.  That's an inversion.

No. An inversion is the _opposite_. Not an undo.

Besides, The fact that revert _adds_ to history is a nice way to 
document that you reverted that change. And you can even explain in the 
commit message, why you did it.

>  * git-fetch output is confusing:
>     remote: Generating pack...
>     remote: Done counting 189146 objects.
>     remote: Result has 186566 objects.
>     remote: Deltifying 186566 objects.
>     remote:  100% (186566/186566) done
>     Unpacking 186566 objects
>     24% (44792/186566) done
>    Some questions from the point of view of a newbie: what is a pack?  what is 
>    an object? Why is the remote counting them?  Which remote am I reading 
>    from?  What am I fetching?  What is "Deltifying"?  How much data do I have 
>    to download (number of objects doesn't tell me).  How long has this taken?  
>    How long is left to go?

IMHO it is better for a newbie to see that _something_ is happening. A 
newbie cannot, and does not want to, understand exactly what is going on.

So, think of it as our response to Windows' non-progress-bar: when you 
start up Windows, there is a progress-bar, except that it does not show 
progress, but a Knight Rider like movement, only indicating that it does 
something.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-13 23:31   ` Junio C Hamano
  2006-12-13 23:52     ` Peter Baumann
@ 2006-12-14  0:16     ` Johannes Schindelin
  2006-12-14  3:32       ` Nicolas Pitre
  2006-12-14  8:28     ` Andreas Ericsson
                       ` (2 subsequent siblings)
  4 siblings, 1 reply; 262+ messages in thread
From: Johannes Schindelin @ 2006-12-14  0:16 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Andy Parkins, git

Hi,

On Wed, 13 Dec 2006, Junio C Hamano wrote:

> Andy Parkins <andyparkins@gmail.com> writes:
> 
> >  * git-cat-file is badly named.  git-cat-object would be slightly
> >    better.
> 
> Not a Porcelain.
> 
> We might want to add a pair of built-in internal aliases though:
> 
> 	[alias]
>         	cat = cat-file -p
>                 less = -p cat-file -p
> 
> or have these as samples in template .git/config file.

I sent a patch which makes "git show" have that functionality, and 
frankly, I disagree "less" would be a good name for it. It uses the 
_pager_, which is not always "less", and besides, what it does is to show 
that particular blob. So obviously, I think my patch is the best approach.

BTW if you now say "git show master:README" it will show _nothing_, not 
even an error message.

Ciao,

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-13 23:31   ` Junio C Hamano
@ 2006-12-13 23:52     ` Peter Baumann
  2006-12-14  0:16     ` Johannes Schindelin
                       ` (3 subsequent siblings)
  4 siblings, 0 replies; 262+ messages in thread
From: Peter Baumann @ 2006-12-13 23:52 UTC (permalink / raw)
  To: git

>>  * git-branch is not verbose enough when creating a new
>>  branch, for a new user a little reassurance that what they
>>  meant to happen has happened would be nice.
>
> The same comment applies here.  
>
> However, perhaps you could make lack of "[user] expert = true"
> in ~/.gitconfig to trigger more verbose messages that say "yes
> sir I did what I was told to do".
>
> Not interested in implementing that myself at all, though.
>
>>  Tell them if they
>>  made a branch as well, which branch they are now on.
>
> I think you are talking about "checkout -b" not commit here;
> this might be a borderline (branch creation is less often done
> and it might warrant assuring feedback), but I think it still
> falls into the "doing exactly what it was told to do" category.
>

Yes. checkout -b works. But only _if_ you have read the manpage.
Someone thinking about branching at the current commit would just have

	git branch

in mind (so would I). Its not obvious to say

	git checkout -b <newbranchname> oldbranch

becouse checkout implies to advance to another version.

-Peter

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-13 22:37 ` Andy Parkins
  2006-12-13 22:48   ` Jakub Narebski
@ 2006-12-13 23:31   ` Junio C Hamano
  2006-12-13 23:52     ` Peter Baumann
                       ` (4 more replies)
  2006-12-14  0:22   ` Johannes Schindelin
  2006-12-14 23:03   ` Shawn Pearce
  3 siblings, 5 replies; 262+ messages in thread
From: Junio C Hamano @ 2006-12-13 23:31 UTC (permalink / raw)
  To: Andy Parkins; +Cc: git

Andy Parkins <andyparkins@gmail.com> writes:

> The major barrier to implementing these sorts of changes is, I
> think, worries about users of the output of these commands in
> scripts.  I say: screw them, porcelain is there for the
> breaking :-)

I like that ;-).

Thanks for the list.  I'll comment only on no brainers.  Things
I cannot decide to agree or disagree are not mentioned in this
message.

>  * git-fetch has to be in working root.  If I can do git-push
>  from anywhere in my tree, why can't I do git-fetch?
>  * git-reset has to be in working root.  If you typically sit
>  in, say "src/", it's annoying to have to change directory to
>  do a reset.
>  * git-verify-tag would be nicer as a switch to git-tag

True and true and true; let's make them happen.

>  * git-commit doesn't (generally) have output - after a
>  commit, it's difficult to know if anything happened.  Get
>  users used to the idea of hashes to identify commits by
>  telling them which one they just made.

I am moderately against making a command verbosely report when
it did exactly what it was told to do, _unless_ the command is
expected to take longer than other commands in git suite, or it
is something the user rarely runs.

>  * git-branch is not verbose enough when creating a new
>  branch, for a new user a little reassurance that what they
>  meant to happen has happened would be nice.

The same comment applies here.  

However, perhaps you could make lack of "[user] expert = true"
in ~/.gitconfig to trigger more verbose messages that say "yes
sir I did what I was told to do".

Not interested in implementing that myself at all, though.

>  Tell them if they
>  made a branch as well, which branch they are now on.

I think you are talking about "checkout -b" not commit here;
this might be a borderline (branch creation is less often done
and it might warrant assuring feedback), but I think it still
falls into the "doing exactly what it was told to do" category.

>  * git-init-db says "defaulting to local storage area", as if that is
>    meant to be a helpful message

It probably used to be back when the original tutorial Linus
wrote was still called tutorial.txt; but I agree that the
message is not helpful anymore.

>  * git-merge output is horrible - this affects git-pull,
>  git-rebase, and git-cherry-pick.  Issuing "fatal" errors and
>  then carrying on is very confusing.  Errors in merges appear
>  multiple times.  The files upon which which there is a
>  conflict are spread throughout the output.  Most of the
>  output is not relevant to an average user.

Yes.

>  * git-apply output is horrible.  It says a few things about
>  whitespace on stdin then just finishes.  When it succeeds.
>  When it fails, it just says failed, it doesn't say why a
>  particular hunk failed.

No.  It either says patch is corrupt, or a hunk at this line
does not apply.  I do not see what more would you would want to
ask it to say.

>  * git-commit without "-a" and without an "update-index" says "nothing
>    to commit", which isn't an adequate message to help a user who hasn't
>    realised they need to update the index

Perhaps.

"\n(hint: 'git add' to stage your changes, or 'git commit --all')\n"
in wt-status.c under "[user] expert = false" mode?

>  * git-rebase --skip requires that the offending file be clean with
>      git-checkout HEAD file
>    before the skip will work.  Why?  The fact of the skip is enough
>    knowledge for rebase to know that I don't care if the merge is lost

As long as your solution does not accidentally lose local,
unrelated changes, changing "git-rebase --skip" to do the needed
clean-up itself for the user would be Ok (I think we would want
to loosen the requirement for starting in a totally clean
working tree in the future).

>  * git-rebase/git-cherry-pick/git-reset/etc should all tell
>  the user that they need to run git-prune to tidy up after
>  themselves.

While I agree the users need to be taught about 'prune', I do
think immediately after running the above commands is exactly
the wrong point to run 'prune'.  'prune' should not be run while
you are busily munging the tip of the branch with rebase and
reset to come up with something that you can call "oh, I am done
with this series for now."  Otherwise even lost-found would not
be able to help you.

Also, this sequence creates crufts that need to be pruned:

	edit hello.c
	git add hello.c
        edit hello.c
        git add hello.c

I do not think we would want to suggest 'git prune' upon every
'git add'.

>  * git-add has no output, whether it works or not

"git add no-such-file" complains, and I think that is adequate.
Now with Nico's 'add means adding contents, not path' change is
in, we _might_ want to differentiate adding a path that was
untracked before and updating the contents, but I think this
again falls into "doing exactly as told" category.

>  * git-cat-file is badly named.  git-cat-object would be slightly
>    better.

Not a Porcelain.

We might want to add a pair of built-in internal aliases though:

	[alias]
        	cat = cat-file -p
                less = -p cat-file -p

or have these as samples in template .git/config file.

>  * In general the principle for messages should be the same as for 
>    presentations:
>     - say what you're going to do
>     - do it
>     - say what you did
>    So for example, "git-branch newbranch existingbranch" would say
>     Branching at "existingbranch", hash XXXXXXXXXXXXXXXXXX
>      - created branch "newbranch"
>      - your working branch is "existingbranch"
>    Rather than the nothing that it currently outputs.

In general the principle ought to be not to say anything if the
command does exactly what it was told to do successfully, unless
the operation is expected to take longer than other normal
commands in the git suite, or something that is rarely used.

Perhaps under "[user] expert" control.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-13 22:37 ` Andy Parkins
@ 2006-12-13 22:48   ` Jakub Narebski
  2006-12-14  9:27     ` Andy Parkins
  2006-12-13 23:31   ` Junio C Hamano
                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 262+ messages in thread
From: Jakub Narebski @ 2006-12-13 22:48 UTC (permalink / raw)
  To: git

Andy Parkins wrote:

> This is what I have in my "niggles" list.  These are surface level things that 
> I think are easy to fix.  A large part of the scariness is (I think) git's 
> unfriendly output.  Too many messages require understanding of git internals.

Nice list, although I'd rather add extra output only if command is used
with -v/--verbose (or -V/--verbose) option; if not, then add -q/--quiet
(or -s/--silent) option to be used in scripts. I'm partial to --verbose
solution, as advanced users are not interested in any output; they know
the commands, and want them to be fast. C.f GNU tar: it outputs something
only with -v/--verbose option.
-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git


^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-13 21:35 Junio C Hamano
@ 2006-12-13 22:37 ` Andy Parkins
  2006-12-13 22:48   ` Jakub Narebski
                     ` (3 more replies)
  2006-12-16  9:58 ` Junio C Hamano
  2006-12-16 13:59 ` Jakub Narebski
  2 siblings, 4 replies; 262+ messages in thread
From: Andy Parkins @ 2006-12-13 22:37 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano

On Wednesday 2006, December 13 21:35, Junio C Hamano wrote:
> I am hoping that we can start a stabilization cycle for v1.5.0
> based on what we have in 'master'.  The theme is "usability and
> teachability".

This is what I have in my "niggles" list.  These are surface level things that 
I think are easy to fix.  A large part of the scariness is (I think) git's 
unfriendly output.  Too many messages require understanding of git internals.  

The major barrier to implementing these sorts of changes is, I think, worries 
about users of the output of these commands in scripts.  I say: screw them, 
porcelain is there for the breaking :-)

 * git-fetch has to be in working root.  If I can do git-push from anywhere in 
   my tree, why can't I do git-fetch?
 * git-reset has to be in working root.  If you typically sit in, say "src/", 
   it's annoying to have to change directory to do a reset.
 * git-commit doesn't (generally) have output - after a commit, it's difficult
   to know if anything happened.  Get users used to the idea of hashes to 
   identify commits by telling them which one they just made.  Tell them if 
   they made a branch as well, which branch they are now on.
 * git-init-db says "defaulting to local storage area", as if that is
   meant to be a helpful message
 * git-revert should be called git-invert.  It doesn't remove a change
   from history, it simply applies another commit that does the
   opposite of whatever commit you are "revert"ing.  That's an inversion.
 * git-merge output is horrible - this affects git-pull, git-rebase,
   and git-cherry-pick.  Issuing "fatal" errors and then carrying on is very
   confusing.  Errors in merges appear multiple times.  The files upon which
   which there is a conflict are spread throughout the output.  Most of the
   output is not relevant to an average user.
 * git-apply output is horrible.  It says a few things about whitespace on 
   stdin then just finishes.  When it succeeds.   When it fails, it just says
   failed, it doesn't say why a particular hunk failed.
 * git-branch is not verbose enough when creating a new branch, for a new user
   a little reassurance that what they meant to happen has happened would be 
   nice.
 * git-commit without "-a" and without an "update-index" says "nothing
   to commit", which isn't an adequate message to help a user who hasn't
   realised they need to update the index
 * git-rebase --skip requires that the offending file be clean with
     git-checkout HEAD file
   before the skip will work.  Why?  The fact of the skip is enough
   knowledge for rebase to know that I don't care if the merge is lost
 * git-rebase/git-cherry-pick/git-reset/etc should all tell the user that they 
   need to run git-prune to tidy up after themselves.
 * git-add has no output, whether it works or not
 * git-cat-file is badly named.  git-cat-object would be slightly
   better.
 * git-fetch output is confusing:
    remote: Generating pack...
    remote: Done counting 189146 objects.
    remote: Result has 186566 objects.
    remote: Deltifying 186566 objects.
    remote:  100% (186566/186566) done
    Unpacking 186566 objects
    24% (44792/186566) done
   Some questions from the point of view of a newbie: what is a pack?  what is 
   an object? Why is the remote counting them?  Which remote am I reading 
   from?  What am I fetching?  What is "Deltifying"?  How much data do I have 
   to download (number of objects doesn't tell me).  How long has this taken?  
   How long is left to go?
 * Similar things can be said about git-clone
 * Similar things can be said about git-push
 * git-show-branch output is cryptic.
 * In general the principle for messages should be the same as for 
   presentations:
    - say what you're going to do
    - do it
    - say what you did
   So for example, "git-branch newbranch existingbranch" would say
    Branching at "existingbranch", hash XXXXXXXXXXXXXXXXXX
     - created branch "newbranch"
     - your working branch is "existingbranch"
   Rather than the nothing that it currently outputs.
 * It would be really nice to be able to do an arbitrary checkout, rather than
   having to make a branch for it.  Then I could do
    git-checkout remotes/origin/master && make
   (obviously committing with a non-branch HEAD would be prevented)
 * git-verify-tag would be nicer as a switch to git-tag


Andy
-- 
Dr Andrew Parkins, M Eng (Hons), AMIEE

^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
@ 2006-12-13 21:35 Junio C Hamano
  2006-12-13 22:37 ` Andy Parkins
                   ` (2 more replies)
  0 siblings, 3 replies; 262+ messages in thread
From: Junio C Hamano @ 2006-12-13 21:35 UTC (permalink / raw)
  To: git; +Cc: linux-kernel

We have a handful fixes on 'maint'; I will be cutting v1.4.4.3 by
the end of the week.

On the 'master' front, this round has many topics (most of which
have been cooking in the 'next' branch) merged since the last
announcement.

 - Johannes Schindelin's built-in shortlog is in.

 - Johannes Schindelin's built-in 'RCS merge replacement' is
   in.  Hopefully this would make merge-recursive more portable
   and faster.

 - Shawn Pearce and Johannes Schindelin spotted and fixed a few
   corner cases in merge-recursive.

 - Updates to gitk from Paul Mackerras to fix longstanding menu
   issues on Mac OS X.

 - Eric Wong fixed use of rerere in many places.

 - Eric also has quite a few fixes to git-svn.

 - Nico updated 'git-add' to really mean 'add contents', not
   'add to the set of tracked paths'.  Also updated was the
   documentation for 'git commit' to make it easier to teach new
   people after a long discussion.

 - Lars Hjemli taught 'git-branch' to rename branches.

 - Andy Parkins taught 'git-branch' to be colorful.

 - Robin Rosenberg improved cvsexportcommit for unusual
   pathnames.

 - 'git push $URL :refs/tags/that' (notice the colon) can be
   used to delete 'that' tag from the remote repository; this
   needs the latest git on both ends.

 - branch."master".{remote,merge} configuration items are set up
   by 'git-clone', thanks to Andy Parkins.

 - 'git-commit' gives 'diff --summary' output to remind mode
   changes and added/deleted files.

 - 'git-diff --numstat' matches 'git-apply --numstat' when
   talking about binary changes.

 - 'git-merge' is now a first class UI, not just a mere driver
   for strategies.

I am hoping that we can start a stabilization cycle for v1.5.0
based on what we have in 'master'.  The theme is "usability and
teachability".

Things that need to be done to complete what have been merged to
'master' are:

 - 'git-rm' needs to be fixed up as Linus outlined; remove
   working tree file and index entry but have a sanity check to
   make sure the working tree file match the index and HEAD.

 - 'git-branch' may need to be taught about renaming the
   matching per-branch configuration at the same time.

 - 'git-merge-file' needs to be documented and linked from
   git.txt.

 - 'git-clone' probably should be updated to use wild-card in
   remote.origin.fetch, instead of listing all the branches it
   found when the clone was made.

 - tutorials and other Porcelain documentation pages need to be
   updated to match the updated 'git-add' and 'git-rm' (to be
   updated), and their description should be made much less
   about implementation; they should talk in terms of end-user
   workflows.  I will send a draft for 'git diff' out later, but
   somebody needs a full sweep on Porcelain-ish documentation.

 - 'git diff --index' patch should be reverted (already done in
   'next'), although we may have to come up with a better
   wording for --cached.

----------------------------------------------------------------
* The 'maint' branch has these fixes since v1.4.4.2.

   Alex Riesen (1):
      Clarify fetch error for missing objects.

   Brian Gernhardt (1):
      Move Fink and Ports check to after config file

   Chris Wright (1):
      no need to install manpages as executable

   Eric Wong (2):
      git-svn: exit with status 1 for test failures
      git-svn: correctly display fatal() error messages

   Jim Meyering (1):
      Don't use memcpy when source and dest. buffers may overlap

   Martin Langhoff (1):
      cvsserver: Avoid miscounting bytes in Perl v5.8.x

   Shawn O. Pearce (1):
      Make sure the empty tree exists when needed in merge-recursive.


* The 'master' branch has these since the last announcement.

   Alex Riesen (3):
      git-blame: fix rev parameter handling.
      Make perl/ build procedure ActiveState friendly.
      Clarify fetch error for missing objects.

   Andreas Ericsson (2):
      ls-files: Give hints when errors happen.
      git-diff: Introduce --index and deprecate --cached.

   Andy Parkins (6):
      Use .git/config for storing "origin" shortcut repository
      Document git-repo-config --bool/--int options.
      De-emphasise the symbolic link documentation.
      Explicitly add the default "git pull" behaviour to .git/config on clone
      Colourise git-branch output
      Allow subcommand.color and color.subcommand color configuration

   Brian Gernhardt (1):
      Move Fink and Ports check to after config file

   Chris Wright (1):
      no need to install manpages as executable

   David Miller (1):
      Pass -M to diff in request-pull

   Eric Wong (21):
      git-svn: use ~/.subversion config files when using SVN:: libraries
      git-svn: enable delta transfers during fetches when using SVN:: libs
      git-svn: update tests for recent changes
      git-svn: error out when the SVN connection fails during a fetch
      git-svn: fix output reporting from the delta fetcher
      git-svn: color support for the log command
      git-svn: documentation updates
      git-svn: fix multi-init
      git-svn: avoid fetching files twice in the same revision
      git-svn: avoid network timeouts for long-running fetches
      git-svn: extra error check to ensure we open a file correctly
      git-svn: use do_switch for --follow-parent if the SVN library supports it
      rerere: add clear, diff, and status commands
      rerere: record (or avoid misrecording) resolved, skipped or aborted rebase/am
      git-svn: enable logging of information not supported by git
      git-svn: allow dcommit to take an alternate head
      git-svn: correctly display fatal() error messages
      git-svn: correctly handle packed-refs in refs/remotes/
      git-svn: exit with status 1 for test failures
      git-svn: correctly display fatal() error messages
      git-svn: correctly handle "(no author)" when using an authors file

   Han-Wen Nienhuys (1):
      ident.c: Trim hint printed when gecos is empty.

   J. Bruce Fields (4):
      cvs-migration: improved section titles, better push/commit explanation
      Documentation: reorganize cvs-migration.txt
      Documentation: update git-clone man page with new behavior
      Documentation: simpler shared repository creation

   Jakub Narebski (4):
      gitweb: Fix Atom feed <logo>: it is $logo, not $logo_url
      git-clone: Rename --use-immingled-remote option to --no-separate-remote
      Document git-diff whitespace flags -b and -w
      gitweb: Allow PNG, GIF, JPEG images to be displayed in "blob" view

   Jeff King (1):
      shortlog: fix segfault on empty authorname

   Jim Meyering (2):
      Set permissions of each new file before "cvs add"ing it.
      Don't use memcpy when source and dest. buffers may overlap

   Johannes Schindelin (18):
      Build in shortlog
      shortlog: do not crash on parsing "[PATCH"
      shortlog: read mailmap from ./.mailmap again
      shortlog: handle email addresses case-insensitively
      shortlog: fix "-n"
      shortlog: use pager
      sha1_object_info(): be consistent with read_sha1_file()
      xdiff: add xdl_merge()
      xdl_merge(): fix an off-by-one bug
      xdl_merge(): fix thinko
      git-mv: search more precisely for source directory in index
      diff -b: ignore whitespace at end of line
      xdl_merge(): fix and simplify conflict handling
      cvs-migration document: make the need for "push" more obvious
      Add builtin merge-file, a minimal replacement for RCS merge
      merge-file: support -p and -q; fix compile warnings
      Get rid of the dependency on RCS' merge program
      merge-recursive: add/add really is modify/modify with an empty base

   Josef Weidendorfer (1):
      Add branch.*.merge warning and documentation update

   Junio C Hamano (45):
      Store peeled refs in packed-refs file.
      remove merge-recursive-old
      git-merge: make it usable as the first class UI
      merge: allow merging into a yet-to-be-born branch.
      Store peeled refs in packed-refs (take 2).
      git-fetch: reuse ls-remote result.
      git-fetch: fix dumb protocol transport to fetch from pack-pruned ref
      git-fetch: allow glob pattern in refspec
      Allow git push to delete remote ref.
      git-shortlog: fix common repository prefix abbreviation.
      git-shortlog: make common repository prefix configurable with .mailmap
      git-commit: show --summary after successful commit.
      git-fetch: allow forcing glob pattern in refspec
      fetch-pack: do not barf when duplicate re patterns are given
      git-merge: tighten error checking.
      git-merge: do not leak rev-parse output used for checking internally.
      cvsimport: style fixup.
      git blame -C: fix output format tweaks when crossing file boundary.
      tutorial: talk about user.name early and don't start with commit -a
      git-merge: fix confusion between tag and branch
      xmerge: make return value from xdl_merge() more usable.
      merge-recursive: use xdl_merge().
      receive-pack: do not insist on fast-forward outside refs/heads/
      unpack-trees: make sure "df_conflict_entry.name" is NUL terminated.
      read-tree: further loosen "working file will be lost" check.
      Loosen "working file will be lost" check in Porcelain-ish
      read-tree: document --exclude-per-directory
      git-reset to remove "$GIT_DIR/MERGE_MSG"
      git-merge: squelch needless error message.
      git-merge: fix "fix confusion between tag and branch" for real
      Fix perl/ build.
      git-rerere: add 'gc' command.
      Documentation/git-commit: rewrite to make it more end-user friendly.
      git-commit: allow --only to lose what was staged earlier.
      shortlog: remove "[PATCH]" prefix from shortlog output
      shortlog: fix segfault on empty authorname
      diff --numstat: show binary with '-' to match "apply --numstat"
      add test case for recursive merge
      git-push: document removal of remote ref with :<dst> pathspec
      git merge: reword failure message.
      spurious .sp in manpages
      git-push: accept tag <tag> as advertised.
      send-pack: tighten checks for remote names
      branch --color: change default color selection.
      config documentation: group color items together.

   Lars Hjemli (3):
      git-branch: add options and tests for branch renaming
      rename_ref: use lstat(2) when testing for symlink
      git-branch: let caller specify logmsg

   Martin Langhoff (1):
      cvsserver: Avoid miscounting bytes in Perl v5.8.x

   Michael Loeffler (1):
      git-fetch: ignore dereferenced tags in expand_refs_wildcard

   Nicolas Pitre (4):
      builtin git-shortlog is broken
      pack-objects: remove redundent status information
      make 'git add' a first class user friendly interface to the index
      change the unpack limit treshold to a saner value

   Paul Mackerras (1):
      gitk: Fix enabling/disabling of menu items on Mac OS X

   René Scharfe (1):
      shortlog: remove range check

   Robin Rosenberg (1):
      Make cvsexportcommit work with filenames with spaces and non-ascii characters.

   Sean Estabrooks (1):
      Update documentation to remove incorrect GIT_DIFF_OPTS example.

   Shawn O. Pearce (17):
      Teach git-completion.bash how to complete git-merge.
      Hide plumbing/transport commands from bash completion.
      Teach bash how to complete options for git-name-rev.
      Add current branch in PS1 support to git-completion.bash.
      Teach bash how to complete git-format-patch.
      Teach bash how to complete git-cherry-pick.
      Teach bash how to complete git-rebase.
      Teach bash about git log/show/whatchanged options.
      Support bash completion of refs/remote.
      Teach bash about git-repo-config.
      Support --strategy=x completion in addition to --strategy x.
      Cache the list of merge strategies and available commands during load.
      Teach bash about git-am/git-apply and their whitespace options.
      Teach bash how to complete long options for git-commit.
      Fix broken bash completion of local refs.
      Make sure the empty tree exists when needed in merge-recursive.
      Remove uncontested renamed files during merge.

   Uwe Zeisberger (1):
      Fix documentation copy&paste typo



^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-09 20:44 ` Tilman Sauerbeck
@ 2006-12-09 21:10   ` Junio C Hamano
  0 siblings, 0 replies; 262+ messages in thread
From: Junio C Hamano @ 2006-12-09 21:10 UTC (permalink / raw)
  To: Tilman Sauerbeck; +Cc: git

Tilman Sauerbeck <tilman@code-monkey.de> writes:

> Junio C Hamano [2006-12-06 13:18]:
>> * The 'maint' branch has produced a new release 1.4.4.2
>
> Any reason why this wasn't announced?

Well, vger seems to have ate the message.

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-06 21:18 Junio C Hamano
  2006-12-08 15:36 ` Jakub Narebski
@ 2006-12-09 20:44 ` Tilman Sauerbeck
  2006-12-09 21:10   ` Junio C Hamano
  1 sibling, 1 reply; 262+ messages in thread
From: Tilman Sauerbeck @ 2006-12-09 20:44 UTC (permalink / raw)
  To: git

[-- Attachment #1: Type: text/plain, Size: 353 bytes --]

Junio C Hamano [2006-12-06 13:18]:
> * The 'maint' branch has produced a new release 1.4.4.2

Any reason why this wasn't announced?

Regards,
Tilman

-- 
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 262+ messages in thread

* Re: What's in git.git (stable)
  2006-12-06 21:18 Junio C Hamano
@ 2006-12-08 15:36 ` Jakub Narebski
  2006-12-09 20:44 ` Tilman Sauerbeck
  1 sibling, 0 replies; 262+ messages in thread
From: Jakub Narebski @ 2006-12-08 15:36 UTC (permalink / raw)
  To: git; +Cc: linux-kernel

Junio C Hamano wrote:

> * The 'maint' branch has produced a new release 1.4.4.2

What happened to "[ANNOUNCE] GIT 1.4.4.2" thread?
-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git


^ permalink raw reply	[flat|nested] 262+ messages in thread

* What's in git.git (stable)
@ 2006-12-06 21:18 Junio C Hamano
  2006-12-08 15:36 ` Jakub Narebski
  2006-12-09 20:44 ` Tilman Sauerbeck
  0 siblings, 2 replies; 262+ messages in thread
From: Junio C Hamano @ 2006-12-06 21:18 UTC (permalink / raw)
  To: git; +Cc: linux-kernel

* The 'maint' branch has produced a new release 1.4.4.2

* In the 'master' branch:

  - we now officially favor 'remotes' information to be in
    $GIT_DIR/config, and 'git clone' records origin in there,
    not in $GIT_DIR/remotes/origin (thanks to Andy Parkins).

  - "git send-pack $URL :refs/heads/$branch" can be used to
    delete a remote branch (so does "git push $URL :$ref" over
    git native protocols).

  - built-in shortlog lets you directly say "git shortlog
    v2.6.18..master", instead of piping an output from the
    corresponding "git log v2.6.18..master" into it.

  - git-svn updates
  - gitweb updates
  - gitk updates
  - bash completion updates

The shortlog since the last announcement for 'master' is:

Alex Riesen (2):
      git-blame: fix rev parameter handling.
      Make perl/ build procedure ActiveState friendly.

Andreas Ericsson (2):
      ls-files: Give hints when errors happen.
      git-diff: Introduce --index and deprecate --cached.

Andy Parkins (3):
      Use .git/config for storing "origin" shortcut repository
      Document git-repo-config --bool/--int options.
      De-emphasise the symbolic link documentation.

David Miller (1):
      Pass -M to diff in request-pull

Eric Wong (10):
      git-svn: use ~/.subversion config files when using SVN:: libraries
      git-svn: enable delta transfers during fetches when using SVN:: libs
      git-svn: update tests for recent changes
      git-svn: error out when the SVN connection fails during a fetch
      git-svn: fix output reporting from the delta fetcher
      git-svn: color support for the log command
      git-svn: documentation updates
      git-svn: fix multi-init
      git-svn: avoid fetching files twice in the same revision
      git-svn: avoid network timeouts for long-running fetches

Han-Wen Nienhuys (1):
      ident.c: Trim hint printed when gecos is empty.

J. Bruce Fields (1):
      cvs-migration: improved section titles, better push/commit explanation

Jakub Narebski (4):
      gitweb: Fix Atom feed <logo>: it is $logo, not $logo_url
      git-clone: Rename --use-immingled-remote option to --no-separate-remote
      Document git-diff whitespace flags -b and -w
      gitweb: Allow PNG, GIF, JPEG images to be displayed in "blob" view

Jim Meyering (1):
      Set permissions of each new file before "cvs add"ing it.

Johannes Schindelin (10):
      Build in shortlog
      shortlog: do not crash on parsing "[PATCH"
      shortlog: read mailmap from ./.mailmap again
      shortlog: handle email addresses case-insensitively
      shortlog: fix "-n"
      shortlog: use pager
      sha1_object_info(): be consistent with read_sha1_file()
      git-mv: search more precisely for source directory in index
      diff -b: ignore whitespace at end of line
      cvs-migration document: make the need for "push" more obvious

Junio C Hamano (24):
      Store peeled refs in packed-refs file.
      remove merge-recursive-old
      git-merge: make it usable as the first class UI
      merge: allow merging into a yet-to-be-born branch.
      Store peeled refs in packed-refs (take 2).
      git-fetch: reuse ls-remote result.
      git-fetch: fix dumb protocol transport to fetch from pack-pruned ref
      git-fetch: allow glob pattern in refspec
      Allow git push to delete remote ref.
      git-shortlog: fix common repository prefix abbreviation.
      git-shortlog: make common repository prefix configurable with .mailmap
      git-fetch: allow forcing glob pattern in refspec
      fetch-pack: do not barf when duplicate re patterns are given
      git-merge: tighten error checking.
      git-merge: do not leak rev-parse output used for checking internally.
      cvsimport: style fixup.
      git blame -C: fix output format tweaks when crossing file boundary.
      tutorial: talk about user.name early and don't start with commit -a
      git-merge: fix confusion between tag and branch
      receive-pack: do not insist on fast-forward outside refs/heads/
      unpack-trees: make sure "df_conflict_entry.name" is NUL terminated.
      git-reset to remove "$GIT_DIR/MERGE_MSG"
      git-merge: squelch needless error message.
      git-merge: fix "fix confusion between tag and branch" for real

Michael Loeffler (1):
      git-fetch: ignore dereferenced tags in expand_refs_wildcard

Nicolas Pitre (2):
      builtin git-shortlog is broken
      pack-objects: remove redundent status information

Paul Mackerras (1):
      gitk: Fix enabling/disabling of menu items on Mac OS X

René Scharfe (1):
      shortlog: remove range check

Sean Estabrooks (1):
      Update documentation to remove incorrect GIT_DIFF_OPTS example.

Shawn O. Pearce (15):
      Teach git-completion.bash how to complete git-merge.
      Hide plumbing/transport commands from bash completion.
      Teach bash how to complete options for git-name-rev.
      Add current branch in PS1 support to git-completion.bash.
      Teach bash how to complete git-format-patch.
      Teach bash how to complete git-cherry-pick.
      Teach bash how to complete git-rebase.
      Teach bash about git log/show/whatchanged options.
      Support bash completion of refs/remote.
      Teach bash about git-repo-config.
      Support --strategy=x completion in addition to --strategy x.
      Cache the list of merge strategies and available commands during load.
      Teach bash about git-am/git-apply and their whitespace options.
      Teach bash how to complete long options for git-commit.
      Fix broken bash completion of local refs.


^ permalink raw reply	[flat|nested] 262+ messages in thread

end of thread, other threads:[~2008-07-21  7:10 UTC | newest]

Thread overview: 262+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-09-06  8:52 What's in git.git (stable) Junio C Hamano
     [not found] ` <7v3axhd0lr.fsf@gitster.siamese.dyndns.org>
2007-09-26 20:05   ` Junio C Hamano
2007-10-02  5:52     ` Junio C Hamano
  -- strict thread matches above, loose matches on Subject: below --
2008-07-21  7:09 Junio C Hamano
2008-04-09  6:51 [ANNOUNCE] GIT 1.5.5 Junio C Hamano
2008-04-09  9:44 ` What's in git.git (stable) Junio C Hamano
2008-04-14  7:00   ` Junio C Hamano
2008-04-19  8:18     ` Junio C Hamano
2008-04-27  6:04       ` Junio C Hamano
2008-05-06  6:38         ` Junio C Hamano
2008-05-14 22:35           ` Junio C Hamano
2008-05-24  1:32             ` Junio C Hamano
2008-05-30 20:43               ` Junio C Hamano
2008-06-02  8:01                 ` Junio C Hamano
2008-06-13 10:10                   ` Junio C Hamano
2008-06-18  7:32                     ` Junio C Hamano
2008-06-18 10:59                       ` Jeff King
2008-06-21 10:06                       ` Junio C Hamano
2008-06-23  7:25                         ` Junio C Hamano
2008-06-25  9:34                           ` Junio C Hamano
2008-07-02  6:28                             ` Junio C Hamano
2008-07-06 10:04                               ` Junio C Hamano
2008-07-08  2:46                                 ` Junio C Hamano
2008-07-14  5:33                                   ` Junio C Hamano
2008-07-16  3:33                                     ` Junio C Hamano
2008-07-20  1:59                                       ` Junio C Hamano
2008-07-20 11:20                                         ` Lars Noschinski
2008-07-20 18:27                                           ` Junio C Hamano
2008-01-30  8:32 What's in git.git (stable frozen) Junio C Hamano
2008-02-12  7:25 ` What's in git.git Junio C Hamano
2008-02-17  3:56   ` What's in git.git (stable) Junio C Hamano
2008-02-17 13:39     ` Jakub Narebski
2008-02-17 20:45       ` Junio C Hamano
2008-02-17 20:51         ` Johannes Schindelin
2008-02-18  1:31           ` Junio C Hamano
2008-02-18  1:34             ` Johannes Schindelin
2008-02-18  1:43               ` Jeff King
2008-02-18  2:05                 ` Johannes Schindelin
2008-02-18  3:12                 ` Junio C Hamano
2008-02-18 11:15                   ` Jeff King
2008-02-21  4:16     ` Junio C Hamano
2008-02-25  8:42       ` Junio C Hamano
2008-02-28  0:43         ` Junio C Hamano
2008-03-03  2:06           ` Junio C Hamano
2008-03-06  6:02             ` Junio C Hamano
2008-03-08 10:08               ` Junio C Hamano
2008-03-09 10:46                 ` Junio C Hamano
2008-03-14  9:11                   ` Junio C Hamano
2008-03-23 10:08                     ` Junio C Hamano
2008-03-28  1:45                       ` Junio C Hamano
2008-03-31  8:39                         ` Junio C Hamano
2008-04-04 18:24                           ` Junio C Hamano
2008-04-05  3:13                             ` Shawn O. Pearce
2008-01-14  1:53 Junio C Hamano
2007-10-22  6:11 What's in git/spearce.git (stable) Shawn O. Pearce
2007-11-01  5:39 ` What's in git.git (stable) Junio C Hamano
2007-11-04  3:52   ` Junio C Hamano
2007-11-08  8:06     ` Junio C Hamano
2007-11-08 11:38       ` Pierre Habouzit
2007-11-12  7:06       ` Junio C Hamano
2007-11-15  0:20         ` Junio C Hamano
2007-11-17 21:00           ` Junio C Hamano
2007-11-25 20:45             ` Junio C Hamano
2007-12-01  2:05               ` Junio C Hamano
2007-12-04  8:43                 ` Junio C Hamano
2007-12-05 10:57                   ` Junio C Hamano
2007-12-07  9:50                     ` Junio C Hamano
2007-12-09 10:32                       ` Junio C Hamano
2007-08-23  0:37 Junio C Hamano
2007-08-24  0:28 ` Jakub Narebski
2007-08-11  8:41 Junio C Hamano
2007-08-11  9:32 ` David Kastrup
2007-08-16  5:02 ` Junio C Hamano
2007-05-13 22:30 Junio C Hamano
2007-05-17  0:21 ` Junio C Hamano
2007-05-19  5:24   ` Junio C Hamano
2007-05-23 21:46     ` Junio C Hamano
2007-05-29 10:12       ` Junio C Hamano
2007-06-02 21:09         ` Junio C Hamano
2007-06-07  2:08           ` Junio C Hamano
2007-06-13 20:11             ` Junio C Hamano
2007-06-13 22:31               ` Johannes Schindelin
2007-06-14  7:12                 ` Johannes Sixt
2007-06-21  7:21               ` Junio C Hamano
2007-06-25  9:43                 ` Junio C Hamano
2007-07-02  0:16                   ` Junio C Hamano
2007-07-13  6:06                     ` What's in git.git Junio C Hamano
2007-07-28  8:47                       ` What's in git.git (stable) Junio C Hamano
2007-07-28  8:56                         ` David Kastrup
2007-07-28  9:02                           ` Junio C Hamano
2007-07-28  9:35                           ` David Kastrup
2007-07-29  3:16                             ` Theodore Tso
2007-07-29  9:05                               ` David Kastrup
2007-07-29 16:40                                 ` Theodore Tso
2007-07-29 11:27                               ` Johannes Schindelin
2007-07-28 12:28                         ` Thomas Glanzmann
2007-08-07  6:22                         ` Junio C Hamano
2007-05-09  8:46 Junio C Hamano
2007-04-16  1:27 Junio C Hamano
2007-04-18 23:58 ` Junio C Hamano
2007-04-22  6:22   ` Junio C Hamano
2007-04-23  7:04     ` Junio C Hamano
2007-04-27  8:34       ` Junio C Hamano
2007-04-27  9:19         ` Andy Parkins
2007-04-27 14:01           ` Nicolas Pitre
2007-04-27 15:21             ` Andy Parkins
2007-04-27 17:11           ` Linus Torvalds
2007-04-27 18:03             ` Andy Parkins
2007-04-27 18:12               ` Linus Torvalds
2007-04-29 18:33         ` Junio C Hamano
2007-04-30  4:15           ` J. Bruce Fields
2007-04-30  5:12             ` Junio C Hamano
2007-05-01  3:36               ` J. Bruce Fields
2007-05-06  8:53           ` Junio C Hamano
2007-05-07  0:59             ` Jakub Narebski
2007-05-07 13:33             ` Frank Lichtenheld
2007-04-09  8:17 Junio C Hamano
2007-03-31  9:34 Junio C Hamano
2007-03-31 11:54 ` Alex Riesen
2007-04-05  6:44 ` Junio C Hamano
2007-02-20  7:32 Junio C Hamano
2007-02-23  8:33 ` Junio C Hamano
2007-03-04 10:32   ` Junio C Hamano
2007-03-13  8:49     ` Junio C Hamano
2007-03-13  9:26       ` Junio C Hamano
2007-03-22 17:08       ` Steven Grimm
2007-03-22 21:30         ` Junio C Hamano
2007-03-25  8:32       ` Junio C Hamano
2007-02-14 23:54 Junio C Hamano
2007-02-07 23:21 [ANNOUNCE] GIT 1.5.0-rc4 Junio C Hamano
2007-02-13  5:15 ` What's in git.git (stable) Junio C Hamano
2007-02-13 10:15   ` Johannes Schindelin
2007-02-13 17:33     ` Junio C Hamano
2007-02-13 18:21       ` Randal L. Schwartz
2007-02-13 18:37         ` Johannes Schindelin
2007-02-13 22:02           ` Jimmy Tang
2007-02-13 23:31             ` Linus Torvalds
2007-02-13 13:56   ` Matthias Lederhofer
2007-02-13 16:58     ` Junio C Hamano
2007-02-13 14:33   ` Bill Lear
2007-02-13 14:37     ` Bill Lear
2007-02-13 17:18       ` Randal L. Schwartz
2007-02-01  0:26 [ANNOUNCE] GIT 1.5.0-rc3 Junio C Hamano
2007-02-04  9:36 ` What's in git.git (stable) Junio C Hamano
2007-02-04 18:51   ` Jeff King
2007-02-04 19:12     ` Linus Torvalds
2007-02-04 20:58       ` Theodore Tso
2007-02-04 21:34         ` Jakub Narebski
2007-02-04 22:25           ` David Kågedal
2007-01-27  8:05 Junio C Hamano
2007-01-27  8:59 ` Aneesh Kumar K.V
2007-01-27 18:06   ` J. Bruce Fields
2007-01-27 22:00   ` Junio C Hamano
2007-01-27 17:56 ` J. Bruce Fields
2007-01-28 19:34 ` Bill Lear
2007-01-28 20:06   ` Junio C Hamano
2007-01-10  8:24 Junio C Hamano
2007-01-10  8:23 Junio C Hamano
2007-01-02  0:07 Junio C Hamano
2007-01-07  7:43 ` Junio C Hamano
2006-12-31  8:07 Junio C Hamano
2006-12-26  3:22 What's in git.git (stable) and announcing GIT 1.5.0 preview Junio C Hamano
2006-12-29  5:44 ` What's in git.git (stable) Junio C Hamano
2006-12-22  9:25 Junio C Hamano
2006-12-22 17:15 ` Randal L. Schwartz
2006-12-22 17:19   ` Randal L. Schwartz
2006-12-22 18:09     ` Johannes Schindelin
2006-12-22 18:12       ` Randal L. Schwartz
2006-12-22 18:21         ` Randal L. Schwartz
2006-12-22 19:21         ` Johannes Schindelin
2006-12-22 20:13           ` Junio C Hamano
2006-12-22 20:44             ` Johannes Schindelin
2006-12-22 21:44               ` Junio C Hamano
2006-12-26 20:25                 ` Luben Tuikov
2006-12-26 23:54                   ` Junio C Hamano
2006-12-27  1:19                     ` Luben Tuikov
2006-12-27  2:14                       ` Junio C Hamano
2006-12-22 18:58     ` Junio C Hamano
2006-12-22 20:04       ` Jakub Narebski
2006-12-22 20:16         ` Junio C Hamano
2006-12-22 20:56           ` Jakub Narebski
2006-12-22 21:49             ` Junio C Hamano
2006-12-22 20:21 ` Quy Tonthat
2006-12-18  7:26 Junio C Hamano
     [not found] ` <Pine.LNX.4.64.0612181012280.3479@woody.osdl.org>
2006-12-18 22:04   ` Junio C Hamano
2006-12-16 23:10 Junio C Hamano
2006-12-13 21:35 Junio C Hamano
2006-12-13 22:37 ` Andy Parkins
2006-12-13 22:48   ` Jakub Narebski
2006-12-14  9:27     ` Andy Parkins
2006-12-14  9:36       ` Shawn Pearce
2006-12-14 10:03         ` Andy Parkins
2006-12-14 17:06         ` Nicolas Pitre
2006-12-15 14:28           ` Jakub Narebski
2006-12-13 23:31   ` Junio C Hamano
2006-12-13 23:52     ` Peter Baumann
2006-12-14  0:16     ` Johannes Schindelin
2006-12-14  3:32       ` Nicolas Pitre
2006-12-14  6:29         ` Junio C Hamano
2006-12-14  8:28     ` Andreas Ericsson
2006-12-15 14:39       ` Jakub Narebski
2006-12-14  9:59     ` Andy Parkins
2006-12-14 10:21       ` Junio C Hamano
2006-12-14 11:36         ` Andy Parkins
2006-12-14 11:45           ` Shawn Pearce
2006-12-14 11:58             ` Carl Worth
2006-12-14 12:05               ` Shawn Pearce
2006-12-14 18:06                 ` Nicolas Pitre
2006-12-14 19:52                   ` Junio C Hamano
2006-12-14 20:02                     ` Shawn Pearce
2006-12-14 20:22                       ` Nicolas Pitre
2006-12-14 20:35                       ` Junio C Hamano
2006-12-14 22:44                         ` Shawn Pearce
2006-12-14 21:55                       ` Andreas Ericsson
2006-12-15 21:55                         ` Junio C Hamano
2006-12-16  2:54                           ` Shawn Pearce
2006-12-14 20:17                     ` Nicolas Pitre
2006-12-14 20:50                       ` Junio C Hamano
2006-12-14 17:47             ` Nicolas Pitre
2006-12-14 21:58             ` Junio C Hamano
2006-12-14 22:50               ` Andy Parkins
2006-12-15 15:38                 ` Jakub Narebski
2006-12-15 15:26           ` Jakub Narebski
2006-12-15 15:30             ` Nicolas Pitre
2006-12-15 15:48               ` Andreas Ericsson
2006-12-15 16:08                 ` Nicolas Pitre
2006-12-15 16:12                   ` Shawn Pearce
2006-12-15 16:13                   ` Andreas Ericsson
2006-12-15 23:22               ` Johannes Schindelin
2006-12-15  4:07         ` Nicolas Pitre
2006-12-14 21:22       ` Junio C Hamano
2006-12-14 22:55         ` Andy Parkins
2006-12-14 23:46           ` Junio C Hamano
2006-12-15  8:58             ` Andy Parkins
2006-12-15  9:55               ` Raimund Bauer
2006-12-15 21:55               ` Junio C Hamano
2006-12-15 22:54                 ` Carl Worth
2006-12-14 23:53           ` Johannes Schindelin
2006-12-14 23:52     ` Horst H. von Brand
2006-12-15 10:53       ` Jakub Narebski
2006-12-14  0:22   ` Johannes Schindelin
2006-12-14 10:21     ` Andy Parkins
2006-12-14 10:51       ` Johannes Schindelin
2006-12-14 11:23         ` Andy Parkins
2006-12-14 11:27           ` Johannes Schindelin
2006-12-14 12:00             ` Andy Parkins
2006-12-14 12:10               ` Shawn Pearce
2006-12-14 13:20                 ` Andy Parkins
2006-12-15  0:15         ` Horst H. von Brand
2006-12-15  0:23           ` Johannes Schindelin
2006-12-14 17:23       ` Nicolas Pitre
2006-12-14 21:02         ` Andy Parkins
2006-12-14 23:03   ` Shawn Pearce
2006-12-15 16:16     ` Jakub Narebski
2006-12-15 21:55       ` Junio C Hamano
2006-12-15 22:48         ` Jakub Narebski
2006-12-15 23:25           ` Johannes Schindelin
2006-12-15 23:45             ` Junio C Hamano
2006-12-16  0:14               ` Johannes Schindelin
2006-12-16  0:30                 ` Junio C Hamano
2006-12-16 17:12                   ` Steven Grimm
2006-12-16 19:57                     ` Junio C Hamano
2006-12-15 23:42           ` Junio C Hamano
2006-12-16  9:58 ` Junio C Hamano
2006-12-16 13:59 ` Jakub Narebski
2006-12-16 22:04   ` Junio C Hamano
2006-12-06 21:18 Junio C Hamano
2006-12-08 15:36 ` Jakub Narebski
2006-12-09 20:44 ` Tilman Sauerbeck
2006-12-09 21:10   ` Junio C Hamano

Code repositories for project(s) associated with this inbox:

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).