Todo List

Global acl_urls
: remove initialize

We assume light text on dark background here.

File cache.c

Convert the other caches.

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 cb___delete_entry

Global cb___open_directory
conflict - removed locally? added

Global cb__init
Authentication providers.

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*).

Group cmds

-0 like for xargs?

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

Copying from URLs means update from there

Filter for dump (patterns?).

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

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

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?
As a workaround you could use the cat and/or checkout commands to fetch repository-only data.

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

Global estat::was_output
Remove by changing the logic.

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

Global hlp__format_path

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

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 hsh___new_bare
remove this bugfix sometime ...

Group ignpat_dev

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

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.

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 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?

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 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.

Global up__rmdir

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 url__output_list

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

: writev

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

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.

Generated for fsvs by  doxygen 1.6.1