Here are some screenshots of new redesigned steps in EGit synchronization wizard. The main idea is to make most common synchronization usage as short as it is possible. So I come with idea of ‘predefined synchronization configurations’. In first step of sync-wizard you can select from three options:
- Working Tree
- Remote Tracking
- Custom
After selecting first option you only uncommitted local changes (those that are stager/in index and those that aren’t). This should help you when you want to review yours changes just before commit or stage some changes.
Second option ‘Remote Tracking’ is only available when current branch tracks one of yours remote branches (if it doesn’t this option is disabled). This option will show you all locally made changes (same as in ‘Working Tree’) but also changes made in commits that occurs in local and remote branch after you started the local one.
Selecting one of those two actions (and selecting the checkbox next to repository name) will enable the ‘Finish’ button and you are done with launching synchronization.
In case when at least in one repository the ‘Custom’ option is selected, the ‘Finish’ button will be disabled, but ‘Next >’ should be enabled. In this situation you must go to the next page to setup yours custom synchronization.
On ‘custom synchronization step’ you will only see repositories that was chosen to have a custom synchronization. Here you can select source and destination branch and also include or exclude local changes from being shown in synchronization results.
Those changes are currently pending for a review in ours gerrit, but I think that they will be merged into master branch (not they won’t be included in 0.12 release).
What do you think about such approach for git synchronization? Maybe you see some other ‘predefined’ day-to-day synchronization configuration, if yes please let me know!