Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [egit-dev] merge tool workflow

That Customize Perspective approach certainly solves the immediate need.

A more sophisticated commit dialog could be interesting in some cases but wouldn't really help with the merge/rebase process since its too late in the workflow and its modal so isn't going to let you modify files/run builds/run tests etc to verify the semantic merge.

On 06/04/2011, at 4:56 PM, Matthias Sohn wrote:

2011/4/6 Bernard Leach <leachbj@xxxxxxxxxxxxxxxx>
Hi all,

One problem I keep running into with egit and merging is what is an efficient work flow for resolving conflicts.

Egit seems to provide two mechanisms for conflict resolution;

Resource decorations mark the resources (and their parents) with conflicts
The merge tool can locate all modified resources in the selection and opens a 'structure compare' view (tree of files at the top, compare view at the bottom)

When I'm doing a large merge with lots of conflicts though I find that neither really provides a simple work flow to resolve the conflicts.  The merge tool is helpful in that I can go through the structure compare select each file and then modify the workspace version to manually merge the changes, problem is from there you need to mark the file as resolved but there's no easy way to get to the 'Team->Add' menu since thats only available as a context menu on the resource and the project explorer (or navigation view) isn't synced with the structure compare.

If you enable the Git Command Group you may use the "Add" button from the main workbench toolbar [1] :
- open "Customize Perspective > Command Groups Availability" and enable "Git"
among other frequently used git commands this adds an "Add" button in the main toolbar
What I'd really like to see is a new view that shows the state of the working space against the index (e.g. a git status view).  That would be a simple table view that would be shown after a merge/rebase results in a conflict.  The context menu on each item would be something like 'Add', 'Unstage'(?), 'Open in compare editor', 'Open' with the double click opening the compare editor.  I've proposed a feature like this in [1] - I'd have a crack at implementing something like that but I've never worked on eclipse plugins so not really sure what is required.

Am I missing something in the current UI or does this make sense to the wider public?



We are thinking about replacing the current commit dialog with a more powerful status/staging/commit 
view which shall also provide something like a git status view. Remy started a first draft for a staging view
in June last year [1] but this is unfinished. I'll update bug 313263 [2] in the next days to take up this discussion
again. I think this would be also the right place to get an overview about pending conflicts coming from
an earlier merge/rebase/cherry-pick. 

I think it's time to take up this discussion as this will improve usability a lot especially
for tasks like merge or rebase interactive (not yet available in EGit) which may have 
many steps which are hard to use if there is no overview on the status of the bigger task.


Back to the top