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/08/30 16:17:09 UTC

Sparse directories: State of the Onion

I recently reviewed all the remaining sparse directories stuff.  The
quick summary:

For one programmer, it would be about 2-4 weeks of work.  Luckily,
it's very parallelizeable, so as long as we coordinate, we can
systematically mop this stuff up.  Also, some things can maybe be
deferred to after 1.5; not everything on the list is a showstopper.

The detailed version:

Here's a rundown on all the issues.  (I'm currently finishing #2882
['make commit --depth work'], and intend to spend some parallel time
on #2846.  I'll start on #2844 right after that, which overlaps with
some of the other issues.)

Please post if there's anything important not on this list:

* Issue #2845  "Tweak API's to handle svn_depth_unknown"
  APIs in question: svn_client_diff4(), svn_client_diff_summarize2(),
      svn_client_diff_summarize_peg2(), svn_client_diff_peg3()

  In the issue just now, I wrote the following:

  "I agree that ideally this change would be made.  However, we should
  test to see if diff behaves acceptably with combinations of depthy
  working copies and the --depth option already.  If it is, then this
  issue can and should be deferred, as it is not an API issue in the
  formal (compatibility) sense."

  STATUS: 3/5 days, but maybe deferrable, see above.


* Issue #2882  "make 'svn commit --depth' work"

  STATUS: 1/2 days (almost done, I'm working on it, issue reflects this)


* Issue #2843  "Create interface for removing stuff from working copy"

  STATUS: Not started.  How hard?  Not sure, but minimum 3/5 days I
          think.  However, this may be deferrable from 1.5; it's not a
          showstopper to ship without it, just less than ideal.


* Issue #2847  "Some API's still take recurse booleans instead of depth"

  STATUS: Probably 2/3 days.  But deferrable if absolutely necessary;
          not all these APIs necessarily need to be changed in 1.5,
          although it would be good to get as many as we can.  (I have
          said so in the issue.)


* Issue #2846  "Tests needed for some subcommands"

  STATUS: 1/2 days?  Senthil is already doing this, and asking for
          others to review his plans.  I'll do so, Senthil, sorry for
          the delay (on an airplane and therefore offline yesterday).


* Issue #2842  "deal with unwanted data sent from older servers"
  Only perf issues left (ra_serf could omit fetches of unwanted data).

  STATUS: Nice to have, but could be deferred to after 1.5 if necessary.
          (Said so in the issue just now.)


* Issue #2864  "Cannot commit directory deletions non-recursively"

  STATUS: Deferrable.  This may come out "in the wash" of sparse-dirs
          changes anyway, but if it's still present, it can be
          deferred -- it is an irritation, but not a 1.5 showstopper.


* Issue #2844  "Review all TODO(sd) comments in codebase"

  STATUS: 5/10 days to handle all remaining, see details below.  Note
          that this issue overlaps with some of the ones above, naturally.

  Here are details on all the "TODO(sd)" comments remaining after
  r26390 and r26391.  I've put this list into the issue, too.

  HARD:
    - svn_client_update3: depth-immediates should update the presence or
        absence of subdirs.  But does it?
    - svn_client_switch2: depth-immediates behavior may not be
        implemented yet.  May be related to above.
    - libsvn_client/commit.c/svn_client_commit4(): Issue #2882 in
         progress.  Note there are two comments here; the second is easy.
    - libsvn_client/externals.c/svn_client__do_external_status(): Is
         unconditional recursion of svn_client_status3() really
         correct?  Probably not, because then we might recurse farther
         into an external subdir than the user requested.

  MEDIUM:
    - svn_wc_get_update_editor3: verify that doc string claims are true
    - svn_wc_get_diff_editor4: figure out what doc string means, clarify
    - svn_client_merge3: doc string clarification, also needs testing
  
  MEDIUM BUT POSSIBLY DEFERRABLE:
    - svn_client_add4: should take a depth argument.
        See also svn_wc_add2() comment below.
    - libsvn_wc/adm_ops.c/svn_wc_add2(): Just acknowledging above.
    - svn_client_import3: maybe take depth instead of nonrecursive?
    - svn_client_revert: maybe take depth?  Also, has someone started
        this already? 
    - svn_client_resolved2: maybe take depth?
    - svn_client_propset3: maybe take depth?
    - svn_client_propget3: maybe take depth?  (Very likely deferrable?)
    - svn_client_info: maybe take depth?  (Also likely deferrable?)
        ### I'd hoped that the above svn_client_revert(),
        ### svn_client_resolved2(), svn_client_propset3(),
        ### svn_client_propget3(), and svn_client_info() would all
        ### share a generic recursion framework.  It turns out that
        ### only resolved2, propset3, and propget3 share one, though:
        ### the svn_wc_walk_entries3() mechanism.  But adding depth
        ### support to that will probably still save some some time
        ### and code duplication, at least for them.
    - libsvn_client/diff.c:diff_repos_repos(): Hmm, do we even implement
        depth for repos->repos diffs?  It would be nice if we did, but
        this may be deferrable.
    - libsvn_client/diff.c:diff_summarize_repos_repos(): same as above
  
  EASY: 
    - svn_repos_dir_delta2: doc string
    - svn_wc_adm_open3: doc string and var name change
    - svn_wc_crawl_revisions2: doc string
    - svn_ra_do_update2: just test that depth works as documented.
    - svn_ra_do_switch2: same.
    - svn_ra_do_status2: same.
    - svn_ra_do_diff3: same.
    - libsvn_wc/diff.c:make_editor_baton(): document
    - libsvn_wc/status.c:close_directory(): verify that it can't happen
                                            ### Do right after this.
    - libsvn_ra_neon/fetch.c:make_reporter(): doc string
  
  EASY AND POSSIBLY DEFERRABLE:
    - svn_client_diff4: in depth-immediates case, diff subdir props?
  
  MYSTERIOUS:
    - libsvn_repos/delta.c:delta_dirs(): Three identical comments about
         possible future need for trinary conditional.  Ask on list
         about this.

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

Re: Sparse directories: State of the Onion

Posted by Karl Fogel <kf...@red-bean.com>.
"Mark Phippard" <ma...@gmail.com> writes:
>> > svn up -r123 wc
>>
>> Mark, was this resolved?
>
> I believe they are still working on it.  Karl is definitely aware of it now.

Oh yes, he is.

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

Re: Sparse directories: State of the Onion

Posted by Mark Phippard <ma...@gmail.com>.
On 10/5/07, David Glasser <gl...@davidglasser.net> wrote:
> On 9/11/07, Mark Phippard <ma...@gmail.com> wrote:
> > On 9/11/07, David Glasser <gl...@davidglasser.net> wrote:
> > > On 9/10/07, Karl Fogel <kf...@red-bean.com> wrote:
> > > > Karl Fogel <kf...@red-bean.com> writes:
> > > > > +1  I'll be running --depth tests against 1.4.x servers to see what
> > > > > breaks.  This is important, we shouldn't release w/o doing it.
> > > >
> > > > And vice versa, of course.
> > >
> > > The good news is that the last time I checked, 1.4.x clients did pass
> > > all tests against trunk servers!  This was a few months ago, though.
> >
> > I have a scenario in issue 695 that does not work with older servers
> > when the WC is using sparse directories:
> >
> > svn up -r123 wc
>
> Mark, was this resolved?

I believe they are still working on it.  Karl is definitely aware of it now.

-- 
Thanks

Mark Phippard
http://markphip.blogspot.com/

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

Re: Sparse directories: State of the Onion

Posted by David Glasser <gl...@davidglasser.net>.
On 9/11/07, Mark Phippard <ma...@gmail.com> wrote:
> On 9/11/07, David Glasser <gl...@davidglasser.net> wrote:
> > On 9/10/07, Karl Fogel <kf...@red-bean.com> wrote:
> > > Karl Fogel <kf...@red-bean.com> writes:
> > > > +1  I'll be running --depth tests against 1.4.x servers to see what
> > > > breaks.  This is important, we shouldn't release w/o doing it.
> > >
> > > And vice versa, of course.
> >
> > The good news is that the last time I checked, 1.4.x clients did pass
> > all tests against trunk servers!  This was a few months ago, though.
>
> I have a scenario in issue 695 that does not work with older servers
> when the WC is using sparse directories:
>
> svn up -r123 wc

Mark, was this resolved?

--dave

-- 
David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/

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

Re: Sparse directories: State of the Onion

Posted by Mark Phippard <ma...@gmail.com>.
On 9/11/07, David Glasser <gl...@davidglasser.net> wrote:
> On 9/10/07, Karl Fogel <kf...@red-bean.com> wrote:
> > Karl Fogel <kf...@red-bean.com> writes:
> > > +1  I'll be running --depth tests against 1.4.x servers to see what
> > > breaks.  This is important, we shouldn't release w/o doing it.
> >
> > And vice versa, of course.
>
> The good news is that the last time I checked, 1.4.x clients did pass
> all tests against trunk servers!  This was a few months ago, though.

I have a scenario in issue 695 that does not work with older servers
when the WC is using sparse directories:

svn up -r123 wc

-- 
Thanks

Mark Phippard
http://markphip.blogspot.com/

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

Re: Sparse directories: State of the Onion

Posted by David Glasser <gl...@davidglasser.net>.
On 9/10/07, Karl Fogel <kf...@red-bean.com> wrote:
> Karl Fogel <kf...@red-bean.com> writes:
> > +1  I'll be running --depth tests against 1.4.x servers to see what
> > breaks.  This is important, we shouldn't release w/o doing it.
>
> And vice versa, of course.

The good news is that the last time I checked, 1.4.x clients did pass
all tests against trunk servers!  This was a few months ago, though.

--dave

-- 
David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/

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

Re: Sparse directories: State of the Onion

Posted by Karl Fogel <kf...@red-bean.com>.
Karl Fogel <kf...@red-bean.com> writes:
> +1  I'll be running --depth tests against 1.4.x servers to see what
> breaks.  This is important, we shouldn't release w/o doing it.

And vice versa, of course.

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

Re: Sparse directories: State of the Onion

Posted by Karl Fogel <kf...@red-bean.com>.
"David Glasser" <gl...@davidglasser.net> writes:
>> > Backwards-compatibility testing!  My initial efforts in July revealed
>> > some serious bugs (which we fixed); unfortunately, I got busy
>> > finishing my thesis and moving to San Francisco and haven't finished
>> > new-client-old-server test infrastructure, but given the bugs we
>> > already found, I would be incredibly uncomfortable releasing 1.5
>> > without a way to automatically verify behavior of old clients with new
>> > servers and vice versa.
>>
>> While I have not done any formal testing, I have used the 1.5 merge
>> code a lot with tigris.org servers as the back-end (which are running
>> 1.3) and I have not ran into any problems.
>
> Yeah, I am more concerned about --depth here than the other 1.5 features.

+1  I'll be running --depth tests against 1.4.x servers to see what
breaks.  This is important, we shouldn't release w/o doing it.

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

Re: Sparse directories: State of the Onion

Posted by David Glasser <gl...@davidglasser.net>.
On 9/8/07, Mark Phippard <ma...@gmail.com> wrote:
> On 9/8/07, David Glasser <gl...@davidglasser.net> wrote:
> > On 8/30/07, Karl Fogel <kf...@red-bean.com> wrote:
> > > I recently reviewed all the remaining sparse directories stuff.  The
> > > quick summary:
> > >
> > > For one programmer, it would be about 2-4 weeks of work.  Luckily,
> > > it's very parallelizeable, so as long as we coordinate, we can
> > > systematically mop this stuff up.  Also, some things can maybe be
> > > deferred to after 1.5; not everything on the list is a showstopper.
> > >
> > > The detailed version:
> > >
> > > Here's a rundown on all the issues.  (I'm currently finishing #2882
> > > ['make commit --depth work'], and intend to spend some parallel time
> > > on #2846.  I'll start on #2844 right after that, which overlaps with
> > > some of the other issues.)
> > >
> > > Please post if there's anything important not on this list:
> >
> > Backwards-compatibility testing!  My initial efforts in July revealed
> > some serious bugs (which we fixed); unfortunately, I got busy
> > finishing my thesis and moving to San Francisco and haven't finished
> > new-client-old-server test infrastructure, but given the bugs we
> > already found, I would be incredibly uncomfortable releasing 1.5
> > without a way to automatically verify behavior of old clients with new
> > servers and vice versa.
>
> While I have not done any formal testing, I have used the 1.5 merge
> code a lot with tigris.org servers as the back-end (which are running
> 1.3) and I have not ran into any problems.

