Developer Public Repos
We use git in a distributed way. There is no central git repository. You can choose freely from who you want to fetch your sources from. The addresses are here:
- BrainDamage git://springlobby.info/git/BrainDamage/springlobby.git
- buildbot git://springlobby.info/git/buildbot/springlobby.git
- dizekat git://springlobby.info/git/dizekat/springlobby.git
- insaneinside git://springlobby.info/git/insaneinside/springlobby.git
- Kaot git://springlobby.info/git/Kaot/springlobby.git
- koshi git://springlobby.info/git/koshi/springlobby.git
- semi git://springlobby.info/git/semi/springlobby.git (currently offline)
- tc git://springlobby.info/git/tc/springlobby.git (currently offline)
The repository list above is sorted by our user name in alphabetical order.
We encourage interested developers to set up their own public repos cloning our project.
Contributors Public Repos
the following repositories are contributors repositories
- Tombom git://toybox.kicks-ass.net/tombom/springlobby.git
- MelTrax git://toybox.kicks-ass.net/meltrax/springlobby.git
- Bubi git://toybox.kicks-ass.net/bubi/springlobby.git
Which Repo To Clone
If you only want to play, get a tarball, git is only required if you want to develop for the project.
It does not matter whose git developer repo you clone, they all should have (nearly) identical master branch, if you don't wanna get experimental work, fetch from the buildbot repository. The buildbot repository tracks and tags each working tarball release.
Getting Started
git-clone git://springlobby.info/git/buildbot/springlobby.git cd springlobby
This creates a directory springlobby to your current directory, so make sure you don't have one already.
./autogen.sh
This generates the build system, and is only necessary after the initial clone. Tarball releases don't need this.
Note: gettext depends on cvs, therefore autogen will fail if you don't have cvs, gettext and automake installed on your system
Continue with configure & make
Getting Up To Date
git-pull
This fetches new changesets from where you originally cloned, and merges them to your master branch.
Continue with configure & make
Development with Git
Starting steps
Personal Informations
first of all, you'll have to enter your personal information which will be included in your commits, this can be done with:
git config --global user.name "Your Name Comes Here" git config --global user.email you@yourdomain.example.com
Adding aliases for other repositories
adding an alias has the bonus of being able to use a short word in place of a long url which represents a repository:
git remote add bd git://springlobby.info/git/BrainDamage/springlobby.git git remote add dizekat git://springlobby.info/git/dizekat/springlobby.git git remote add koshi git://springlobby.info/git/koshi/springlobby.git git remote add semi git://springlobby.info/git/semi/springlobby.git git remote add kaot git://springlobby.info/git/Kaot/springlobby.git git remote add tc git://springlobby.info/git/tc/springlobby.git git remote add buildbot git://springlobby.info/git/buildbot/springlobby.git
Coloring the text output (optional)
having monochrom color for output can be boring, this can be changed with:
git config --global color.diff auto git config --global color.status auto git config --global color.branch auto
Everyday work with git
Commit policies
The SpringLobby projects have the following policies about committing:
- branches can either be stable or unstable, your master branch must always be stable
- only stable branches can be merged in your master, and only trivial bugfixes can be committed directly to it
- create a branch for every new ticket you're gonna work on
- commit as much as you can then publish your work, as backup
GUI usage
Get started with the command:
git gui
Creating a Branch
Select the menu branch -> create, enter a name (without spaces)
select starting revision: local branch -> master
create
then you're ready to code
Committing to Branches
After you are finished with your changes, you might wanna commit to get them permanently stored. In order to achive this, first of all click on "Rescan", which will check for any code changes.
On the top right part of the GUI, you'll see a list of files in the column called "unstaged changes". Those are the new/changed/deleted files which won't be included in your commits.
Click on the icon of every file that you want to be included, or click on "stage changed" to have all changed files to be auto-included; all files which will be included will be placed on the left in the column "staged changes".
Write a small description about what you've done in the text area in the middle, then push "commit".
Checking out Branches
When you wanna extract the sources contained in a branch, all you have to do is go into the menu branch -> checkout
the option "local branches" will let you view only your own branches, the option "remote branches" will let you view the branches from other people you fetched from, select the branch you're interested in and push "checkout"
Merging Branches
When you're satisfied with your changes and want to include what you've done in another branch (very likely master), you'll have to follow the following steps:
First of all, [Checkout] the branch which is to receive the updated content. This destination branch must be a local branch.
Now select merge -> local merge
Again you'll be prompted for a choice to use a local branch or remote branch as the source. Choose the branch containing your changes and press "Merge".
Creating a patch file
select repository -> visualize all branch history
left click on the commit message which you're going to use as starting point, the text will become highlighted
right click on the commit message which you're using as destination point and select "Make patch"
