blob: 26e98912b3e21a1a01e721c6e18235a84585e630 [file] [log] [blame]
Changes to `entries' management:
(for post-M2)
1. Directories will now have flags stored in *2* places: in THIS_DIR
and in its parent's subdir entry.
As a rule, a subdir entry will never contain any info other than
the subdir's name and its flags.
==> We must change all code that adds/removes flags to manage dir
flags in both locations. (Mainly the merge_sync routines.)
2. When retrieving a hash full of entries, the hash will represent
*exactly* whatever information is available in the entries file.
We will *not* traverse up or down directories in search of extra
information.
In particular, the only "inferences" of information allowed are
listed here:
* a file entry is assumed to inherit it's revision and URL from
THIS_DIR, if none is specified.
* all file and subdir entries implicitly inherit a 'delete'
flag from THIS_DIR, if one is present.
==> Change resolve_to_defaults to stop traversing up and down, and
only do the specific inferences above.
==> Change *ALL* callers of svn_wc_entries_read, and make sure
they understand that they're getting a hash with missing
information; teach them to fetch the info they need. This is a
*big* change.
3. The command 'svn rm dir' causes all subdirs of DIR to be
automatically marked for deletion. (And by inference rules, all
files anywhere in the subtree as well.)
4. The command 'svn add dir' only marks the one dir for addition.
In the future, maybe we can add a -R recursive flag to the add
command, or maybe people can just use 'svn import'.