Git: Difference between revisions
No edit summary |
(→References: Removed dead link) |
||
Line 51: | Line 51: | ||
*[http://git.or.cz/course/svn.html Git - SVN Crash Course] (quickstart if you know svn) | *[http://git.or.cz/course/svn.html Git - SVN Crash Course] (quickstart if you know svn) | ||
*[http://cworth.org/hgbook-git/tour/ A tour of git: the basics] '''Recommended''' | *[http://cworth.org/hgbook-git/tour/ A tour of git: the basics] '''Recommended''' | ||
*[http://book.git-scm.com/ The Git Community Book | *[http://book.git-scm.com/ The Git Community Book] | ||
Revision as of 17:16, 9 March 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
- Git - SVN Crash Course (quickstart if you know svn)
- A tour of git: the basics Recommended
- The Git Community Book