Yeah, I am more concerned about --depth here than the other 1.5 features.

--dave

-- 
David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/

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

Re: Sparse directories: State of the Onion

Posted by Mark Phippard <ma...@gmail.com>.
On 9/8/07, David Glasser <gl...@davidglasser.net> wrote:
> On 8/30/07, Karl Fogel <kf...@red-bean.com> wrote:
> > I recently reviewed all the remaining sparse directories stuff.  The
> > quick summary:
> >
> > For one programmer, it would be about 2-4 weeks of work.  Luckily,
> > it's very parallelizeable, so as long as we coordinate, we can
> > systematically mop this stuff up.  Also, some things can maybe be
> > deferred to after 1.5; not everything on the list is a showstopper.
> >
> > The detailed version:
> >
> > Here's a rundown on all the issues.  (I'm currently finishing #2882
> > ['make commit --depth work'], and intend to spend some parallel time
> > on #2846.  I'll start on #2844 right after that, which overlaps with
> > some of the other issues.)
> >
> > Please post if there's anything important not on this list:
>
> Backwards-compatibility testing!  My initial efforts in July revealed
> some serious bugs (which we fixed); unfortunately, I got busy
> finishing my thesis and moving to San Francisco and haven't finished
> new-client-old-server test infrastructure, but given the bugs we
> already found, I would be incredibly uncomfortable releasing 1.5
> without a way to automatically verify behavior of old clients with new
> servers and vice versa.

