All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Shawn O. Pearce" <spearce@spearce.org>
To: newren@gmail.com
Cc: git@vger.kernel.org, gitster@pobox.com, agladysh@gmail.com
Subject: Re: [PATCHv2 5/5] fast-import: Fix minor data-loss issue with directories becoming symlinks
Date: Tue, 6 Jul 2010 12:34:55 -0700	[thread overview]
Message-ID: <20100706193455.GA19476@spearce.org> (raw)
In-Reply-To: <1278442295-23033-6-git-send-email-newren@gmail.com>

newren@gmail.com wrote:
> From: Elijah Newren <newren@gmail.com>
> 
> When fast-export runs across a directory changing to a symlink, it will
> output the changes in the form
>   M 120000 :239821 dir-changing-to-symlink
>   D dir-changing-to-symlink/filename1
> When fast-import sees the first line, it deletes the directory named
> dir-changing-to-symlink (and any files below it) and creates a symlink in
> its place.  When fast-import came across the second line, it was previously
> trying to remove the file and relevant leading directories in
> tree_content_remove(), and as a side effect it would delete the symlink
> that was just created.  This resulted in the symlink silently missing from
> the resulting repository.

Ugh.

I'm not against making the input parser more robust, but this is
a violation of the stream format from fast-export.  The stream is
incremental, a command like 'M' takes place immediately.  It is
wrong for a frontend to output 'M foo', then 'D foo/bar'.

IMHO, if fast-export is doing what you say above, the bug lies in
fast-export, and therefore the fix should too.
 
-- 
Shawn.

  reply	other threads:[~2010-07-06 19:35 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-06 18:51 [PATCHv2 0/5] D/F conflict fixes newren
2010-07-06 18:51 ` [PATCHv2 1/5] Add additional testcases for D/F conflicts newren
2010-07-06 18:51 ` [PATCHv2 2/5] Add a rename + D/F conflict testcase newren
2010-07-06 18:51 ` [PATCHv2 3/5] merge-recursive: Fix D/F conflicts newren
2010-07-06 18:51 ` [PATCHv2 4/5] merge_recursive: Fix renames across paths below " newren
2010-07-06 18:51 ` [PATCHv2 5/5] fast-import: Fix minor data-loss issue with directories becoming symlinks newren
2010-07-06 19:34   ` Shawn O. Pearce [this message]
2010-07-06 19:48     ` Elijah Newren
2010-07-06 20:19       ` Shawn O. Pearce

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100706193455.GA19476@spearce.org \
    --to=spearce@spearce.org \
    --cc=agladysh@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=newren@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.