On 10/16/05, Philip Martin <philip@codematters.co.uk> wrote:
> Erik Huelsmann <ehuels@gmail.com> writes:
>
> > On 10/16/05, Philip Martin <philip@codematters.co.uk> wrote:
> >> The main problem is SVN_WC__LOG_MV, when the log file is first run
> >> this commands cause the file to get moved and so on a second run the
> >> command fails because the file does not exist.
> >
> > Code on trunk - at least the version I have - ignores ENOENT for
> > exactly that reason. Is it ignoring the wrong error?
>
> Ah, I made a mistake, it's not SVN_WC__LOG_MV. I'm checking out a
> repository that contains a single file, I get a log containing this
> fragment:
>
> <cp-and-translate
> dest="foo"
> name=".svn/tmp/text-base/foo.svn-base"/>
> <modify-entry
> name="foo"
> prop-time="working"/>
> <mv
> dest=".svn/text-base/foo.svn-base"
> name=".svn/tmp/text-base/foo.svn-base"/>
>
> When rerun the cp-and-translate fails because the mv has moved the
> copy target.
Yes, not all operations ignore ENOENT.
> > I was actually right now fixing a bug where SVN_WC__LOG_RM forgets to
> > ignore ENOENT. I looked at SVN_WC__LOG_MV for this behaviour. I
> > thought SVN_WC__LOG_MV was not susceptable to errors of rerunning.
> > I'll apply your patch and see what I can do to make them not fail...
>
> I know it's been that way for some time, but I think it's very dubious
> for the first run of a log file to ignore such errors.
That sounds a lot saner. I'd prefer that too.
bye,
Erik.
Received on Sun Oct 16 22:15:19 2005