Getting set up on github

FreeEMS topics that aren't specific to hardware development or firmware development.
User avatar
sry_not4sale
LQFP144 - On Top Of The Game
Posts: 568
Joined: Mon Mar 31, 2008 12:47 am
Location: New Zealand, land of the long white burnout
Contact:

Getting set up on github

Post by sry_not4sale »

This post entirely re-written by Fred, original is in small type below.

Currently, all FreeEMS related projects are hosted on github, so to make regular contributions you will need to set up an account.

https://github.com/signup/free

Firmware:
https://github.com/fredcooke/freeems-vanilla

Tunix:
https://github.com/djandruczyk/MegaTunix

You will need to set up a ssh key, and set up your local git install to use your github username and authentication:
http://help.github.com/

Then the usual process is to create your own forked repo. And I merge your changes in with trunk/head when we are happy with them!

Let someone know if you have any problems and we will try to help :)

Currently, FreeEMS-Tuner is hosted on github, so to make regular contributions you will need to set up an account.
https://github.com/signup/free

FreeEMS-Tuner:
http://github.com/srynot4sale/freeems-tuner/

You will need to set up a ssh key, and set up your local git install to use your github username and authentication:
http://github.com/guides/home (under "setting up")

Then the usual process is I add you as a contributor, you get your own branch on the main repo - or create your own forked repo. And I merge your changes in with trunk/head when we are happy with them!

Let me know if you have any problems and I will try to help :)
Last edited by sry_not4sale on Mon Dec 22, 2008 9:45 pm, edited 1 time in total.
Owner / Builder: 1983 Mazda Cosmo 12at (1200cc 2-rotor turbo) coupe [SPASTK]
165hp @ 6psi standard - fastest production car in japan Oct 82
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Getting set up on github

Post by Fred »

Step by step :

get git, my file was :

Code: Select all

Git-1.5.6.1-preview20080701.exe   	 ** Full installer if you want to use official Git 1.5.6.1 **    Beta Featured
install it

make a directory for your stuff

right click, "git bash here"

generate your key :

Code: Select all

fcooke@CALLVIEW-GW ~/Desktop/tuner
$ ssh-keygen -C fred.cooke@gmail.com -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Documents and Settings/fcooke/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Documents and Settings/fcooke/.ssh/id_rsa.
Your public key has been saved in /c/Documents and Settings/fcooke/.ssh/id_rsa.pub.
The key fingerprint is:
19:8d:c0:b2:39:1a:64:4f:06:97:48:54:69:9b:d5:0d fred.cooke@gmail.com
run the agent :

Code: Select all

fcooke@CALLVIEW-GW ~/Desktop/tuner
$ eval `ssh-agent`
Agent pid 2956
add the key to the agent :

Code: Select all

fcooke@CALLVIEW-GW ~/Desktop/tuner
$ ssh-add
Identity added: /c/Documents and Settings/fcooke/.ssh/id_rsa (/c/Documents and Settings/fcooke/.ssh/id_rsa)
configure username, email, github username, github id thingy

fork the repo on github

run clone on private url to local dir

profit?

TBC, have to get some things done...
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Getting set up on github

Post by Fred »

GIT, no worries, settling in already, github on the other hand is being a right little bastard...

It's been up and down all arvo. Is it usually OK, I'm getting scared of putting the firmware up on it.

What are the other two git services like?

Fred.

ps, best you pull my changes back in ;-)
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Getting set up on github

Post by Fred »

FreeEMS Vanilla now has a brand spanking new empty repo on github just waiting for me to sanitise the current repo HEAD and upload it all.

I'm curious as to whether or not the git svn bridge brings all the history along with it? If it does I won't be doing that as it's full of stuff that I probably don't want to publish.

I'll focus on a release tonight and try to get it setup on github tomorrow so we can have a more communal feel "going forward" :-)

Quench my fears of an unreliable source control service please. I had all sorts of issues with it today just because the site was yo-yo-ing.

Fred
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
sry_not4sale
LQFP144 - On Top Of The Game
Posts: 568
Joined: Mon Mar 31, 2008 12:47 am
Location: New Zealand, land of the long white burnout
Contact:

Re: Getting set up on github

Post by sry_not4sale »

It does yo-yo a bit, but thats probably due to a lot of large project moving to it and then getting slashdotted/reddited...

There is nothing stopping us installing git on one of your servers, and git web view and then we would have our own hosted solution.

Cheers,
Aaron
Owner / Builder: 1983 Mazda Cosmo 12at (1200cc 2-rotor turbo) coupe [SPASTK]
165hp @ 6psi standard - fastest production car in japan Oct 82
User avatar
sry_not4sale
LQFP144 - On Top Of The Game
Posts: 568
Joined: Mon Mar 31, 2008 12:47 am
Location: New Zealand, land of the long white burnout
Contact:

Re: Getting set up on github

Post by sry_not4sale »

Hey Fred,

You haven't set up your username in git properly, and your commits are being authored by "unknown"...

Ya need to do this:
http://github.com/guides/tell-git-your- ... il-address

:)
Owner / Builder: 1983 Mazda Cosmo 12at (1200cc 2-rotor turbo) coupe [SPASTK]
165hp @ 6psi standard - fastest production car in japan Oct 82
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Getting set up on github

Post by Fred »

That was true of the first two commits, though I HAD done that... The name you see comes from the github metadata, not my local stuff...

I'll checkout git web, cheers.

Did you pull those?

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Getting set up on github

Post by Fred »

DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Getting set up on github

Post by Fred »

I have now cloned my private repos on windows, linux, and in eclipse. I've pushed changes up from windows and from linux. My linux/eclipse changes went up with "user" as the commiter though...

EGit is buggy/incomplete though. It does work, but it doesn't do what I would expect it to. I made a list of things that I found wrong, some of which may be rectifiable, others may require changes to EGit.

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Getting set up on github

Post by Fred »

I've been meaning to put this up for some time. Forking with git is a bit conceptually different to working with normal version control systems. So here's my attempt at showing it in a simple light.

Key of colours
  • The main FreeEMS Vanilla public repository as available on github is dark blue.
  • My various home copies of the repository (EEE, laptop, work box, etc) are the green one.
  • Sean's private repositories (work/home etc) are turquoise.
  • Sean's publicly available repository is yellow.
  • Abe's private suppositories are grey.
  • Abe's public repository is orange.
Getting a copy with GitHub

Before you can get started you need to get a public and private repository setup and working.

Image


Initially I do some work, create a git repository, get a github.com account and push my changes up to there. (Arrow up the middle)

The two steps involved in you having a copy too are :
  1. Get a github.com account, fork my main FreeEMS Vanilla repository and set up your ssh key on there.
  2. Set up your ssh key with an ssh agent and clone with your private git clone URL (NOT your public one, and NOT mine)


Contributing via GitHub

Once you have a copy publicly and privately you need to get some work done and then share it with me! :-)

Image

The way it works is like this :
  • You make changes to the code locally and when finished push them up to your public repo.
  • You then call/email/msn/aim/gtalk/yell at me and let me know you want your stuff in the main repo.
  • I then check out your stuff, see if it's any good and if so pull it back down to my private repo.
  • I then merge your changes in, commit the merge and push the resulting stuff back up after testing it.
  • You then pull my changes back down to your private repo
This is just a conceptual guide, it doesn't explain the details in how to achieve all of these things, but the first set are more or less obvious. I'll get around to a how to achieve the above guide at some point.

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
Post Reply