Skip to content

πŸ“ πŸ’» File Manager with built-in VCS written in Haskell.

License

Notifications You must be signed in to change notification settings

pavponn/watcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

75 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“πŸ’» 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.

Releases

No releases published