Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

amp-pure

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

amp-pure

  • 0.5.0
  • Rubygems
  • Socket score

Version published
Maintainers
2
Created
Source

Amp Release v0.5.0 (John Locke)

Homepage: http://amp.carboni.ca
IRC: #amp-vcs on irc.freenode.net
Git: http://github.com/michaeledgar/amp
Mercurial: http://bitbucket.org/carbonica/amp
Author: Michael Edgar & Ari Brown
Copyright: 2009
License: GPLv2 (inherited from Mercurial)

Description:

A ruby interface to Mercurial repositories, from the command line or a program.

Features/Problems:

  • Supports Mercurial repositories completely!

Synopsis:

% amp add file.txt
edit...
% amp commit -m "updated the file"
% amp push

Nothing really changes from using the hg command. There are a few differences here and there (see amp help [COMMAND]), but really, it's pretty much the same.

Right now, we're trying to simplify the docs, to make it easier to tell what things are relevant to someone working with Amp. Most of our documentation is on our website, but here's an example of some Ampfile code:

command "stats" do |c|
  c.workflow :hg
  c.desc "Prints how many commits each user has contributed"
  c.on_run do |opts, args|
    repo = opts[:repository]
    users = Hash.new {|h, k| h[k] = 0}
    repo.each do |changeset|
      users[changeset.user.split("@").first] += 1
    end
    users.to_a.sort {|a,b| b[1] <=> a[1]}.each do |u,c|
      puts "#{u}: #{c}"
    end
  end
end

In the on_run handler, repo is a LocalRepository object. Its #each method iterates over ChangeSet objects, which store information about that particular commit, including which user committed it. These objects will be most relevant to users, but we'll try to make things more obvious as we refine our documentation. At the very least, we've tried to provide a useful description of every method we can.

Example:


% amp add file.txt edit... % amp commit -m "leethaxness" % amp push

Nothing really changes from using the hg command. There are a few differences here and there (see amp help [COMMAND]), but really, it's pretty much the same.

Using amp as a library:

require "amp" include Amp

repo = Repositories::pick "/Users/ari/src/amp.code" remote = Repositories::pick "https://user:password@bitbucket.org/carbonica/amp"

makes a file...

Dir.chdir "/Users/ari/src/amp.code/" open "testy.txt", "w" {|f| f.puts "hello, world!" }

and add it to the repo!

repo.add "testy.txt"

commit

repo.commit :message => 'blah'

do some more things...

pull and update...

result = repo.pull remote result = repo.update if result.success?

(puts "You need to fix things!"; new_irb_session binding) unless result.success?

type result[:unresolved] to get a list of conflicts

and push!

repo.push remote

Everything here is really straight forward. Plus, if it's not, we've taken the liberty to document the motherfucking shit out of motherfucking everything. Hooray!

Requirements:

  • Ruby
  • Nothing else! (except rubygems to install - for now)

Install:

sudo gem install amp --no-wrappers

License:

See the LICENSE file.

FAQs

Package last updated on 23 Nov 2009

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc