Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Orion/Server API/Git API"

m (Set category sort keys)
m (git commands and corresponding bugzillas)
Line 1: Line 1:
 
The Git API is a web server API for browsing and manipulating Git repositories.
 
The Git API is a web server API for browsing and manipulating Git repositories.
  
== Actions ==
+
== Git commands ==
 +
 
 +
=== git add ===
 +
=== git branch ===
 +
=== git checkout ===
 +
=== git clone ===
 +
=== git config ===
 +
=== git commit ===
 +
 
 +
see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=338203 bug 338203]
 +
 
 +
=== git fetch ===
 +
=== git log ===
 +
=== git merge ===
 +
=== git pull ===
 +
 
 +
see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=336116 bug 336116]
 +
 
 +
=== git push ===
 +
=== git reset ===
 +
=== git revert ===
 +
see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=339105 bug 339105]
 +
 
 +
=== git status ===
 +
[[#Getting status for a git project]]
 +
 
 +
=== git tag ===
 +
see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=339108 bug 339108]
 +
 
 +
== REST API ==
  
 
=== Getting status for a git project ===
 
=== Getting status for a git project ===
Line 87: Line 116:
  
 
Progress is being tracked on [https://bugs.eclipse.org/bugs/show_bug.cgi?id=338202 bug 338202].
 
Progress is being tracked on [https://bugs.eclipse.org/bugs/show_bug.cgi?id=338202 bug 338202].
 
== Other operations ==
 
 
=== git commit ===
 
 
see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=338203 bug 338203]
 
 
=== git checkout ===
 
 
=== git tag ===
 
 
=== git remote ===
 
 
=== git fetch ===
 
 
=== git merge ===
 
 
=== git pull ===
 
 
see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=336116 bug 336116]
 
  
 
= JSON representations =
 
= JSON representations =

Revision as of 07:51, 14 March 2011

The Git API is a web server API for browsing and manipulating Git repositories.

Git commands

git add

git branch

git checkout

git clone

git config

git commit

see bug 338203

git fetch

git log

git merge

git pull

see bug 336116

git push

git reset

git revert

see bug 339105

git status

#Getting status for a git project

git tag

see bug 339108

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.

Getting a diff

Overview
To retrieve 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.


Getting a file content from index

Overview
To retrieve file content kept in index. Send a GET request to the git index location.
HTTP Method
GET
Example Request
GET /git/index/file/MyProj/file.txt

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

This is the contents
Detailed Explanation
TBD.


Progress is being tracked on bug 337212.

Configuring git

Progress is being tracked on bug 337820.

Staging files

Overview
To stage a file, add it to index. Send a PUT request to the git index location.
HTTP Method
PUT
Example Request
PUT /git/index/file/MyProj/file.txt

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

<nothing>
Detailed Explanation
TBD.


Unstaging files

Overview
To unstage a file, reset index and/or working tree. Send a POST request to the git index location.
HTTP Method
POST
Example Request
POST /git/index/file/MyProj/file.txt

{
"Reset" : "MIXED" 
}  
Example Response
HTTP/1.1 200 OK
 Content-Type: text/plain
 Content-Length: 22

<nothing>
Detailed Explanation
TBD.


Progress is being tracked on bug 338202.

JSON representations

File representation extension

The JSON representation for files and directories used by file API may be extended as follows: Required fields are shown in bold. A client cannot rely on the existence of non-required attribute in a file representation from a given Orion server.

Field Data type Value
Git.DiffLocation URI Location of Git Diff resource
Git.StatusLocation URI Location of Git Status resource
Git.IndexLocation URI Location of Git Index resource

Back to the top