- Get basic commands to run on the command line. (this one is mostly done, I just have to do some of the more interesting things like rebase, cherry-pick etc)
- Add support for styles and templates. Think pretty-print or styles/templates under Hg. ( I can probably tag v0.1 at this point)
- GUI (see below, should be v0.2)
- Built-in HTTP server. This will be similar to hg serve and use a similar framework. The hg serve is very nice and one of the things that prompted me to start this. (v0.3)
- Convert direct shell commands to c extensions that do the shell commands. This doesn't make much sense by itself, but is very nice for the next step...(v0.5)
- Convert to libgit where libgit is currently implemented. Only part of git functions as a c library, so much will still have to be done in sub-processes. This will probably take a while (v0.9)
- Squeeze out bugs and I can call it v1.0.
Now on to the fun part, the GUI.
Long ago, I was temted to create a GUI for git that ran on Windows and was written in C#. This was called Widgit. I did some work on it, but I could not convince my co-workers to be interested in git, and without someone to use what I was writting, it seemed kind of pointless. Fast forward a few months and I started working on Pyrite. Since this was more geared to the Linux crowd, I felt I could use python and GTK+ to make the GUI, but I liked several of the Ideas that I had for Widgit and I thought I could reuse them. Here is what the basic view looked like...
There was a status pane also...
I was also fairly proud of the commit view filter, which I thought was handy...
And I plan to have all of these elements in Pyrite. Also, I really like some of the things I have seen in other GUIs that I want to borrow. For instance the graphical tree structure of Giggle is very nice and done using Cairo. Also, it shows the diffs a la gitk.
So all these things are nice. I have done a little bit of work on the GUI, but its just getting started. Here you can see what the current status of it is...
If anyone has any suggestions, I will be glad to hear them.
A windows GUI? :(
It will be in pygtk and is intended to run on all the major platforms. Work has stalled recently since I am trying to convert to using the git-python library to interact with git.
Post a Comment