Code

Merge "two fixes for fast-import's 'ls' command" from Jonathan
authorJunio C Hamano <gitster@pobox.com>
Fri, 16 Mar 2012 15:19:18 +0000 (08:19 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 16 Mar 2012 15:19:18 +0000 (08:19 -0700)
commit5087aace2d5467046c7204e038009b30fdebbca6
tree4a52d848cf86e97556676b89ff726bfcb7f1cddd
parenta99c5e5921fcb4fd003fd3424be4db649393731f
parent178e1deaae33f879ea687e85ac72455b3072b0d8
Merge "two fixes for fast-import's 'ls' command" from Jonathan

Andrew Sayers noticed that the svn-fe | git fast-import pipeline
mishandles a subversion history that copies the root directory to a
sub-directory (e.g. doing `svn cp . trunk` to standardise your
layout).  As David Barr explained, the bug arises when the following
command is sent to git fast-import:

  'ls' SP ':1' SP LF

Instead of reading back what is at the root of r1, it unconditionally
reports the path as missing.

After sleeping on it, here are two patches for 'maint'.  One plugs a
memory leak.  The other ensures that trying to pass an empty path to
the 'ls' command results in an error message that can help the
frontend author instead of the silently broken conversion Andrew
found.

Then we can carefully add 'ls ""' support in 1.7.11.

* commit 'refs/pull-request-tags/jn/maint-fast-import-empty-ls':
  fast-import: don't allow 'ls' of path with empty components
  fast-import: leakfix for 'ls' of dirty trees
fast-import.c
t/t9300-fast-import.sh