Git: Difference between revisions

From Scribus Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 4: Line 4:
==Introduction==
==Introduction==
Scribus Team maintains two code repositories - an internal protected Subversion repository accessible to only experienced core developers that contains a pristine history of Scribus development and a newer Git repository (several of them actually) that enable the Worldwide Scribus Community to easily contribute code to Scribus. We are attempting to follow the [http://nvie.com/posts/a-successful-git-branching-model/ successful Git branching development model] for the Git repository as explained below.  
Scribus Team maintains two code repositories - an internal protected Subversion repository accessible to only experienced core developers that contains a pristine history of Scribus development and a newer Git repository (several of them actually) that enable the Worldwide Scribus Community to easily contribute code to Scribus. We are attempting to follow the [http://nvie.com/posts/a-successful-git-branching-model/ successful Git branching development model] for the Git repository as explained below.  
==Access==
To obtain access please email your public ssh key to admin@scribus.net or post it somewhere on the web and email or paste the link into #scribus IRC channel. Read the [http://help.github.com/linux-set-up-git/ Set up SSH Keys] section to learn about creating an acceptable ssh key. Once we accept your key you will be able to verify your access with a <code>ssh git@www1.scribus.net info</code> command. If you have access gitolite will greet you and show the list of repositories accessible to you.
==Using Git==
There are numerous Git tutorials and books on the web:
* [http://learn.github.com/p/intro.html Introduction to Git @ github].
* [http://git-scm.com/book Scott Chacon's Pro Git book (Apress)].
* [http://gitref.org/index.html Git Reference Project].
* [http://gitimmersion.com/ Git Immersion].
* [http://www-cs-students.stanford.edu/~blynn/gitmagic/ Git Magic].
* [http://net.tutsplus.com/tutorials/other/easy-version-control-with-git/ Easy Version Control with Git].
* [http://marklodato.github.com/visual-git-guide/index-en.html A visual Git reference].
* [http://git.or.cz/course/svn.html Git-svn crash course to learn how to work with subversion via Git].


==Scribus Git Repositories==
==Scribus Git Repositories==
Line 31: Line 17:


==Using Scribus Git Repositories==
==Using Scribus Git Repositories==
To check out the main repository:
===Public Access===
git clone git@scribus.net:scribus.git
Public read-only access to all git repositories is available. For instance, to clone the trunk use the <code>git clone git://git.scribus.net/trunk.git</code> command.
 
===Write Access===
To obtain write access please email your public ssh key to admin@scribus.net or post it somewhere on the web and email or paste the link into #scribus IRC channel. Read the [http://help.github.com/linux-set-up-git/ Set up SSH Keys] section to learn about creating an acceptable ssh key. Once we accept your key you will be able to verify your access with a <code>ssh git@git.scribus.net info</code> command. If you have access gitolite will greet you and show the list of repositories accessible to you. After that, you can clone a repository via, for example, <code>git clone git@scribus.net:scribus.git</code> and be able to push back your commits if allowed.


The application of the Git Branching and Merging development model to Scribus development includes:
The application of the Git Branching and Merging development model to Scribus development includes:
Line 41: Line 30:
** trunk - used to synchronize code to and from the git-svn trunk.git repository.
** trunk - used to synchronize code to and from the git-svn trunk.git repository.
** YOURBRANCH - branch master and develop new features or fix problems before merging into master.
** YOURBRANCH - branch master and develop new features or fix problems before merging into master.
==Literature on using Git==
There are numerous Git tutorials and books on the web:
* [http://learn.github.com/p/intro.html Introduction to Git @ github].
* [http://git-scm.com/book Scott Chacon's Pro Git book (Apress)].
* [http://gitref.org/index.html Git Reference Project].
* [http://gitimmersion.com/ Git Immersion].
* [http://www-cs-students.stanford.edu/~blynn/gitmagic/ Git Magic].
* [http://net.tutsplus.com/tutorials/other/easy-version-control-with-git/ Easy Version Control with Git].
* [http://marklodato.github.com/visual-git-guide/index-en.html A visual Git reference].
* [http://git.or.cz/course/svn.html Git-svn crash course to learn how to work with subversion via Git].

Revision as of 20:21, 12 June 2012

This page provides documentation for the usage of Scribus Git repositories for Scribus development.

Introduction

Scribus Team maintains two code repositories - an internal protected Subversion repository accessible to only experienced core developers that contains a pristine history of Scribus development and a newer Git repository (several of them actually) that enable the Worldwide Scribus Community to easily contribute code to Scribus. We are attempting to follow the successful Git branching development model for the Git repository as explained below.

Scribus Git Repositories

The full list of Scribus code Git repositories:

  • scribus - The main Scribus git repository with the complete history.
  • trunk - Repository for synchronization with the Subversion trunk.
  • testing - empty repository to practice and learn git.

GSoC 2012 Student repositories:

  • gsoc12pm - Project Manager project repository.
  • gsoc12ux - User Experience project repository.
  • gsoc12xml - New XML File Format project repository.
  • gsoc12trunk - Merge and synchronization repository for GSoC 2012.

Using Scribus Git Repositories

Public Access

Public read-only access to all git repositories is available. For instance, to clone the trunk use the git clone git://git.scribus.net/trunk.git command.

Write Access

To obtain write access please email your public ssh key to admin@scribus.net or post it somewhere on the web and email or paste the link into #scribus IRC channel. Read the Set up SSH Keys section to learn about creating an acceptable ssh key. Once we accept your key you will be able to verify your access with a ssh git@git.scribus.net info command. If you have access gitolite will greet you and show the list of repositories accessible to you. After that, you can clone a repository via, for example, git clone git@scribus.net:scribus.git and be able to push back your commits if allowed.

The application of the Git Branching and Merging development model to Scribus development includes:

  • Using scribus.git repository for community development.
  • Using the following naming scheme for the branches:
    • master - main developmental branch - merge your feature/fix branches into it.
    • release - release / tagging branch.
    • trunk - used to synchronize code to and from the git-svn trunk.git repository.
    • YOURBRANCH - branch master and develop new features or fix problems before merging into master.

Literature on using Git

There are numerous Git tutorials and books on the web: