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/Orion - Git client enhancements"

m
(General plan)
Line 12: Line 12:
 
My work would include implementation of missing Git commands. Task includes both server side and UI work.  
 
My work would include implementation of missing Git commands. Task includes both server side and UI work.  
  
== General plan ==
+
== General plan ==
  
 
*Add support for working with branches i.e. implement ''git branch'' and ''git checkout''  
 
*Add support for working with branches i.e. implement ''git branch'' and ''git checkout''  
Line 21: Line 21:
 
*Enhancement of existing ''remote'' command by implementing add/remove remotes functionality.  
 
*Enhancement of existing ''remote'' command by implementing add/remove remotes functionality.  
 
*Improvement of git config. Current configuration options cover only ''user.name'' and ''user.email''.  
 
*Improvement of git config. Current configuration options cover only ''user.name'' and ''user.email''.  
*General UI polishing. For example clone seems to need some work, according to discussion available [https://bugs.eclipse.org/bugs/show_bug.cgi?id=337818 here].
+
*General UI polishing. For example clone seems to need some work, according to discussion available [https://bugs.eclipse.org/bugs/show_bug.cgi?id=337818 here].
*Prepare a migration story for [https://bugs.eclipse.org/bugs/show_bug.cgi?id=339854 bug 339854] which is about changing current format of URIs used by RESTful Git API.  
+
 
*implement conditional GET where possible to reduce network traffic between client and server. [[https://bugs.eclipse.org/bugs/show_bug.cgi?id=338121 bug 338121], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=338122 bug 338122], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=339846 bug 339846]]  
 
*implement conditional GET where possible to reduce network traffic between client and server. [[https://bugs.eclipse.org/bugs/show_bug.cgi?id=338121 bug 338121], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=338122 bug 338122], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=339846 bug 339846]]  
 
*Implementing hundreds of fresh ideas, which may come once you begin development work. :)
 
*Implementing hundreds of fresh ideas, which may come once you begin development work. :)

Revision as of 08:43, 17 May 2011

  • Student: Piotr Janik
  • Mentors: Tomasz Zarna, Szymon Brandys

This project is part of the Google Summer of Code 2011


Goal

The first release of Orion is going to provide a simple but fully functional support for git. The idea behind this project is to identify missing bits and address them.

My work would include implementation of missing Git commands. Task includes both server side and UI work.

General plan

  • Add support for working with branches i.e. implement git branch and git checkout
  • Implementation of missing commands like reset, rm, revert, cherry-pick. Work will include both server and client side, number of implemented commands depends on available time.
  • Changing server implementation of some Git commands to use JGit porcelain API instead of JGit internals. [bug 340789, bug 344683]
  • Enhancing existing commit and add commands to be able to work with single file. Currently, only whole project can be committed. [bug 339190]
  • Implementation of user friendly graphical representation of git log. Similar to what we can see in EGit or git log --graph.
  • Enhancement of existing remote command by implementing add/remove remotes functionality.
  • Improvement of git config. Current configuration options cover only user.name and user.email.
  • General UI polishing. For example clone seems to need some work, according to discussion available here.
  • implement conditional GET where possible to reduce network traffic between client and server. [bug 338121, bug 338122, bug 339846]
  • Implementing hundreds of fresh ideas, which may come once you begin development work. :)

Also very important parts of my work:

  • Cooperation with JGit community when it is needed. As JGit is still in development, some features can be missing, some can change rapidly and some can need a fix.
  • Taking care of test coverage and wiki updates (i.e. server side Git REST API).

Progress

Orion improvements:

Status Bugzilla Entry Description
Progress.gif bug 344683 migration to JGit porcelain API - git log
Progress.gif bug 340789 migration to JGit porcelain API - git status
Progress.gif bug 339190 commit of single file


related JGit improvements:

Status Bugzilla Entry Description
Ok green.gif bug 345899 extending Status Command JGit porcelain API

Back to the top