# What's in git.git (stable)

3 messages from 2007-08-11 to 2007-08-16. Participants: Junio C Hamano, David Kastrup.
Thread: https://gitlist.dev/t/9481

## Junio C Hamano, 2007-08-11 08:41

Subject: What's in git.git (stable)
Message-ID: <7vir7mo42w.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7vir7mo42w.fsf%40assigned-by-dhcp.cox.net

```
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

```

## David Kastrup, 2007-08-11 09:32

Subject: Re: What's in git.git (stable)
Message-ID: <85hcn6xvqm.fsf@lola.goethe.zz>
URL: https://gitlist.dev/e/85hcn6xvqm.fsf%40lola.goethe.zz
In-Reply-To: <7vir7mo42w.fsf@assigned-by-dhcp.cox.net>

```
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

```

## Junio C Hamano, 2007-08-16 05:02

Subject: What's in git.git (stable)
Message-ID: <7v1we4m5q8.fsf@gitster.siamese.dyndns.org>
URL: https://gitlist.dev/e/7v1we4m5q8.fsf%40gitster.siamese.dyndns.org
In-Reply-To: <7vir7mo42w.fsf@assigned-by-dhcp.cox.net>

```
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

```
