threads / discuss / 9481

What's in git.git (stable)

Subject: What's in git.git (stable)

## tl;dr

3 messages between Aug 11, 2007 and Aug 16, 2007.

replies: 2people: 2as markdown or json

Junio C Hamano· Aug 11, 2007, 08:41 UTC · lore

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· Aug 11, 2007, 09:32 UTC · re: Junio C Hamano · lore

Re: What's in git.git (stable)

Junio C Hamano <gitster@pobox.com> writes:
Show 7 quoted lines
> 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· Aug 16, 2007, 05:02 UTC · re: Junio C Hamano · lore

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

← back to recent threads