Skip to content
Jaseem Abid edited this page Oct 8, 2012 · 1 revision

Project milestones/TODO

[INCOMPLETE LIST. MIGHT CHANGE DRASTICALLY]

  1. Design the JavaScript API

  2. Read and write repository configurations and settings.

    Open a repository with a given path, retrieve and update information like user information, config variables, description, branches, tags, remotes, submodules etc.

  3. File and diff viewing Git diff, blame, show file/blob contents.

  4. API for manipulating repository index.

    Retrieve state of the repository index (dirty/clean) Information on files in the index, their hash, size, mime type etc API to add, ignore, stage, unstage and reset files API to view staged and unstaged data.

  5. API for git branching API for git branch, merge, checkout etc

  6. Network & initialization features.

    Provide API for init, push, pull, clone etc.

  7. History walking

    History walking from standard reference points like branches, tags etc and more advanced options like shortlog and log –oneline.

  8. API history rewrites, undoing, rebase

    Git revert, reset, rebase, interactive rebase, reorder, squashing etc

  9. API for managing git submodules

  10. API to add new commits to the repository git commit, amend etc

  11. API for accessing notes, stashes, cherry-picking

  12. API for dealing with git object store git gc, bundle, purne, fsck

  13. Asynchronous API Provide a callback based asynchronous API for huge performance improvements. Instead of leaving it to the end as a big step, this will be implemented gradually as the project progress.