Todo List

Class estat
Single status, and check entries on-time?

Global estat::was_output
Remove by changing the logic.

Global url_t::session
Session sharing for URLs in the same repository.

Global acl_urls
: remove initialize

File cache.c
Convert the other caches.

File cache.c
Let the apr_uid_get() calls from update.c go into that - but they need a hash or something like that. Maybe reverse the test and look whether the number (eg. uid) matches the string (username)?

File cat.c

Global cm__detect
Do we really need to load the URLs here? They're needed for associating the entries - but maybe we should do that two-way:
  • just read intnum , and store it again
  • or process to (struct url_t*).

Global ops__build_path
A further optimization would be to check if a parent is already present, and append to that path. Similar for a neighbour entry.

Global ops__delete_entry
Use a binary search in the by_inode and by_name arrays.

Global ANSI__BLUE
We assume light text on dark background here.

Global hsh___new_bare
remove this bugfix sometime ...

Global hlp__format_path
Build the wc_relative_path only if necessary - remove the parameter from the caller chains.

Global hlp__format_path
We should set it beginning from a command line parameter, if we have one. Preferably the nearest one ...

Global hlp__get_grname
Keep most-used?

Global opt__variable_from_option
Maybe the variable reading should be changed to use this code, and loop via getenv() over all options?

File props.c
--xml, --raw, --dump switches?

File props.c
should prop-get and prop-list use UTF-8 or local encoding? Currently the names and values are dumped as-is, ie. UTF-8.

Global prp__set_from_aprhash
- store in utf-8? local encoding? What if it's binary??? Better do no translation, ie store as UTF-8.

Global cb___delete_entry
conflict?

Global cb___open_directory
conflict - removed locally? added

Global cb__init
Authentication providers.

Global rev__get_text_to_stream
if it's NULL, but an update-pipe is set on the entry, the data has to be read from disk again, to be correctly processed.

File update.c
Could be made a bit faster. Either with multiple threads, or changing the subversion API to get all text-base changes in full-text. For a small change fsvs could query whole new trees with an "old" update.

Global up__rmdir
conflict

Global url__output_list
is 1024 bytes always enough? Maybe there's an RFC. Make that dynamically - look how much we'll need.

Global url__output_list
: writev

Global waa__find_common_base2
Should that be changed to base="/"?

Global waa__init
remove when gcc doesn't warn about strlen("const") initializers. See debian bug #60xxxx. And see below for WAA_PATH, too.

Global waa__open_dir
Should possibly be eliminated.

Global waa__output_tree
Currently hardlinks with duplicate inode-numbers are not well done in fsvs.

Group md5s_overview
When we do a rsync-copy from the repository, we'll have to look at that again! Either we write the last block too, or we'll have to ask for the last few bytes extra.

Group cmds
-0 like for xargs?

Group cmds
Are different revision numbers for load necessary? Should dump print the source revision number?

Group cmds
Copying from URLs means update from there

Group cmds
Filter for dump (patterns?).

Group cmds
some parameter that just prints the "best" match, and outputs the correct format.

Group cmds
Two revisions diff is buggy in that it (currently) always fetches the full tree from the repository; this is not only a performance degradation, but you'll see more changed entries than you want. This will be fixed.

Group cmds
Another limitation is that just-deleted just-committed entries cannot be fetched via revert, as FSVS no longer knows about them.
TODO: If a revision is given, take a look there, and ignore the local data?

Group ignpat_dev
Currently all patterns get tested against all new entries. This does not seem to be a performance problem.

Global FSVS_PROP_ORIG_MD5
Do we need some kind of SALT here, to avoid plaintext guessing?

Generated for fsvs by  doxygen 1.5.9