1. IDE API TEAM
  2. Untitled project
  3. repo-api-master

Wiki

Clone wiki

repo-api-master / Home

Table of Contents:

Team TODO List

We have several general items in the queue:

Read Bibtbucket Doc

For the restbrowser, click on body to look at required parameters.

MongoDB

  • Install MongoDB instruction

  • Look into Mongo-GridFS instruction

    1. Can we modify a file in memory after exporting the saved file from GridFS?

      theory: yes

      confirmed: pending

Break down user stories

We need to break down our user stories into different groups and mark them as a specific resource. Every URI is a resource. So GET-ing a raw content is a READ operation on the Repository/SRC resource from Bitbucket's pointing of view.

We also need to put these user stories into the rest of the repo.


User stories

We have several kinds of user stories to implement and reflect these functions via our API web service.

  • As a user I want to be able to use my Bitbucket or scm-mangaer repository as the service that holds my repository so that I do not have to worry about keeping a repo in the service in sync with the repo I normally use.

  • As a user I want permissions on a repo in Bitbucket or scm-manager to reflect through so that I can use the API to edit any files on the repository hosts that I have edit permission for.

  • As a user I want to be able to create a new repository and have it remember my default repository host so that I don’t need to specify that every time.

  • As a user I want to be able to change permissions and share repos with other users and groups and have that automatically reflected into the external repository host I am using.

  • As a user I want to be able to view a single file in the repository without pulling down the whole repo so I can quickly read a file.

  • As a user I want to be able to get the directory tree structure so that I can build a UI that shows me navigation within the directory.

  • As a user I want to be able to edit a file and create a patch that can be stored in a patch queue so that I can maintain temporary edits before committing them to a commit.

  • As a user I want to be able to commit a file to my external repo so that that my changes are recorded permanently.

  • As a user I want to be able to move the location of a file or directory within the directory tree so that I can organize my repository as needed.

  • As a user I want to be able to create/update/delete files and directories in my repo and have those changes committed so that I can manage full control on my repo.

  • As a user I want to be able to display a diff of two change sets on a global or per file basis so I can see what changed in a repo or file.

  • As a user I want to review patches before committing them so that I can make sure the represent what I want to commit.

  • As a user I want to be able to manage fixing a repository with multiple heads where the heads where created by different users’ commit so that I can maintain a clean commit tree.

  • As a sys admin I want to be able to install the service on a host that does not provide access to disk like Google App Engine so that I can freely used cloud services and I do not have the security overhead of managing user access to disk.

  • As a sys admin I want the system to be able to use App Engine’s BigTable or MongoDB so that I can use either local or cloud data storage resources.

  • As a user I want to have a command line client to execute commands from a bash shell.

Updated