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...@red-bean.com> on 2007/02/03 01:03:33 UTC

Re: When to merge sparse-directories branch to trunk?

On 1/24/07, Michael Brouwer <mb...@gmail.com> wrote:
> Just out of curiosity have you looked at how svk solves this?
>
> With svk the -N option is sticky, meaning update won't grab files or folders
> that are missing, instead it marks them with a '!'.  You have to svk revert
> -R to actually get a directory back.  (or without the -R for files).  This
> makes spare checkouts work quite well, and I believe svn could be made to
> work the same way without the need for as much new code as is currently in
> this branch.

Could you describe this in more detail?  I'm okay with walking away from
the new code, if there's a simpler way to do this.  (I admit, I wish someone
had brought it up when we posted the spec, back in September or October,
but that's the way it goes sometimes :-) .)

There's no mode in which you can have the missing directories as empty
subdirs, and then expand them, right?  Oh, but you don't need that,
because you see them whenever you do 'svn st', they're prefixed with "!".
Hmmm.  That's a bit scary -- it implies an error when there isn't one.
The user requested that things be this way, whereas "!" usually means
something is wrong.  On the other hand, maybe that's an interface
detail that could be tweaked.

Can you bring a subdir back in -N mode itself, though?

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

Re: When to merge sparse-directories branch to trunk?

Posted by Karl Fogel <kf...@red-bean.com>.
On 2/2/07, Karl Fogel <kf...@red-bean.com> wrote:
> On 1/24/07, Michael Brouwer <mb...@gmail.com> wrote:
> > Just out of curiosity have you looked at how svk solves this?
> >
> > With svk the -N option is sticky, meaning update won't grab files or folders
> > that are missing, instead it marks them with a '!'.  You have to svk revert
> > -R to actually get a directory back.  (or without the -R for files).  This
> > makes spare checkouts work quite well, and I believe svn could be made to
> > work the same way without the need for as much new code as is currently in
> > this branch.
>
> Could you describe this in more detail?  I'm okay with walking away from
> the new code, if there's a simpler way to do this.  (I admit, I wish someone
> had brought it up when we posted the spec, back in September or October,
> but that's the way it goes sometimes :-) .)
>
> There's no mode in which you can have the missing directories as empty
> subdirs, and then expand them, right?  Oh, but you don't need that,
> because you see them whenever you do 'svn st', they're prefixed with "!".
> Hmmm.  That's a bit scary -- it implies an error when there isn't one.
> The user requested that things be this way, whereas "!" usually means
> something is wrong.  On the other hand, maybe that's an interface
> detail that could be tweaked.
>
> Can you bring a subdir back in -N mode itself, though?

Hmm, you know, the more I think about this, the less of a solution it
seems.  What we agreed on (first at the Summit in October, then again
on this list) was a four-depth system:

   depth-empty
   depth-files   <-- today's -N
   depth-immediates
   depth-infinity    <-- today's default

(Behaviors described in detail at
.../branches/sparse-directories/README.branch.)

While SVK's "!" solution for missing directories is much simpler to implement
than what we decided on, it is also less functionality.  I'd like to go for the
Whole Solution on this one, since it's within our reach.

Am I unfairly characterizing the choice here?

-K, who just discovered a bunch of conflicts when merging latest trunk
    into the sparse-directories branch and will now go sort that out

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

Re: When to merge sparse-directories branch to trunk?

Posted by "C. Michael Pilato" <cm...@collab.net>.
Justin Erenkrantz wrote:
> On 2/20/07, Daniel Rall <dl...@collab.net> wrote:
>> I'm quite partial to the 4 depth options Karl's been working on.
> 
> +1.  -- justin

<aol>ME TOO!</aol>

-- 
C. Michael Pilato <cm...@collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand


Re: When to merge sparse-directories branch to trunk?

Posted by Justin Erenkrantz <ju...@erenkrantz.com>.
On 2/20/07, Daniel Rall <dl...@collab.net> wrote:
> I'm quite partial to the 4 depth options Karl's been working on.

+1.  -- justin

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

Re: When to merge sparse-directories branch to trunk?

Posted by Daniel Rall <dl...@collab.net>.
On Tue, 20 Feb 2007, Karl Fogel wrote:

