Skip to content

Instantly share code, notes, and snippets.

@slonopotamus
Created September 8, 2014 13:06
Show Gist options
  • Save slonopotamus/7865ef6cfdbfbe1bb458 to your computer and use it in GitHub Desktop.
Save slonopotamus/7865ef6cfdbfbe1bb458 to your computer and use it in GitHub Desktop.
WC_DEPTH is this path's depth as reported by set_path/link_path.
REQUESTED_DEPTH is derived from the depth set by
svn_repos_begin_report().
When iterating over this directory's entries, the following tables
describe what happens for all possible combinations
of WC_DEPTH/REQUESTED_DEPTH (rows represent WC_DEPTH, columns
represent REQUESTED_DEPTH):
Legend:
X: ignore this entry (it's either below the requested depth, or
if the requested depth is svn_depth_unknown, below the working
copy depth)
o: handle this entry normally
U: handle the entry as if it were a newly added repository path
(the client is upgrading to a deeper wc and doesn't currently
have this entry, but it should be there after the upgrade, so we
need to send the whole thing, not just deltas)
For files:
______________________________________________________________
| req. depth| unknown | empty | files | immediates | infinity |
|wc. depth | | | | | |
|___________|_________|_______|_______|____________|__________|
|empty | X | X | U | U | U |
|___________|_________|_______|_______|____________|__________|
|files | o | X | o | o | o |
|___________|_________|_______|_______|____________|__________|
|immediates | o | X | o | o | o |
|___________|_________|_______|_______|____________|__________|
|infinity | o | X | o | o | o |
|___________|_________|_______|_______|____________|__________|
For directories:
______________________________________________________________
| req. depth| unknown | empty | files | immediates | infinity |
|wc. depth | | | | | |
|___________|_________|_______|_______|____________|__________|
|empty | X | X | X | U | U |
|___________|_________|_______|_______|____________|__________|
|files | X | X | X | U | U |
|___________|_________|_______|_______|____________|__________|
|immediates | o | X | X | o | o |
|___________|_________|_______|_______|____________|__________|
|infinity | o | X | X | o | o |
|___________|_________|_______|_______|____________|__________|
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment