git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] fast-import: catch deletion of non-existent file in input

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Jul 15, 2012, 18:11 UTC
Message-ID
<20120715181151.GA1986@burratino>
In-Reply-To
<20120715102300.GA28667@sigill.intra.peff.net>
Hi,
Jeff King wrote:
> Subject: fast-import: catch deletion of non-existent file in input
[...]
> We silently ignored the bogus "D foo" directive, and the
> resulting tree incorrectly contained "bar". With this patch,
> we notice the bogus input and die.

This breaks svn-fe, which relies on the existing semantics when asked to copy an empty directory.

That's my fault because we never check that in the testsuite, but I also wouldn't be surprised if other importers were relying on the same thing.

Any API break this big without a justification along the lines
	We can be confident that no existing importer uses this
	construct because ...

_needs_ to be guarded by a new "feature" to be safe for existing importers.

Let's repeat that for emphasis: API breaks in fast-import not guarded with a new "feature" type are not ok.

Sorry, Jonathan

Previous: Jeff KingNext: Jeff King
Message 8 of 9 in “Export from bzr / Import to git results in a deleted file re-appearing”
  1. Felix NatterJul 12, 2012
  2. Jeff KingJul 12, 2012
  3. Andreas SchwabJul 13, 2012
  4. Jeff KingJul 13, 2012
  5. Andreas SchwabJul 13, 2012
  6. Felix NatterJul 14, 2012
  7. fast-import: catch deletion of non-existent file in inputJeff King, Jul 15, 2012
  8. Jonathan NiederJul 15, 2012
  9. Jeff KingJul 16, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.