Refactored code base to use libtv to perform the filename matching. Moved to Maven build environment.
Using libtv, multi-episodes can now be matched and replaced. Replacements now take multi-episodes into consideration and only allow full episode replacements (e.g. replacing s02e01e02 with s01e01 should not be allowed).
Directories are now accepted as an input file. The contents will be scanned for video files to move/copy
The -s, --skip-not-matched flag has been added to allow unmatched input files to be skipped instead of exiting early.
Removed some classes to reuse code from libtv
Update license headers and some javadoc comments
Added commons-lang dependency. Added progress bar to Display output. Can be accessed via IOOperation.startProgress()
Fixed episodes being moved/copied and overwriting an existing file. This now only occurs when replace is specified
Added Jansi dependency for colourizing console output. Added more meaningful error messages.
Added better rollback handling the case where a source file cannot be be deleted after a copy.
Removed commons-io dependency
Added -n, --native flag to use Java's NIO API. This removes the progress bar but will a copy and delete will no longer be needed when moving.
Moved IOOperation Copy and Move inner classes to individual classes CopyOperation and MoveOperation
Add support for mac by using the unix file structure defaults
Separate out the file line reading, configuration file reading and a key value reader. AliasMap has changed to use these new classes
Replaced sources.conf with tvmv.conf. SourceReader now replaced by ConfigReader. Added support for a Windows library as a tv destination.
Moved validation from Args to Environment so that the Args and Config can be validated together
Allow cygwin paths in SOURCE
Updated Display to handle cmd.exe
Updated documentation