Watcher is a file manager with integrated version control system. It supports most common UNIX commands that interact with file system. VCS provides users with git-like interface: it allows not only to store multiple file revisions, but also search, browse, merge them and many more.
Fully implemented in Haskell.
- Watcher is a Unix compatible file manager.
- Initial directory treated as a root by this file manager. It means that it's only possible to work with initial directory and its subdirectories.
- You can use both relative and absolute paths. However, absolute path starts at your initial folder. Here is an example:
initial directory:
/Users/user/a/
, then absolute path is/b/c/d
, not/Users/user/a/b/c/d
. - It's possible to init VCS in every folder of the system, however you can initialize VCS in each folder only once (similarly to git).
Current VCS
is the closest VCS to your current directory. - Build in VCS is able to track file/folder addition & file/folder edition.
You'll need Stack, GHC and Git.
πΎ Clone/fork repo:
git clone https://github.com/pavponn/watcher.git
βοΈ Build library / compile sources:
stack build
π Run watcher:
stack run <initial directory>
π¬Test:
stack test
Tested manually on macOS Catalina 10.15.4.
Autotests were written using Hspec.
Pavel Ponomarev, 2020
MIT License.