Jump to: navigation, search


< E4
Revision as of 11:17, 24 November 2010 by Pwebster.ca.ibm.com (Talk | contribs) (Current Repos)

For working in git lately I've been using the latest eGit. Functionality has been increasing week over week, so I just use their latest nightly:


Some resources:

Git in e4

We have a place in e4 for git repositories.

Current Repos

A repo then follows our standard subdir convention:

  • bundles
  • features
  • examples
  • tests

When creating a repo on the server, follow these steps (Please update them if there are better steps :-)

  1. log into git.eclipse.org
  2. cd /gitroot/e4
  3. mkdir component.id.git # ex: mkdir org.eclipse.e4.search.git
  4. cd component.id.git
  5. git init --bare

This creates a bare repo that can be cloned. Then on your work machine

  1. git clone ssh://pwebster@git.eclipse.org/gitroot/e4/component.id.git
  2. cd component.id
  3. mkdir bundles features examples tests
  4. add a useful .gitignore. See below
  5. copy in your plugins into bundles, features into features, test plugins into tests, etc
  6. add all of your files: git add -A
  7. commit them with a useful commit message
  8. add 2 tags. One will be initial-import. The other should be a time tag, like v20101124-0800
  9. I split the next step up into 2:
    1. git push origin master
    2. git push --tags origin

Example .gitignore


We build our git repos still using map files, checked into CVS in the /cvsroot/eclipse e4/releng module. You can generate a default map file for your initial commit from your repo root using git-gen-map.sh. ex:

/bin/bash git-gen-map.sh git://git.eclipse.org/gitroot/e4/org.eclipse.e4.search.git v20101124-0800 bundles tests features

Submitting for a build

We have 2 scripts used for submitting for the build. One to update the map files, and one to generate the submission report for our mailing list e4-dev@eclipse.org

git-map.sh is used to update the map files.

git-submission.sh is used to generate a build submission report.

Note: We have a policy that all commits have the associated bug number. Usually our format is:

Bug <number> - <bug title>

and then any specific comments after the title or on the next line. It's important that we only list 1 bug # per line, and at the beginning of the line. A line with "bug #" or "Bug #" without the title is also acceptable.

When ready to submit deeplinking for the build, you have to submit 2 repos, org.eclipse.e4.deeplink and org.eclipse.e4.utils. For each repo:

  1. cd into the repo (make sure it's up to date, you're on the master branch, etc)
  2. tag the repo: git tag v20101022-1030 # we use vDATE-TIME as our tag
  3. make sure you push the tag back to the public repo
  4. run the script (see example below)
  5. You'll have to execute the script for each subdiretory: bundles, examples, features, tests.
  6. Repeat the steps for the second repo.
  7. Then refresh your workspace and commit.

git-map.sh example:

$ /bin/bash git-map.sh v20101022-1030 /opt/pwebster/workspaces/e4/releng/org.eclipse.e4.deeplink.releng/maps/deeplink.map  bundles

Then when done you can generate your build submission report for the e4-dev list:

$ /bin/bash git-submission.sh >report.txt