CMake/Git: Difference between revisions
Line 29: | Line 29: | ||
After cloning the repository using the above instructions one may commit new changes locally. | After cloning the repository using the above instructions one may commit new changes locally. | ||
We provide here a brief introduction to development with Git. | |||
See the [[#Resources Resources]] below for further information. | |||
==Publishing== | ==Publishing== | ||
Line 51: | Line 53: | ||
The distributed nature of Git allows contributors to retain authorship credit even if they do not publish changes directly. | The distributed nature of Git allows contributors to retain authorship credit even if they do not publish changes directly. | ||
'''After the final conversion to Git''' is finished we will consider pull requests from online Git hosting sites. | '''After the final conversion to Git''' is finished we will consider pull requests from online Git hosting sites. | ||
=Resources= | |||
Additional information about Git may be obtained at these sites: | |||
* [http://git-scm.com Git Homepage] | |||
* [http://book.git-scm.com/ Git Community Book] | |||
* [http://www.kernel.org/pub/software/scm/git/docs/everyday.html Everyday Git] | |||
* [http://github.com/guides/git-cheat-sheet Git Cheat-Sheet] | |||
* [http://progit.org/book/ Pro Git] |
Revision as of 16:45, 4 February 2010
CMake version tracking and development is moving to Git.
Experimental Repository
We have published an experimental repository on cmake.org
.
WE REQUEST THAT NO ONE PUBLISH A CLONE OF THIS REPOSITORY AT AN ONLINE HOSTING SITE. This may or may not be the final version of history after conversion from CVS. It may be removed or rewritten at any time. We prefer to not have multiple incompatible histories out there. The final conversion will be available soon, at which point we may all begin sharing changes!
At the time of this writing it has only the development mainline and no branches or tags. These will be converted and added later without hindering the main move.
One may clone the repository using git clone through the native git
protocol:
git clone git://cmake.org/cmake-tmp.git CMake
or through the (less efficient) http
protocol:
git clone http://cmake.org/cmake-tmp.git CMake
The repository is also available by anonymous cvs pserver, served by git cvsserver. The server maps git branches to cvs modules, so one must ask cvs to get the module "master":
cvs -d :pserver:anonymous@cmake.org:/cmake-tmp.git co -d CMake master
One may browse the repository online using the Gitweb interface at http://cmake.org/gitweb.
Development
After cloning the repository using the above instructions one may commit new changes locally. We provide here a brief introduction to development with Git. See the #Resources Resources below for further information.
Publishing
The experimental repository is unofficial and changes published in it are not considered part of the project. However, developers may experiment with publishing work as follows.
Git automatically configures a new clone to refer to its origin through a remote called origin
.
Initially one may fetch or pull changes from origin
,
but may not push changes to it.
In order to publish new commits in the cmake.org
repository, developers must configure a push URL for the origin
.
Use git config to specify an ssh-protocol URL:
git config remote.origin.pushurl git@cmake.org:cmake-tmp.git
All publishers share the git@cmake.org
account but each uses a unique ssh key for authentication.
To request access, fill out the Kitware Password form.
Include your ssh public key and a reference to someone our administrators may contact to verify your privileges.
Note that we may not grant all contributors push access to the cmake.org
repository.
The distributed nature of Git allows contributors to retain authorship credit even if they do not publish changes directly.
After the final conversion to Git is finished we will consider pull requests from online Git hosting sites.
Resources
Additional information about Git may be obtained at these sites: