Jump to: navigation, search

Difference between revisions of "STEM/Git Migration"

(Repository Access)
(Repository Access)
Line 47: Line 47:
#*: <code><nowiki>http://www.eclipse.org/stem/psf-git.php</nowiki></code>
#*: <code><nowiki>http://www.eclipse.org/stem/psf-git.php</nowiki></code>
#* ''For committers:''
#* ''For committers:''
#*: <code><nowiki>http://www.eclipse.org/stem/psf-git.php?r=ssh&u=YOUR_COMMITTER_USERNAME</nowiki></code>
#*: <code><nowiki>http://www.eclipse.org/stem/psf-git.php?r=ssh&u=[YOUR_COMMITTER_USERNAME]</nowiki></code>
# Click '''Finish'''
# Click '''Finish'''

Revision as of 14:00, 3 April 2013


In April 2013, the STEM Project initiated its move from Subversion (SVN) to Git. This process is expected to take about a month and impacts all users of the STEM source code.

The Eclipse Foundation has encouraged projects to migrate from CVS and SVN, including shutting down CVS access late last year.

About Git

There are countless resources for learning about Git. Some useful ones:


Our migration is being tracked in Bugzilla under Bug 404584

Migration Timeline

  • March 21: Initial discussion on committer call re/ moving to Git (complete)
  • March 28: Further discussion on committer call re/ moving to Git. Committer motion to develop migration plan and initiate process passes. Most committers have experience with Git.
  • March 29: Request Git migration from Eclipse Webmaster
  • April 1: Create and publish test repositories for testing, begin migrating infrastructure
  • April 2: Public announcement of migration with STEM 2.0 milestone 1
  • April: test runs of repository split and import, prepare infrastructure (build scripts, CI server, project sets, etc) and update documentation
  • (Tentative) April 30: Freeze SVN, execute import, roll out new Git repositories
  • (Tenative) May 1: Declare migration complete

Repository Layout

Due to the nature of distributed versioning system like Git, an entire repository must be "cloned" onto a developer's machine before it can be worked with. While Git's compression is impressive, it still requires significant network transfer time and local storage for large repositories - even if you only need to work with a small subset. In STEM's case, we store a large amount of denominator in our SVN repository, on the order of 2 GB.

STEM has will split our code base into multiple repositories that can be fetched independently as needed. The proposed repositories are:

  • org.eclipse.stem.git - Core repository, including majority of source code and epidemiological modeling components
  • org.eclipse.stem.data.git - Common denominator data, including administrative borders and human population data
  • org.eclipse.stem.data.earthscience.git - Less common Earth Science denominator data

The idea is you can work independently with STEM without needing the additional repositories and they can be added as needed (although most developers will benefit from having the org.eclipse.stem.data repository cloned).

In July 2011, STEM did a logical refactor that changed the layout of our SVN repository from a flat to hierarchical structure reflecting components. We're happy with this layout and will not be changing the overall structure of our repository.

Repository Access

To quickly checkout the required STEM source code, the project set generator has been updated to generate EGit-compatible Team Project set.

  1. In Eclipse, open the Git Repository Exploring perspective
  2. Launch the Project Set Import Wizard File > Import > Team > Team Project Set
  3. On the Import Team Project Set page, enter the correct URL...
    • For non-committers:
    • For committers:
  4. Click Finish

Repository URLs

The STEM repositories will be available at the following URLs:

Read-only Access

Alternately, the repositories can be accessed using HTTP. See the Eclipse Git guide for more details

Committer Access

Committers should use Git over SSH to access the repositories. Other proxy methods are available, see the Eclipse Git guide for more details

Web access

Eclipse publishes a Gitweb view of the repositories. For the STEM, the URLs are:

Steps for Developers

  • Install EGit into your Eclipse IDE or your favorite Git client
  • Before the official freeze date (TBD, tentatively April 30), test that you can connect to the test repositories (published at the above URLs) with your needed level of access.
  • If you're a committer, try making a commit to again verify your needed access