Amp

Meta-VCS in Pure Ruby
Documentation
Repository

Amp

What is Amp:

Amp aims to change the way we approach VCS.

Amp is:

Big Plans for Amp:

Amp has bigger dreams. Here’s what we want to do:

Why Amp?

Amp is unlike any other VCS software to date. Amp's novel command system gives you the flexibility to customize and personalize the way you develop software. Create in your own workspace with full Mercurial compatibility, and no external dependencies.

The following adds a new command to amp. Usage: amp echo Hello World. Once this is in your ampfile, it’s usable in amp.

 command "echo" do |c|
   c.opt :noline, "Don't append newline", :short => "-n"
   c.on_run do |opts, args|
     print args.join(" ")
     print "\n" unless opts[:noline]
   end
 end

Don’t like how a command works out-of-the-box? Change the default settings. It’s almost not even code.

 command "status" do |c|
   c.default :"no-color", true
 end

This one's from our own ampfile. Run tests before every push. If your tests fail, no push.

 command :push do |c|
   c.before { system "rake test" }
 end

Developing Amp:

There's a lot we want to do, and amp needs developers. Want to help? Here's how amp rolls:

 hg clone http://bitbucket.org/carbonica/amp/
 hg diff > your.patch

Requirements

Installation

gem install amp --no-wrappers