CMake/Git: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
No edit summary
(Replaced content with "The instructions previously available on this page have been superseded. See [https://gitlab.kitware.com/cmake/cmake/blob/master/Help/dev/README.rst here].")
 
(73 intermediate revisions by 4 users not shown)
Line 1: Line 1:
__TOC__
The instructions previously available on this page have been supersededSee [https://gitlab.kitware.com/cmake/cmake/blob/master/Help/dev/README.rst here].
 
CMake version tracking and development is moving to [http://git-scm.com Git].
 
=Experimental Repository=
 
We have published an ''experimental'' repository on <code>cmake.org</code>.
'''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 thereThe 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 [http://www.kernel.org/pub/software/scm/git/docs/git-clone.html git clone] through the native <code>git</code> protocol:
 
  git clone git://cmake.org/cmake-tmp.git CMake
 
or through the (less efficient) <code>http</code> protocol:
 
  git clone http://cmake.org/cmake-tmp.git CMake
 
The repository is also available by anonymous cvs pserver, served by [http://www.kernel.org/pub/software/scm/git/docs/git-cvsserver.html 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 [http://git.wiki.kernel.org/index.php/Gitweb Gitweb] web interface at http://cmake.org/gitweb.
 
=Development=
 
After cloning the repository using the above instructions one may commit new changes locally.
 
==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 [http://www.kernel.org/pub/software/scm/git/docs/git-remote.html remote] called <code>origin</code>.
Initially one may [http://www.kernel.org/pub/software/scm/git/docs/git-fetch.html fetch] or [http://www.kernel.org/pub/software/scm/git/docs/git-pull.html pull] changes from <code>origin</code>,
but may not [http://www.kernel.org/pub/software/scm/git/docs/git-push.html push] changes to it.
 
In order to publish new commits in the <code>cmake.org</code> repository, developers must configure a ''push URL'' for the <code>origin</code>.
Use [http://www.kernel.org/pub/software/scm/git/docs/git-config.html git config] to specify an ssh-protocol URL:
 
  git config remote.origin.pushurl git@cmake.org:cmake-tmp.git
 
All publishers share the <code>git@cmake.org</code> account but each uses a unique ssh key for authentication.

Latest revision as of 15:14, 6 March 2017

The instructions previously available on this page have been superseded. See here.