History of git
{maketoc}bitweaver is attempting to complete our ((CVS Migration)) to the [http://git-scm.com/|git] version control system. We have broken our CVS virtual modules in 150+ individual git repositories.
!Gitting Started
Here are the steps to git up to speed and begin developing bitweaver on git:
!!1. Get some Git.
There are [http://git-scm.com/download|downloads for all major platforms] however, be aware the anything other than the command line on linux is temperamental. Additional notes for using git with windows are being ((git on windows|developed here)).
!!2. Register on [http://github.com]
Let us know on ((IRC)) so we can add you as a collaborator. (BW Admins, there is a script to make this process simpler //WILL - PLEASE PUT SCRIPT SOMEPLACE ON MODELA//
!!3. Clone and Go
For standard read-only access, use:
{code source=bash}git clone git://github.com:bitweaver/bitweaver.git{/code}
If you are a developer and need commit access, use:
{code source=bash}git clone git@github.com:bitweaver/bitweaver.git -b DEV{/code}
This will create a 'bitweaver' directory where you are. Follow up with...
{code source=bash}
cd bitweaver
git submodule init
git submodule update
git submodule foreach --recursive git checkout master
{/code}
That will pull down all of the sub repositories for the directory structure the first clone created.
//style and icon sections need to be redirected to the correct subfolders//
!Creating a new Repository
Contact a bitweaver admin to [http://help.github.com/creating-a-repo/|create a new repo on github] for you.
!Repository Locations
!!Github
[http://github.com/bitweaver/]
We are going to attempt to keep our code on github. There are is one major problem with Github currently - [http://support.github.com/discussions/post-receive-issues/106-cia-hook-has-no-project-options-fear|the lack of decent IRC notification].
!!bitweaver.org
We have a backup plan if github does not work out. We have our own install running gitosis, which was set up by [/nickpalmer]
git://git.bitweaver.org/
Contact an admin via ((IRC)) about getting a public key added. If github continues to suck, we will revert to bitweaver.org which is running gitosis, and we can mirror push'es to github on an update hook.
!Import concepts in Git
!!Submodules
This is the __second major stumbling block__. Git submodules are similar to virtual modules in CVS. The achilles heal of git submodules is a "git submodule add ..." is tied to a particular commit for the submodule repository.
A lesser issue, submodules can only have directories in the current directory, so you have to nest. We cannot do the all-in-one "cvs co bitewaver" like we used to.
!!Stashing
[http://progit.org/book/ch6-3.html]
!Reference Materials
http://gitref.org/
!Gitting Started
Here are the steps to git up to speed and begin developing bitweaver on git:
!!1. Get some Git.
There are [http://git-scm.com/download|downloads for all major platforms] however, be aware the anything other than the command line on linux is temperamental. Additional notes for using git with windows are being ((git on windows|developed here)).
!!2. Register on [http://github.com]
Let us know on ((IRC)) so we can add you as a collaborator. (BW Admins, there is a script to make this process simpler //WILL - PLEASE PUT SCRIPT SOMEPLACE ON MODELA//
!!3. Clone and Go
For standard read-only access, use:
{code source=bash}git clone git://github.com:bitweaver/bitweaver.git{/code}
If you are a developer and need commit access, use:
{code source=bash}git clone git@github.com:bitweaver/bitweaver.git -b DEV{/code}
This will create a 'bitweaver' directory where you are. Follow up with...
{code source=bash}
cd bitweaver
git submodule init
git submodule update
git submodule foreach --recursive git checkout master
{/code}
That will pull down all of the sub repositories for the directory structure the first clone created.
//style and icon sections need to be redirected to the correct subfolders//
!Creating a new Repository
Contact a bitweaver admin to [http://help.github.com/creating-a-repo/|create a new repo on github] for you.
!Repository Locations
!!Github
[http://github.com/bitweaver/]
We are going to attempt to keep our code on github. There are is one major problem with Github currently - [http://support.github.com/discussions/post-receive-issues/106-cia-hook-has-no-project-options-fear|the lack of decent IRC notification].
!!bitweaver.org
We have a backup plan if github does not work out. We have our own install running gitosis, which was set up by [/nickpalmer]
git://git.bitweaver.org/
Contact an admin via ((IRC)) about getting a public key added. If github continues to suck, we will revert to bitweaver.org which is running gitosis, and we can mirror push'es to github on an update hook.
!Import concepts in Git
!!Submodules
This is the __second major stumbling block__. Git submodules are similar to virtual modules in CVS. The achilles heal of git submodules is a "git submodule add ..." is tied to a particular commit for the submodule repository.
A lesser issue, submodules can only have directories in the current directory, so you have to nest. We cannot do the all-in-one "cvs co bitewaver" like we used to.
!!Stashing
[http://progit.org/book/ch6-3.html]
!Reference Materials
http://gitref.org/