Orion/How Tos/Working with git

From Eclipsepedia

Jump to: navigation, search

Contents

Linking to a git clone already existing on your computer

  1. First clone a git repository to any location in your local filesystem, you can do with a tool of your choice (EGit, msysgit...)
  2. Download and run Orion
  3. Create a project and link it to the location you used in Step 1.
  4. Orion will automatically detect that the project is actually a git clone (we will probably make it configurable in the future)

Linking to a git repository using git file store

  1. Download and run Orion
  2. Make sure org.eclipse.orion.server.filesystem.git is added your launch configuration
  3. When linking a project select gitfs, enter URL for a git repository and leave Module empty
  4. If you entered an existing location on your computer it must be a cloned repository, we won't be doing any smart detection here Howtogit--link folder dialog2.png
  5. For a git repository which requires authentication (e.g. starts with ssh://) to be able to clone it (and also fetch and push) you will need to wait for bug 334120 to be fixed Howtogit--link folder dialog.png
  6. Under the hood, a git implementation of EFS will be used to clone the repository pointed by the URL. The file store's only role is to clone the repo. Modifying the working tree can be accomplish with the File API. Adding files to the index, committing them and other git operations will be available via the Git REST API.

Git REST API

Getting status for a git project

Overview
To retrieve the working tree status of a project, send a GET request to the git status location.
HTTP Method
GET
Example Request
GET /git/status/file/MyProj/

  
Example Response
HTTP/1.1 200 OK
 Content-Type: text/plain
 Content-Length: 22

TBD
Detailed Explanation
TBD.


Progress in being tracked on bug 337212. This section will be moved to Orion/Server_API once the API get stable.

Getting a diff

Overview
To retrieve changes changes between selected commits, commit and working tree, and so on. Send a GET request to the git diff location.
HTTP Method
GET
Example Request
GET /git/diff/file/MyProj/

  
Example Response
HTTP/1.1 200 OK
 Content-Type: text/plain
 Content-Length: 22

TBD
Detailed Explanation
TBD.


Progress in being tracked on bug 337212. This section will be moved to Orion/Server_API once the API get stable.

Other operations

TBD, see bug 336116

Bugs, comments, feedback

If you experience any problems when following the steps above ping z4z4 or SzymonB on IRC (use #eclipse-orion channel)., or open a new bug right away.