> "Michael Brouwer" <mb...@gmail.com> writes:
> > The way it works is.  You do a checkout with the -N flag, or you do a full
> > checkout and manually rm -rf any subtrees you are not interested in right now.
> >
> > svk update will never recreate a subdir (or file) you deleted this way.  The
> > only way to get back a file or dir that is missing (or was never checked out)
> > is by using svk revert.  By default revert will only give you the top level
> > object you are reverting.  If you want a whole subtree add the -R switch.
> >
> > svk status shows you any missing files/subdirs with '!' unless you pass it the
> > -q switch in which case no '!" nor '?' files are shown.
> >
> >     There's no mode in which you can have the missing directories as empty
> >     subdirs, and then expand them, right?  Oh, but you don't need that,
> >     because you see them whenever you do 'svn st', they're prefixed with "!".
> >     Hmmm.  That's a bit scary -- it implies an error when there isn't one.
> >     The user requested that things be this way, whereas "!" usually means
> >     something is wrong.  On the other hand, maybe that's an interface
> >     detail that could be tweaked.
> >
> > In svk '!' simply means a file or directory which is under version control is
> > missing from your working copy.  This is actually exactly what is happening
> > when you checkout a partial tree. 
> >
> >     Can you bring a subdir back in -N mode itself, though?
> >
> > Yes, svk revert subdir (without -R) will bring back just subdir itself.
> 
> Thanks for the writeup, Michael.
> 
> Hmmm.  I feel like this sacrifices ease of use for ease of
> implementation.  There's nothing wrong with that in principle
> (everything's a tradeoff), but it's pretty different from what we
> decided on for an interface, and we chose the interface based on what
> would be best for users while still implementable.
...

I'm quite partial to the 4 depth options Karl's been working on.

Re: When to merge sparse-directories branch to trunk?

Posted by Karl Fogel <kf...@red-bean.com>.
"Michael Brouwer" <mb...@gmail.com> writes:
> The way it works is.  You do a checkout with the -N flag, or you do a full
> checkout and manually rm -rf any subtrees you are not interested in right now.
>
> svk update will never recreate a subdir (or file) you deleted this way.  The
> only way to get back a file or dir that is missing (or was never checked out)
> is by using svk revert.  By default revert will only give you the top level
> object you are reverting.  If you want a whole subtree add the -R switch.
>
> svk status shows you any missing files/subdirs with '!' unless you pass it the
> -q switch in which case no '!" nor '?' files are shown.
>
>     There's no mode in which you can have the missing directories as empty
>     subdirs, and then expand them, right?  Oh, but you don't need that,
>     because you see them whenever you do 'svn st', they're prefixed with "!".
>     Hmmm.  That's a bit scary -- it implies an error when there isn't one.
>     The user requested that things be this way, whereas "!" usually means
>     something is wrong.  On the other hand, maybe that's an interface
>     detail that could be tweaked.
>
> In svk '!' simply means a file or directory which is under version control is
> missing from your working copy.  This is actually exactly what is happening
> when you checkout a partial tree. 
>
>     Can you bring a subdir back in -N mode itself, though?
>
> Yes, svk revert subdir (without -R) will bring back just subdir itself.

Thanks for the writeup, Michael.

Hmmm.  I feel like this sacrifices ease of use for ease of
implementation.  There's nothing wrong with that in principle
(everything's a tradeoff), but it's pretty different from what we
decided on for an interface, and we chose the interface based on what
would be best for users while still implementable.  (Also, does it cut
down on unnecessary server/client traffic?  I.e., when a directory is
missing on purpose, are things arranged so that the server doesn't
send back changes under that directory in updates?)

(Btw, for those wondering where the commits are: I've had a busy
couple of weeks and haven't been able to work much on
sparse-directories, but next week is much clearer and I'll be able to
hack on it then.)

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

Re: When to merge sparse-directories branch to trunk?

Posted by Michael Brouwer <mb...@gmail.com>.
On 2/2/07, Karl Fogel <kf...@red-bean.com> wrote:
>
>
> Could you describe this in more detail?  I'm okay with walking away from
> the new code, if there's a simpler way to do this.  (I admit, I wish
> someone
> had brought it up when we posted the spec, back in September or October,
> but that's the way it goes sometimes :-) .)



The way it works is.  You do a checkout with the -N flag, or you do a full
checkout and manually rm -rf any subtrees you are not interested in right
now.

svk update will never recreate a subdir (or file) you deleted this way.  The
only way to get back a file or dir that is missing (or was never checked
out) is by using svk revert.  By default revert will only give you the top
level object you are reverting.  If you want a whole subtree add the -R
switch.

svk status shows you any missing files/subdirs with '!' unless you pass it
the -q switch in which case no '!" nor '?' files are shown.

There's no mode in which you can have the missing directories as empty
> subdirs, and then expand them, right?  Oh, but you don't need that,
> because you see them whenever you do 'svn st', they're prefixed with "!".
> Hmmm.  That's a bit scary -- it implies an error when there isn't one.
> The user requested that things be this way, whereas "!" usually means
> something is wrong.  On the other hand, maybe that's an interface
> detail that could be tweaked.


In svk '!' simply means a file or directory which is under version control
is missing from your working copy.  This is actually exactly what is
happening when you checkout a partial tree.

Can you bring a subdir back in -N mode itself, though?


Yes, svk revert subdir (without -R) will bring back just subdir itself.

Michael