From: Lars Schneider Date: Sun, 30 Jun 2019 13:05:29 GMT Subject: Re: [BUG] Symbolic links break "git fast-export"? Message-ID: <25624E1D-55F1-466D-92E0-F06C1909F920@gmail.com> In-Reply-To: <20190624185835.GA11720@sigill.intra.peff.net> > On Jun 24, 2019, at 11:58 AM, Jeff King wrote: > > On Mon, Jun 24, 2019 at 06:33:38AM -0600, Elijah Newren wrote: > >> We should probably also make a corresponding improvement to >> fast-import; it also makes some attempts to be smart about handling >> order of modifies and deletes, but misses this case. See commit >> 253fb5f8897d ("fast-import: Improve robustness when D->F changes >> provided in wrong order", 2010-07-09). It'd be nice if fast-import >> could go through the list of changes, apply the deletes first, then >> the modifies -- although I'm not sure where renames go in the order >> off the top of my head. > > You'd have to split the renames into separate delete/adds, since they > can have a circular dependency. E.g. renaming "foo" to "bar" and "bar" > to "foo", you must remove "foo" and "bar" both, and then add them back > in. @peff: Can you give me a hint how one would perform this circular dependency in a single commit? I try to write a test case for this. Thank you, Lars