Changes since 1.1.16
- New "uncopy" command, to disambiguate "revert". Manually added or 
	"prop-set" entries are kept known.
- Small cleanups and documentation updates.
- New option "config_dir", important for client certificate authentication.
- Performance fix for "fsvs diff -rX:Y entry" - don't diff the whole
  working copy, only the given entries.
- "fsvs info" for the working copy root now prints the revision of the 
	highest priority URL, and not "0".
- Bugfix for "dir_sort" option; the root directory wasn't printed.
- New command "delay", for use in scripts.
- The option "dir_sort" now uses strcoll(), ie. sorts according to the 
	current locale.
- A new flag for ignore patterns, for matching directories only.
- "diff" showed for replaced entries "only in rX" - fixed.
- Changed the recursive behaviour to do the whole hierarchy before the 
	parent directory - needed for revert.
- Configure and install fixes, patch by Maurice. Thank you.
- Fixed duplicate "fsvs info deleted-directory" output.
- New option "all_removed", to trim the output for deleted hierarchies.
- Fixed a small memory usage problem, not directly a leak, but noticeable 
  with "sync-repos"; and a workaround for svn_ra_local__get_file() eating
	memory. Thank you, Plamen.
- User-readable error on non-writeable $FSVS_CONF. Thank you, Thomas.
- New command "rel-ignore" for converting input to relative ignore 
	patterns.
- Try to get the directory mtimes correct again; that's a bit ugly, because 
  of arbitrary changes.
- Bugfix: for http URLs the temporary directory was filled with files.
- Export some environment variables for use in diff, commit- and 
  update-pipes.
- The filter option now allows "mode"; and it should work correctly 
  for commit, too.
- Splitted "-C" into finer grained option settings "-o change_check".
  Changed the default to use MD5 on possibly-changed files.
- Started a "tips & tricks" document.
- Fixed the directory mtime for meta-data-less ("svn import"ed), empty 
  directories.
