Contributing to RVM
So, you want to contribute to rvm? Excellent, we can always do with an extra helping hand (or two). If you're not a great coder, we always appreciate people helping out in the channel and giving support. If you are interested in coding, there are a few things you'll need to know and a few things that make the process in general a lot smoother.
We also greatly appreciate documentation patches, submitted from the rvm-site repository.
General Guidelines
- When contributing, either keep patches simple or work on a topic branch - this makes it easier for us to merge in discrete changes and means you always keep things seperate where needed.
-
The code has to be compatible with bash and takes and almost git-like design architecturally.
Many actions (e.g. aliases) simply call out to a script in the ~/.rvm/scripts
directory. For an example of the new, simplified style of coding these make
sure you check out:
- scripts/snapshot
- scripts/repair
- scripts/tools
- Clean code is preferred - if in doubt, take a look back and refactor.
- Drop into the IRC room (#rvm on freenode) and chat to wayneeseguin if you have a task in mind. You may find someone else has already started on it.
- If you're interested in helping out but don't have something specific in mind, check out the rvm pivotal tracker.
Handy Tips
- When you need to test out something on a fresh install, it's simple enough to just move the .rvm folder out of the way, install a new copy and to then move your old copy back when you're finished.
-
Generally, working in a clone of the repository is by far the best way
to go and from there it is simple to update your main install / ~/.rvm.
All you need to do is change to the root directory for it (e.g. ~/Code/rvm),
and run:
∴ ./install
- It helps to use bash as your primary shell but for some features you'll want to have zsh installed as well to ensure compatibility.
Repositories
- Main RVM Repository: wayneeseguin/rvm
- RVM Website: wayneeseguin/rvm-site