= Tools for working with Care-O-bot =

<<TOC(4)>>

== githelper ==

githelper is a command line tool to make working with github faster and easier for Care-O-bot developers. It has several different commands which are described in the sections below. Command-line help is available using
{{{
githelper -h
}}}

=== githelper setup ===
Once a user has created an account on github.com (suggestion to IPA users, use your IPA login prefixed by "ipa-"),
{{{
githelper setup
}}}
will guide the user through the following steps that are necessary in order to get started working with github:

 * Set up ~/.gitconfig to enable access to github
 * Upload public RSA key to github (if not existent, a new key can be generated) 
 * Create forks for a user-provided list of repositories, and clone them to the local repository

=== githelper clone ===
Clones the given list (comma-separated) of stacks from github (if necessary, forks from ipa320 before cloning).
{{{
githelper clone -s STACK(s) [-r] [-d install_dir]
}}}
By default, stacks are cloned into {{{~/git/care-o-bot}}}, but an alternative directory can be given using the -d option. The -r option enables read-only cloning from a directory. No github account is necessary for read-only access.

=== githelper status ===
Executes 'git status -uno'.
{{{
githelper status [-s STACK(s), default=all stacks] [-d install_dir]
}}}

=== githelper pull ===
Pulls latest changes from your origin master.
{{{
githelper pull [-s STACK(s), default=all stacks] [-d install_dir]
}}}

=== githelper push ===
Pushes local commits to origin master.
{{{
githelper push [-s STACK(s), default=all stacks] [-d install_dir]
}}}

=== githelper merge ===
Merges from a remote branch.
{{{
githelper merge [-u GITHUBUSER, default="ipa320"] | [-s STACK(s), default=all stacks] [-d install_dir]
}}}