From: Shawn O. Pearce Date: Fri, 20 Jul 2007 05:11:42 GMT Subject: Re: Another question about importing SVN with fast-import Message-ID: <20070720051142.GO32566@spearce.org> In-Reply-To: <7154c5c60707190009r6d460debs71158d4db9a028d4@mail.gmail.com> David Frech wrote: > On 7/16/07, Julian Phillips wrote: > >Now the question. Shawn recently added C and R operations - almost as > >soon as they were asked for too. However, how do you copy a file from a > >particular revision? > > I have to second Julian's question. I'm getting to it. Maybe this weekend. Right now I have git-gui work to finish, and that work is more important to me this week than fast-import is. Not that fast-import isn't important to me either, its just the way things are this week. > This is kind of a request and a comment/question. The request is: > there is no way to do *reasonably* in the front end what fast-import > can do somewhat reasonably: namely, copy a (file or directory!) > from an arbitrary previously committed revision/mark to the current > branch. I agree. > The comment/question is: how different is this, really, from being > able to specify a "from" line in a commit? In both cases I'm asking > fast-import to reach into its memory (or the repo) and pull out a > tree, and to add (some or all of it) to my current branch. Isn't the > kind of generic C command that Julian and I are asking for the same > thing, only instead of taking the whole tree (from the specified > commit) it takes a single file or directory? It is possible. I'm just not sure what the syntax for it should be. Suggestions? I really want to stay backwards compatible with the current "C" command, so: 'C' SP commit SP path SP path is out because its ambiguous with the current meaning where the second (destination) path can contain SP without being quoted by the frontend. > Lastly, do we really need "R"? With this generic copy - and I think > there should be *only* a generic version, not a "streamlined local > copy" version and a "reach into history arbitrarily" version - we can, > as an earlier poster pointed out, do R by doing a C and then a D. This > is, in fact, how svn dump files represent file and directory renames. The code for "R" is so short that I just don't see a need to remove it. Its also already out in the wild, as it has been in Junio's master for a little while now. -- Shawn.