- Bugfix: new parent directories sent wrong meta-data to the repository on 
	a deep commit (ie. the parent directory wasn't directly mentioned).
- Bugfix for filtered commit (eg. "-f text").
- Another try to detect invalid "colordiff" program names, and a better 
  message than a simple "EPIPE".
- Lots of internal data structure changes, and how the entries are handled.
- New "fsvs cat" command, to fetch really pristine copies from the 
  repository.
- Some documentation fixes, and repairs for the man pages.
- FSVS now shows "maybe changed" for unreadable files or directories; 
  should we throw a warning? 
- Ignore patterns can now match the entries' mode.

Changes since 1.1.15
- FSVS_WARNINGS removed. Use FSVS_WARNING.
- Small fixes and cleanups.
- Handling of FSVS_WAA and FSVS_CONF now via the normal option handling, to 
	reduce code size. Now it's possible to use "-oconf=..." on the command 
	line, too.
	(But it's not possible to override the paths from the config file.)
- Fixed EPIPE handling in many functions, most notably on "fsvs st" output.
- The colordiff option has changed; it can now be used to specify the 
	binary to use instead of the default "colordiff".
- "fsvs diff" would leave a temporary file behind if the colordiff binary 
	quits unexpectedly, or a EPIPE was caught.
- Bugfix for error after commit, when $EDITOR returned an 0 byte file as 
	commit message.
- "fsvs diff" changed to recursive behaviour, as "svn" does.
- Fixed "fsvs diff -rX" to print only changed entries, not the whole list.
- "fsvs diff -rX:Y" reimplemented, too; performance could get optimized.
- Changed the memory allocation pattern to (hopefully) allocate in larger 
	blocks.
- Removed entries are not kept in some mixed mode internally, but 
	temporarily copied and remembered as old - cleans up some code, and 
	lowers memory usage by about 20 byte per entry on 32bit; 32 on 64bit.
- Fixed some issues in the example/setup.sh script.
- Moved a lot of structure members, to avoid padding (esp. on 64bit).
- Some bigger cleanups (FS_CHILD_CHANGED)
- Fix for waa__mkdir() not seeing that the existing inode isn't a 
	directory.
- Bugfix for special entries; they'd be created as $destination.XXXXXX, 
	without checking whether such a file already exists. 
- Bugfix for revert - if an entry gets reverted, we implicitly change the 
	parents mtime. That shouldn't be printed as a change, though.
- Removed properties wouldn't get committed or updated properly.
- Committed the distclean patch from Sheldon Hearn.
- "make install" implemented.
- Tempfile generation consolidated.
- Rewrote entry fetching from the repository. Previously a file with bad 
	mode (like 0111) couldn't get diffed.
- "update -rX" and "diff -rX" (but not "diff -rX:Y") now use the per-url 
	override syntax (see "-u").
- Multi-URL code has been found to be not perfect - removing a (common) 
	directory removes files from all URLs.
- New option to set maximum number of revisions on "fsvs log".
- Fixed a memory leak for symlinks.
- Fixed diff for symlinks and devices.
- "fsvs sync" now tries to fetch all filesizes and entry types from the 
  repository, too. For that we have to do a recursive listing, and fetch
	special entries; encoded files with only a few kB are looked at, too.
	Needs more time and bandwidth.
- "update -rX" and "diff -rX" (but not "diff -rX:Y") now use the per-url 
	override syntax (see "-u").
- Multi-URL code has been found to be not perfect - removing a (common) 
	directory removes files from all URLs.
- New option to set maximum number of revisions on "fsvs log".
- Fixed a memory leak for symlinks.
- Fixed diff for symlinks and devices.
- New option "stop_change" for use in scripts.
- New option "author" for commit.
- Changed from "merge" to "diff3" as merge program; seems to be more common.

Changes since 1.1.14
- Fixed a bug in the shadow-clean.pl script; it wouldn't remove the 
	passwords.

Changes since 1.1.13
- New option for conflict handling; allows "stop" (historical default), 
	"local", "remote", "both" or "merge".
- New "resolve" action.
- Filter option "text" now means removed entries, too.
- Verbose "urls dump".
- Checkout now prints the entries as they're checked out.
- Small fixes and cleanups.
- Bugfix - option "filter" wasn't taken from config files.
- Bugfix for "st -N -N" printing all deleted entries.
- Fix for "svn log | head -1" sometimes erroring out (EPIPE).
- Bugfix for eg. diff - querying the URL of entries could cause a buffer to be 
	overwritten.
- opt_parse() now only optionally silent; the user gets better messages on 
	wrong options.
- Bugfix for revert - would save the dir-list, even when an error occurs.
- update can now be restricted to an arbitrary subset of URLs.
- Fix for "revert -rX" for changed file types.
- Tried to get compatibility with systems that don't expose MAJOR, MINOR 
	and MKDEV (eg. Solaris).

Changes since 1.1.12
- Small changes, cleanups and optimizations
- Some documentation updates
- Bugfix for directory structure copying committed -- that should have been 
  in 1.1.12.
- Fix the "(inherited)" output in non-verbose status.
- Fix the copyfrom bug (source directory changed between copy and commit).
- "revert" now reverts add/unversion/copy commands.
- "diff" of copied entries diffs against the copyfrom source.
- "info" printed the data twice; with small cleanups it doesn't anymore.
- Bugfixes for "revert" of added/unversioned/copied entries; see "statii" 
	document.
- New option to avoid the expensive MD5 copyfrom matcher.
- Bugfix for "log" for very long lines and non-UTF8-locales.
- A fair bit more testing for locale-dependent code paths.
- New option to avoid empty commits.
- Bugfix for "diff" - a new version of ssh doesn't close all unknown 
	handles, or something like that. Cleaned up handling of colordiff pipe.
- Bugfix - "unversion" worked only in the wc base, not somewhere below.
- Bugfix for order of entry handling (last child before parent) - now it 
	works as documented.
- Fix for premature free() of the decoder structure on export - just 
	cleanup; found via valgrind, was no real problem.
- FSVS_WARNING can now parse multiple warning options.
- New option "delay" - delays until a second wrap, used for scripts.
	Can be "yes", "no", or any combination of (some) action names.
- Workaround for copying copied, uncommitted entry - not so easy.
- Bugfix for commit logic on copied files; do a local manber-hash if file 
	data hasn't changed.
- Bugfix for revert of meta-data for directories. Thank you, Christopher.
- Ignore pattern "./**/" made into a special case.
- Verbose version ("fsvs -v -V") now prints the compile time, too.
- Support for absolute ignore patterns; they ease expanding the wc area 
	later. Warning if they don't match the wc base.
- FSVS_WARNINGS is deprecated. Use FSVS_WARNING.

Changes since 1.1.11
- Licence change to GPLv3.
- Some cleanups
- Documentation updated
- Compatibility update for valgrind 3.3.
- Bugfix for "fsvs info" on new entries.
- Verbose "fsvs info" prints copyfrom source.
- Fixed "fsvs ignore dump" to work in subdirectories; but now "fsvs urls"
  *must* be used for initialization.
- Bugfix for using an empty file as commit message. Thank you, Matthew.
- Bugfix for a small memory leak (property lookup).
- Rewrote parts of the copy/move handling, to make it work for directory 
  copies, too.
- Bugfix for copyfrom handling - variable was not always re-initialized.
- Bugfixes for copy-detection
- Bugfix for copied entries - MD5 was not initialized correctly.
- Workaround for doxygen-misfeature of *always* interpreting /* and */.
- Workaround for people using fsvs on https? URLs that cannot commit 
  because a special property was already taken.
- Extended tests may now be run in parallel.
- Copy detection by file name and child entry list, too.

Changes since 1.1.10
- New option debug_output; if it starts with a "|", the string is taken
  as a command.
- New authentication handling; should help for http:// and https://, 
  if passwords are required.
- Compatibility fix for https-URLs and update - we get a call with 
  data=NULL.
- Compatibility fix for http and https - doesn't like SVN_INVALID_REVNUM
  in svn_ra_get_log().
- First attempt at finding duplicate files; but FSVS doesn't do anything with 
  that information yet (just reports).
  - identical files by MD5
  - renamed files by inode
- Small documentation updates and fixes.
- Rewrote some internal parts for more clarity.
- Other fixes and cleanups.
- "copy"/"move" commands; old renamed to "copyfrom-detect".
- Defined copyfrom relations used on commit.
- Properties can now be removed - prop-del.
- Bugfix for very long filenames on NFS directories that give the number of
  entries as directory size.
- Documentation updates.
- Fix for copyfrom-detect: take all known entries as source, not only the 
  current arguments.
- Bugfix for device ignores - uninitialized variable. Thank you, valgrind!
- Optionally use valgrind in the tests - CHECKER=valgrind; and some 
  suppressions for my debian machine.

Changes since 1.1.9
- Bugfix for multi-URL-operation with separated repositories - use the 
  correct revision numbers.
- Bugfix for directories in $FSVS_WAA - create only needed ones.
  But that also means that the (local) property storage changed to UTF8, 
  where the names previously were stored in local encoding!
  Currently non-ASCII-property names are broken!  (Tell me if you need 
  "süch_nämes" - for -get and/or -list??)
- Memory leak in revert fixed - now really.
- Bugfix for cs__compare_file() ("st -C", "update", "commit" ...) - didn't 
  recover into a zero-block after a few non-zero characters (was slow).
- Changed the internal ignore -- from $FSVS_WAA to $FSVS_WAA/*.
  That allows to have $FSVS_WAA versioned (as it's needed), but reliably 
  ignore entries below. (Still via inode numbers, so still fast.)
- Bugfix for master/local operation, when dir from URL1 gets a new entry, 
  which should be committed in URL2 -- so the directory has to be created 
  in URL2.
- Various small fixes and cleanups.
- Using -q caused *more* output on errors.
- Bugfix for duplicate URL names.
- Error messages for invalid URL input now user-friendlier.
- Support for "log -v", to show filenames
- Removed the usleep() in the encoder loops (fsvs:update-pipe, 
  fsvs:commit-pipe). 
  For a 10MB file, encoder=cat: old time 7.1sec, new 0.33sec; using "dd 
  bs=1024k" gets it down to 0.3sec (cat uses only a 1024 bytes buffer).
- Properties may no longer be set on unknown entries.
- Property changes showed in status as "...." - now they get displayed in 
  the meta-data column(s).
- Status output changed; in certain cases (much too often) a "n" instead of 
  "N" would be printed. Now corrected.
- Bugfix for "-f text" - if a directory structure was removed, the child 
  wouldn't see the parent removed.
- Output beautification for sync-repos - use "" or the wc-path given on the 
  command line, don't simply print the full path.

Changes since 1.1.8
- Documentation updates
- Additional warning for vanishing entries
- New option "colordiff"
- New option "dir-sort" for "status" action.
- New option "status-coloring"; off per default.
- Small bugfixes and cleanups.
- Component-tests extended.
- Bugfix: the mtime for directories was not restored on uptime.
- Fix for "sync-repos" printing the root directory twice.
- Fix for sync-repos - if entries had no meta-data-properties set in the 
  repository we take the local values, if they exist. 
- Memory leak in big recursive reverts fixed -- at least I hope that I got 
  it.
- En/decoded entries (see fsvs:commit-pipe) now send another property - 
  fsvs:original-md5.
- $WAA_CONF/*/config is now read, too.
- Bugfix for "fsvs log" - endless loop, if the log message ends in a 
  character >= \x80.
- Bugfix for newly added files - on their first commit only an empty file 
  (0 bytes length) was sent; subsequent commits were ok. Thank you, Ben.
- Bugfix for recursive reverts - missing intermediate directories caused 
  fsvs to stop, and meta-data was not correctly applied.
  Fixed full recursive reverts of whole trees.
- diff now prints the "Only in local filesystem" messages only with -v, and 
  ignored files are ignored.
- Master/Local test, and commit_to option.

Changes since 1.1.7
- "fsvs checkout" - a combination of "fsvs urls" and "fsvs update".
- "softroot" option, used for recovery.
- "fsvs help" had a small bug in terminal width calculation
- Fix for action name matching; a string identical to some compare value is 
  now an exact match, no ifs or elses.
- Bugfix for the options; the priority was not correctly set, so in certain
  cases the wrong option value would be used.
- Bugfix for chroot jail - the locale was be taken from the real root 
  directory, where it was most likely incompatible.
- The log output is colorized per default (on TTYs); done via ANSI 
  sequences, as ncurses made some problems.
  The log messages can now be indented, too.
- Other small bugfixes

Changes since 1.1.6
- "fsvs log"
- Changed the format for warnings.
- Bugfix for revert: a removed directory would not be re-created.
- Bugfix plus enhancement: Allowing "-rREV" for revert, with a warning.
  The status characters now show the status against BASE.
- "configure.in" (and with it configure) has been moved to the parent 
  directory; a small Makefile is there, too. Seems to be more standard to 
  have that structure.
- Moved the test-directory up, too.
- The default for the path printing is now parameter-relative.
- The environment variable "FSVS_DIFF" has been renamed to "FSVS_DIFF_PRG".
  New options for the diff procedure.
- Filter option, the same as "-f".
- -v now lets warnings print their identification string.
- New way of testing parts of the program - calling functions through gdb
- The translation user/group name => id now uses a cache.
- A commit of parts of a working copy root now set the check flag for 
  encountered directories that have *not* been fully committed.
  So a commit of "a/b/c" now shows the new entry "a/j", although the 
  timestamp of "a" has been set during the commit.
- Warning actions are now settable via options, and they are better 
  documented.
- Small bugfixes and cleanups.

Changes since 1.1.5
- Diff exit status is now a warning, per default ignored.
  http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00114.html
- Some cleanups; the various internal caches are done via cache.c.
- Bugfix for the case that a parameter is *exactly* a wc root.
- Cleanups for the actions update, remote-status and sync-repos (and 
  _build-new-list) - interpretation of the single path-parameter.
- A verbose version call ("-v -V") now gives the compile options, too.
- Support for configuration files.

Changes since 1.1.4
- configure now fails if gdbm or pcre are not found.
- Option for path display settings.
- If no path arguments are given, the current directory is taken as the 
  implicit parameter.
- For new, added and unversioned entries no other flags than those are 
  printed on "fsvs status" - they're kind of irrelevant, as they're implied.
- The WAA has been splitted into two areas.
- The environment variable WAA was renamed to FSVS_WAA.
- New environment variable FSVS_CONF.
- Diff now knows "-v" for additional meta-data diff.
- Some cleanups and small bugfixes.
- A changed ctime is no longer seen as meta-data change - it's only an 
  indicator for *possible* changes.
- New parameter -f for filtering entries.


Changes since 1.1.3
- New and replaced entries now consistently have *only* the "N" flag - as 
  the meta-data *has* to change.
  Meta-data changes coming from the repository have now correct markings.
- Bugfix for filenames starting with a space. sscanf() would skip over the 
  space, and the empty name would confuse fsvs.
- User interface enhancements; messages are no longer printed with "An 
  error occurred". A few other small changes in output were done, too.
- Bugfix for ignore patterns with brackets "[]".
- Bugfixes for commit - tell meta-data changes correctly, and don't send 
  the fulltext if only meta-data has changed.
- Some documentation update.
- Corrected the handling of entries given on the command line - show 
  information for deleted, too. Better checking if an entry has to exist.
- "fsvs info" now uses the conventional way to use the arguments, and so
  understands -R.
- Bugfix for "fsvs status" - if no commit has happened, we should 
  nonetheless provide status output.
- If we're near the 100% mark on the progress report, don't show it.
  We'd get some time with always 99,9% when committing a big, new tree.
- Bugfix for enumeration of more than one child of the root directory.
  Ie. "fsvs status /etc /bin" gave an error.
- "fsvs info" now gives the number of known children.
- Some code cleanups.

Changes since 1.1.2.
- FSVS_DEBUGLEVEL can be set (to eg. 1) to enable the debug output. The 
  same as with -d, but doesn't change the commandline, and allows early 
  debugging.
- With "configure --with-chroot={path}" a chroot helper program is 
  compiled. fsvs got a function to preload all necessary libraries in the 
  chroot jail before returning into the "normal" filesystem.
- Implemented (non-)recursive diff.
- The diff action now does a cleanup on SIGINT.
- Diffs now include the header line "diff -u ...".

Changes since 1.1.1.
- "proplist" showed the \0 at the end of key and value.
- "fsvs revert" was a little bit re-written.
- Major new feature: Recursive/non-recursive operations -- revert, status, 
  commit.
- Bugfix for diff: when an fsvs:update-pipe changed, the wrong decoder was 
  be used.
- Some cleanups. Eg. splitted the flags parameter of ops__traverse().
- Still more doxygen documentation.

Changes since 1.1.0.
- Shell ignore patterns have changed - they now understand character 
  classes and escaped characters, and they are anchored at the end, too.  
  See the documentation.
- For older changes please see
  http://fsvs.tigris.org/source/browse/fsvs/tags/fsvs-1.1.0/fsvs/CHANGES?rev=725&view=markup
- Bugfix for "fsvs info $WC" -- didn't find the working copy.
- Allow arbitrary properties to be stored locally, and to be sent to the
  repository on commit.
- Arbitrary property support: store them locally, provide commands for 
  editing, and retrieve/store them from/in the repository.
- Special property "fsvs:commit-pipe" - for eg. encrypted backups
- Special property "fsvs:update-pipe" - for automatic decryption
- Make url__parse() accept a target revision, and store it persistent.
  Made it dumpable.
- Bugfix for valgrind usage.
- Bugfix for some weird /.././.././ constructions on the commandline,
  test for that.
- Fixed a memory leak.
- Some cleanups.
