[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Classifying use cases for sparse-directories

From: Rui, Guo <timmyguo_at_mail.ustc.edu.cn>
Date: Tue, 8 Apr 2008 11:46:38 +0800

Hi,
I tried to present a classification of possible use cases and to fit the
test cases in depth-tests.py into my classification.
Items prefixed with a '=' is test cases coming from depth-tests.py.
Items prefixed with a '!!' is the missed ones that should be filled in.
This is only an outline and lacks of some detail. Please remind me of tricky
corner cases that are easily neglected.

1. Basic checkout
 - empty, files & immediates
   = depth_empty_checkout
   = depth_files_checkout
   = nonrecursive_checkout

2. depth of operation (depth semantics)
 - includes what it should
   = depth_empty_commit
   = depth_empty_with_file
   = depth_empty_with_dir
   = depth_immediates_receive_delete
   = depth_immediates_subdir_propset_1
   = depth_immediates_subdir_propset_2
- exclude what it should not
   = depth_empty_update_bypass_single_file
   = depth_empty_unreceive_delete
- both include & exclude
   = depth_immediates_bring_in_file
   = commit_propmods_with_depth_empty
   = commit_depth_immediates
   = depth_immediates_get_top_file_mod_only
   = depth_immediates_receive_new_dir
   = add_tree_with_depth_files
   = diff_in_depthy_wc
   = status_in_depthy_wc
 - Explicit depth constraint
   * depth < wc-depth
     = depth_empty_update_bypass_single_file
     = depth_immediates_subdir_propset_2
     = commit_propmods_with_depth_empty
     = diff_in_depthy_wc
     = commit_depth_immediates
     = add_tree_with_depth_files
     = status_in_depthy_wc
     = depthy_update_above_dir_to_be_deleted
   * depth >= wc-depth (limited by wc-depth)
     = depth_empty_update_bypass_single_file

3 Mixed depth by explicitly pull in dir/files
 - empty + infinity/files
   = depth_empty_with_dir
   = depth_mixed_bring_in_dir
 - files + immediates/empty
   = depth_mixed_bring_in_dir
 - empty + immediates; files+infinity
 - immediates/infinity + others //only when pulling in new added ones
   !!
 - Explicitly pull in file
   = depth_empty_commit
   = depth_empty_with_file
   = depth_immediates_bring_in_file
 -Explicitly pull in subdir using --depth
   = add_tree_with_depth_files //what is the wc-depth of newly added sub
dir?
   !! svn up --depth ommited-dir, check depth?

4. Updating existing wc-depth
 - expanding
   * unified depth (clean wc)
     & Empty=>files
       = depth_update_to_more_depth
       = diff_in_depthy_wc
       = status_in_depthy_wc
       = upgrade_from_above
     & Files=>immediates
       = depth_update_to_more_depth
       = diff_in_depthy_wc
       = status_in_depthy_wc
   * mixed depth (clean wc)
     & immediates + files =>infinity
       = depth_immediates_fill_in_dir
       = depth_update_to_more_depth
     !! ?
 - folding
   * Clean wc
     !! every possible combination to depth, even with explicitly added
files
     & unversioned items
       !!
   * modified wc
     & modification to preserve
       !!
     & modification to discard (unversion it)
       !!
   * updated repos? //These are well tested in section 3, need this?
   * depth-exclude // this is good, but can be postponed...

Rui, Guo.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-04-08 05:45:00 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.