While I have not done any formal testing, I have used the 1.5 merge
code a lot with tigris.org servers as the back-end (which are running
1.3) and I have not ran into any problems.

-- 
Thanks

Mark Phippard
http://markphip.blogspot.com/

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

Re: Sparse directories: State of the Onion

Posted by David Glasser <gl...@davidglasser.net>.
On 8/30/07, Karl Fogel <kf...@red-bean.com> wrote:
> I recently reviewed all the remaining sparse directories stuff.  The
> quick summary:
>
> For one programmer, it would be about 2-4 weeks of work.  Luckily,
> it's very parallelizeable, so as long as we coordinate, we can
> systematically mop this stuff up.  Also, some things can maybe be
> deferred to after 1.5; not everything on the list is a showstopper.
>
> The detailed version:
>
> Here's a rundown on all the issues.  (I'm currently finishing #2882
> ['make commit --depth work'], and intend to spend some parallel time
> on #2846.  I'll start on #2844 right after that, which overlaps with
> some of the other issues.)
>
> Please post if there's anything important not on this list:

Backwards-compatibility testing!  My initial efforts in July revealed
some serious bugs (which we fixed); unfortunately, I got busy
finishing my thesis and moving to San Francisco and haven't finished
new-client-old-server test infrastructure, but given the bugs we
already found, I would be incredibly uncomfortable releasing 1.5
without a way to automatically verify behavior of old clients with new
servers and vice versa.

--dave

-- 
David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/

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