Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A Rails app to keep track of VCS changesets

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 app
Octocat-spinner-32 config
Octocat-spinner-32 db
Octocat-spinner-32 doc
Octocat-spinner-32 lib
Octocat-spinner-32 log
Octocat-spinner-32 public
Octocat-spinner-32 script
Octocat-spinner-32 spec
Octocat-spinner-32 tmp
Octocat-spinner-32 vendor
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .rspec
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 README.textile
Octocat-spinner-32 Rakefile
Octocat-spinner-32 config.ru
README.textile

Changesets

Changesets is a Ruby on Rails application to keep track of your commits in a version controlled software project. It is useful for a workflow where commits are being made to a development branch and need to be merged into a staging or production branch on a per-commit basis. Changesets allows you to keep track of each commit you make including its revision number or commit hash, a ticket number if the commit references a ticket in an issue tracking system, a commit message/description, and a note. Most importantly, Changesets allows you to toggle the status of each changeset between “merged” and “unmerged” to keep track of which of your changesets still needs to be merged into your staging/production branch in a visually distinct way.

Setup

1. Run bundle install to install gem dependencies.
2. Run rake db:setup to create the database and load the schema.
3. Add a secret token for the session in your environment with the key SECRET_TOKEN. For example, using Apache, Passenger, and the SetEnv directive:

SetEnv SECRET_TOKEN "ad0f002d37565ca7510e5ea40c1ba14b80bf8bd7678301bb2315c6715a4eb0b37cb57b44fd7185bd6eb16315d0c7f85a395e1cdfcb0a342222465305e5153e48"

It’s easy to generate a token: Open up IRB and run:

require 'active_support'
ActiveSupport::SecureRandom.hex(64)

That’s all it should require. Just start up the server and get going!

Optional Configuration

Changesets has the ability to display links to an issue tracking system for each changeset. To set this up, you will need to add a few environment variables.

Variable: ISSUE_TRACKER
Format: name
Description: The issue tracking system’s name. This will appear as the text of the links.

Variable: CHANGESET_URL
Format: path_to_changeset/__VALUE__
Description: The full URL to display a changeset.

Variable: TICKET_URL
Format: path_to_ticket/__VALUE__
Description: The full URL to display a ticket.

Here is an example of how this all might look using Apache and Passenger with Apache’s SetEnv directive:

SetEnv ISSUE_TRACKER Trac
SetEnv CHANGESET_URL https://trac.mysite.com/changeset/__VALUE__
SetEnv TICKET_URL https://trac.mysite.com/ticket/__VALUE__

Note that __VALUE__ should be used literally. This is a token that the application will replace with the real value at runtime.

Feedback

Feedback is welcome and appreciated. You may contact me via Github or through my own website.

Something went wrong with that request. Please try again.