You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Karl Fogel <kf...@google.com> on 2006/10/03 21:18:29 UTC

Re: svn commit: r21745 - branches/fs-atomic-renames/notes

rooneg@tigris.org writes:
> +What's wrong with this?  Well, what if we need to rename A/B to X/Y so that
> +we can later rename X/Y to A/B?  Not sure if there's a work around for that,
> +but I'm also not sure if there's a way to get that into the system anyway.

I think when something like that happens in a single commit txn, we'd
just "fold it down" (or "reduce to lowest common denominator", to use
one more metaphor before actually saying exactly what I mean).

In other words,

   mv A/B X/Y
   mv X/Y A/B

should reduce to a no-op.  Do we actually do this folding right now?
I'm not sure; I think we should, though.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: svn commit: r21745 - branches/fs-atomic-renames/notes

Posted by Garrett Rooney <ro...@electricjellyfish.net>.
On 10/3/06, Mark Phippard <ma...@softlanding.com> wrote:
> Karl Fogel <kf...@google.com> wrote on 10/03/2006 06:45:46 PM:
>
> > > I don't think you can rename something that's already been renamed, at
> > > least not in the current implementation.
> >
> > Oh, you can't (I've tried before).  I meant "would" in the hopeful
> > sense...
>
> Have you tried trunk?  I thought you could now copy and rename stuff
> "infinitely" now.

In a working copy, yes, but not in the filesystem code.

-garrett

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: svn commit: r21745 - branches/fs-atomic-renames/notes

Posted by Mark Phippard <ma...@softlanding.com>.
Karl Fogel <kf...@google.com> wrote on 10/03/2006 06:45:46 PM:

> > I don't think you can rename something that's already been renamed, at
> > least not in the current implementation.
> 
> Oh, you can't (I've tried before).  I meant "would" in the hopeful
> sense...

Have you tried trunk?  I thought you could now copy and rename stuff 
"infinitely" now.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: svn commit: r21745 - branches/fs-atomic-renames/notes

Posted by Karl Fogel <kf...@google.com>.
"Garrett Rooney" <ro...@electricjellyfish.net> writes:
> On 10/3/06, Karl Fogel <kf...@google.com> wrote:
>> "Garrett Rooney" <ro...@electricjellyfish.net> writes:
>> > That's assuming that those are intended to be sequential, I was
>> > assuming that they were intended to be simultaneous (i.e. swap the
>> > locations of A/B and X/Y), which we can't actually do at this point.
>>
>> Oh!  Good point.  Although if you put the classic tmp var in the
>> middle, would it work?
>>
>>    mv A/B TMP
>>    mv X/Y A/B
>>    mv TMP X/Y
>>
>> If that all happens in one txn, would there be any record of TMP ever
>> existing?  Would X/Y's history simply say it came from "A/B"@PREV_REV ?
>
> I don't think you can rename something that's already been renamed, at
> least not in the current implementation.

Oh, you can't (I've tried before).  I meant "would" in the hopeful
sense...

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: svn commit: r21745 - branches/fs-atomic-renames/notes

Posted by Garrett Rooney <ro...@electricjellyfish.net>.
On 10/3/06, Karl Fogel <kf...@google.com> wrote:
> "Garrett Rooney" <ro...@electricjellyfish.net> writes:
> > That's assuming that those are intended to be sequential, I was
> > assuming that they were intended to be simultaneous (i.e. swap the
> > locations of A/B and X/Y), which we can't actually do at this point.
>
> Oh!  Good point.  Although if you put the classic tmp var in the
> middle, would it work?
>
>    mv A/B TMP
>    mv X/Y A/B
>    mv TMP X/Y
>
> If that all happens in one txn, would there be any record of TMP ever
> existing?  Would X/Y's history simply say it came from "A/B"@PREV_REV ?

I don't think you can rename something that's already been renamed, at
least not in the current implementation.

-garrett

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: svn commit: r21745 - branches/fs-atomic-renames/notes

Posted by Karl Fogel <kf...@google.com>.
"Garrett Rooney" <ro...@electricjellyfish.net> writes:
> That's assuming that those are intended to be sequential, I was
> assuming that they were intended to be simultaneous (i.e. swap the
> locations of A/B and X/Y), which we can't actually do at this point.

Oh!  Good point.  Although if you put the classic tmp var in the
middle, would it work?

   mv A/B TMP
   mv X/Y A/B
   mv TMP X/Y

If that all happens in one txn, would there be any record of TMP ever
existing?  Would X/Y's history simply say it came from "A/B"@PREV_REV ?

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: svn commit: r21745 - branches/fs-atomic-renames/notes

Posted by Garrett Rooney <ro...@electricjellyfish.net>.
On 10/3/06, Karl Fogel <kf...@google.com> wrote:
> rooneg@tigris.org writes:
> > +What's wrong with this?  Well, what if we need to rename A/B to X/Y so that
> > +we can later rename X/Y to A/B?  Not sure if there's a work around for that,
> > +but I'm also not sure if there's a way to get that into the system anyway.
>
> I think when something like that happens in a single commit txn, we'd
> just "fold it down" (or "reduce to lowest common denominator", to use
> one more metaphor before actually saying exactly what I mean).
>
> In other words,
>
>    mv A/B X/Y
>    mv X/Y A/B
>
> should reduce to a no-op.  Do we actually do this folding right now?
> I'm not sure; I think we should, though.

That's assuming that those are intended to be sequential, I was
assuming that they were intended to be simultaneous (i.e. swap the
locations of A/B and X/Y), which we can't actually do at this point.

-garrett

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org