Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

horse-control

Version control, written in Haskell with all that monadic goodness! (Currently totally in progress and not finished in the least)

Build Status Coverage Status

Differences with Git

  • does not distinguish between tracked and untracked files
  • horse stage replaces git add and git rm
  • the staging area does not store changes; rather, it merely tracks filenames to commit
  • horse squash replaces git rebase -i
  • addition of horse unstage
  • horse init doesn't overwrite existing repositories like git init does
  • can't initialize a repo in a subdirectory of another repo
  • checkout completely overwrites working directory (product of not distinguishing between tracked and untracked files)
  • untrack and retrack replace .gitignore. Their behavior is also slightly different w.r.t. previously tracked files in Git, since horse-control doesn't distinguish between untracked and unstaged files.

Currently exposed commands and functionality

commands

  • init
  • config
  • status
  • stage
  • unstage
  • commit
  • commit --amend
  • checkout
  • show
  • log
  • squash
  • untrack
  • untrack --list
  • retrack
  • diff
  • branch create
  • branch delete
  • branch list
  • cherry-pick

additional

  • Git-like parent/ancestor syntax (^, ~)

Installation

horse-control:

> cabal install horse-control

non-cabal dependencies (database)

Linux

> sudo apt-get update -qq
> sudo apt-get install libsnappy-dev
> wget https://leveldb.googlecode.com/files/leveldb-1.9.0.tar.gz
> tar -xzf leveldb-1.9.0.tar.gz
> cd leveldb-1.9.0
> make
> sudo mv libleveldb.* /usr/local/lib
> cd include
> sudo cp -R leveldb /usr/local/include
> sudo ldconfig
> cd ../..

OSX

> brew install leveldb

Thanksto

About

Version control, written in Haskell with all that monadic goodness (currently totally in progress and not finished at all)

Resources

License

Releases

No releases published

Packages

No packages published