File exclusion support (e.g., with rbt diff -X pattern
or
rbt post -X pattern
) now behaves identically (with some caveats).
Previously, the case of having a pattern matching against the root of
the repository was not well defined and was misinterpreted by all
SCMClients
. Now all patterns beginning with a path separator (e.g.
-X /pattern
on Linux and Mac OS, and -X \pattern
on Windows) are
treated as being relative to the root of the repository checkoutl.
However, because CVS generates diffs relative to the current working
directory (without an easy way to determine the checkout root), all
patterns (even those beginning with a path separator) are treated as
relative to the current working directory.
The documentation for the -X
flag has been updated to reflect these
changes.
Unit tests have been added for Bazaar, Git, Mercurial, and Subversion
for generating diffs correctly with this new syntax. A unit test has
also been added for Perforce that checks that paths are normalized
correctly.