"Duke Tantiprasut" <duke@resolve-systems.com> wrote on 01/31/2006 02:37:45
PM:
> > I wouldn't say that I am against it, but I think there are so
> > many edge cases to consider that you have little chance of
> > ever seeing someone try to implement it.
> >
> > First off, let me just say that your example does a nice job
> > of expressing what you see as the requirements. But let's be
> > realistic here. Once your repository is materialized into a
> > working copy you have to start dealing with the realities and
> > limitations of the local file system. In your example, how
> > do you see the working copy code being able to see file1 as
> > having been changed, when it hasn't been?
>
> DUKE> Both working copies of /foo/file1 and /bar/file2 is compared with
the
> respository /foo/file1. If the working copy of /bar/file2 is changed and
> checked in, it updates /foo/file1. The repository /bar/file2 is simply a
> link.
But in David's example he is running svn st from within the /foo folder of
his working copy. The Subversion code would not even know that /bar
existed without doing a ton of work that it does not have to do today.
> > Now for a few quick edge cases:
> >
> > What if file1 and file2 are both modified in the working copy?
>
> DUKE> The working copy is just a "copy" and NOT a symlink on the file
> systems. If the working copy of /foo/file1 is changed, the working copy
of
> /bar/file2 is completely unaware until file1 is checked in and file2
tries
> to check in. Think of it as 2 users working on the same repository file
but
> in this case the two users are the same user and the repository file2 is
a
> symlink to repository file1.
I was referring to the user modifying both files in their working copy. As
you say, they are not symlinks, just copies so that can do this. Now they
try to commit one or both, what happens? What if they do an update first,
and it brings in changes to file1 (and therefore file2)? It now has to
merge these changes, so in theory, file1 might be conflicted now and file2
perhaps was auto-merged.
> >
> > What does svn delete of one of the files do? What if one is
> > changed and the other deleted?
>
> DUKE> delete on the link (i.e. svn://../bar/file2) removes the link. It
does
> not remove the original file. If you remove the original file, all
symlinks
> are also removed.
OK, I have local mods in file2 and I delete file1 (all in the same WC). Is
file2 removed since it was a link?
Mark
_____________________________________________________________________________
Scanned for SoftLanding Systems, Inc. and SoftLanding Europe Plc by IBM Email Security Management Services powered by MessageLabs.
_____________________________________________________________________________
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Jan 31 20:45:44 2006