Re: [anjuta-devel] Testing needed for new git status code



Hi James!

Your proposal looks good to me, but I'd like to add a few things:

1. We should be able to do this without disturbing the UI code. In other
words, other than the context sensitivity changes, we should do this by
rewriting the command objects and leave the upper-level git shell code
alone. I'm thinking that the new command structure would probably look a
lot like the command objects we have for the Subversion plugin, in that
they would derive AnjutaAsyncCommand and dispense with AnjutaLauncher.

While playing with the library I realised that there are probably quite
some commands that we don't even need to do async because git is so much
faster than the ui code (sync anyway) to build lists, etc. I agree that
we could do that without changing the UI code - but I would want - see
below.

2. Generally the proposed feature set looks good but I want to add these:
- Bisect support (we have commands for this but I haven't implemented a
git shell UI for it yet)
- Let users add diff hunks to the index instead of whole files.

- Log filtering. As with bisect, we still have the commands for these
but with no UI in git shell.

Log filtering looks good to me, diff hunks for a selection too. Not so
sure about bisect. My idea was to radically simply things to a minimum
but highly usable set. 

Can libgit2 do all of this? From time to time I take a look at libgit2
to see how it's progressing but it seems to be missing advanced things
like bisect.

It probably does - I think we shouldn't aim for a full git shell in
Anjuta. When it comes to all the advanced git stuff the workflow is
usually:

1) google for the problem
2) find a blog post with a cool solution (usually including quite
interesting shell commands)
3) try in the shell

It is really difficult to design an UI for things like bisect that isn't
confusing. We might want to do design prototypes at some point to see if
we find something that fits - but only after having a super easy
workflow for the simpler commands.

libgit2 doesn't support clone though atm, which we might want to still
do for project import.

What other UI changes did you have in mind? I'd like to see those mockups...

I didn't find time to prototype the UI yet and might find some
limitation on the ideas I have in my head, so please let me try this
first before getting into detailled discussions. The idea is to allow to
work completely without mouse (shortcuts / focus handling) and to have
git integrated in the workflow rather than feeling an extra plugin.

Regards,
Johannes

Attachment: signature.asc
Description: This is a digitally signed message part



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]