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
- koshi git://springlobby.info/git/koshi/springlobby.git
- buildbot git://springlobby.info/git/buildbot/springlobby.git
We encourage interested developers to set up their own public repos cloning our project.
Which Repo To Clone¶
If you only want to play, see Install instead. git version is only required if you want to develop for the project.
It does not matter whose 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 in your current directory, so make sure you don't have one already.
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¶
we mirror our buildbot repository at github, you're encouraged to fork that and use it for your development: http://github.com/springlobby/springlobby/tree/master
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 koshi git://springlobby.info/git/koshi/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
for an alternative GUI have a look at http://cola.tuxfamily.org/
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"