Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Orion/Server API/Git API
The Git API is a web server API for browsing and manipulating Git repositories.
Git commands
git add
#Staging files #Unstaging files
git branch
no bug yet
git checkout
see bug 337818
git clone
see bug 337818
git config
git commit
git diff
git fetch
see bug 339110
git log
see bug 339104
git merge
see bug 339111
git pull
see bug 339114
git push
see bug 339115
git remote
see bug 339109
git reset
see bug 338202
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.
Committing files in index
- Overview
- To commit all files in index. Send a POST request to the git commit location.
- HTTP Method
- POST
- Example Request
POST /git/commit/file/MyProj/
{
"Message" : "<Your commit message>"
}
- Example Response
HTTP/1.1 200 OK
Content-Type: text/plain
Content-Length: 22
<nothing>
- Detailed Explanation
- TBD.
Amending a commit
- Overview
- To amend the last commit. Send a POST request to the git commit location.
- HTTP Method
- POST
- Example Request
POST /git/commit/file/MyProj/
{
"Message" : "<Your commit message>",
"Amend" : "true"
}
- Example Response
HTTP/1.1 200 OK
Content-Type: text/plain
Content-Length: 22
<nothing>
- Detailed Explanation
- TBD.
This operation is not yet supported, see bug 339242.
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 |