Skip to content

Latest commit

 

History

History
53 lines (39 loc) · 1.84 KB

README.md

File metadata and controls

53 lines (39 loc) · 1.84 KB

📁💻 Watcher: File Manager & Version Control System

MIT license Haskell Stack CI

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.

Summary

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

Quickstart

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


Tests

Tested manually on macOS Catalina 10.15.4.

Autotests were written using Hspec.

Copyright

Pavel Ponomarev, 2020

MIT License.