Development using git: Difference between revisions

From Alpine Linux
No edit summary
No edit summary
Line 49: Line 49:
Some useful documents  
Some useful documents  


* Quick start if you are used with svn: http://git.or.cz/course/svn.html  
*[http://git.or.cz/course/svn.html Git - SVN Crash Course] (quickstart if you know svn)
* Recommended reading for git and distributed development: http://cworth.org/hgbook-git/tour/  
*[http://cworth.org/hgbook-git/tour/ A tour of git: the basics] '''Recommended'''
* The git book: http://book.git-scm.com/
*[http://book.git-scm.com/ The Git Community Book]
* More what happens behinde the scenes: http://www.newartisans.com/blog/2008/04/git-from-the-bottom-up.html
*[http://www.newartisans.com/blog/2008/04/git-from-the-bottom-up.html Git from the bottom up]

Revision as of 07:48, 7 February 2009

Git is now being used for version control of the alpine-baselayout and alpine-conf packages.

Git Clone

To get started, clone the git repository for the package you are interested in:

 git clone git://git.alpinelinux.org/alpine-baselayout
 git clone git://git.alpinelinux.org/alpine-conf

Make your changes.

To prepare a patch:

git diff > short-description-of-change.patch

This diff can be sent to alpine-devel@lists.alpinelinux.org mailing list.

Migrate a subversion repository to git

Start with creating a users.txt file where the svn users are mapped to an email address for git.

echo "ncopa = Natanael Copa <ncopa@example.com>" > users.txt

Create a temp work area.

mkdir proj-tmp

Init the git repository. If your svn repo does not have the standard trunk branches and tags dirs you shouldnt use the --stdlayout. You can also use -T trunk -b branches -t tags.

cd proj-tmp
git svn init svn://svn.alpinelinux.org/proj --stdlayout

Connect the users.txt to the empty git repository so users are remapped.

git config svn.authorsfile ../users.txt

Fetch and import the svn repository. This might take some time.

git fetch

Now we can create a bare repository and upload it to dev.alpinelinux.org/gitroot.

cd ..
git clone --bare proj-tmp proj.git
scp -r proj.git dev.alpinelinux.org:/gitroot

References

Some useful documents