Au

Distributed version control system for CS253/453 at the University of Rochester.

'Au' is the chemical element commonly known as 'gold'. It has an atomic number of 79, one less than mercurial. We chose this name with deference to Mercurial. It also has the same pronunciation with the Chinese colloquial expression '哎呦' or '矮油', the literal translation of which can be loosely interpreted as 'wow' (as in Jay Chou's '哎呦不错喔').

Team

Installation

For your convenience (and sanity), this library is released on https://rubygems.org/ at https://rubygems.org/gems/au.

To install

$ gem install au

This project ONLY supports Ruby 2.5.0 and above. Due to the Integer class changes in Ruby 2.5.0, any older version will error. If your system comes with an older version, please either update your Ruby installation or use rbenv. You may need to use sudo. Additionally, if you are on an outdated Ruby installation, please make sure your load path is updated for Ruby executable.

Development Build

This project uses bundler to manage production and development dependencies (see more in 'depenedencies' section).

Again, this project requires Ruby 2.5.0 or higher.

gem install bundler to install bundler

bundle install to install all dependencies

Unit specs are written in RSpec. Use bundle exec rspec to run all unit specs.

Use ruby -Ilib:test test/integration_test.rb to run integration test.

Use ruby -Ilib:test test/end-to-end_test.rb to run end-to-end test.

To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Dependencies

This project has the following produciton dependencies:

  • Thor - We use thor to save time with the chores in handling cmd flags and documentation.
  • Colorize - We use colorize to give our cmd output colors.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/hubertlee915/au.

License

The gem is available as open source under the terms of the MIT License.