Re: [PATCH] cvsexportcommit: be graceful when "cvs status" reorders the arguments
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Feb 18, 2008, 17:43 UTC
- Message-ID
- <alpine.LSU.1.00.0802181739450.30505@racer.site>
- In-Reply-To
- <47B9B35B.7040200@catalyst.net.nz>
Hi,
On Tue, 19 Feb 2008, Martin Langhoff wrote:
Show 11 quoted lines
> Johannes Schindelin wrote: > > > Note that for this reason, only the "File:" output -- which does not > > show slashes, but only the basenames -- is used to match the files. > > We need the full path in the git repository, though, to apply the > > patches. > > Yes - that's ugly. We have a couple of options > > - Run cvs status once per directory we touch. Use -l tomake it > non-recursive. It will be a tad slower/chattier.
I think that my approach is a bit faster: make lists with unique basenames. In the most common case, there will be only one list, I suspect.
> - Parse the 'Repository revision:' line to find out what path on the > server matches our repo 'root'.
I am not so sure. It _should_ be reconstructible by CVS/Repository + dirname + basename, but I guess that it makes us susceptible to other CVS breakages. Whereas I think that we will be fine, relying on the basename in the File: line.
> > Thanks. I am confident that I will have posted another version by the > > time you come around to review it. > > Great! Careful, you might end up enjoying Perl ;-)
Heh. I always said that I like Perl, because it's easier to tell who's an expert, than for, say, Python. Unfortunately, that means that it is easy to see that I am not an expert myself :-(
Ciao, Dscho