Patch Set 6: No score; No score

good progress, thanks :-)

I mostly did some blackbox testing trying out the functionality you provide, here my feedback for this round:

Some problems I see with the current synchronize dialog:
- the title says:
    Sychronize project: org.eclipse.egit.ui
  and the synchronize view does this, but what if changes in the same repository 
  span multiple projects ? Or subsequent changes are in the same repository but not
  the same eclipse project. E.g. first change only affects project a and second change
  only affects project b and both projects are in the same repository. Splitting 
  changes during synchronization on project borders is a no-go in my view.

- in the two combos in this dialog I can also select local branches
- in the left combo the local repository is name "local", what if I happen to have a
  Remote called "local" which is pointing to another repository I have on my local
  machine ? Which of the two would be hidden ? I think you need to find a different
  way to express that you want to synchronize against another branch in the same repo.
- if I select local, then I can also select HEAD and heads/master, but this comparison
  doesn't make sense since comparing a branch against itself will always yield an empty 
  result.
- if I select "origin" / "master" the ref for the master branch is just "master", but if
  I try "local" / "heads/master" the ref is "heads/master" -> this is inconsistent

In the repositories view I see a menu entry "Synchronize" on remote branches, but this
is always grayed out so I can't use it

Tried the following scenario
- clone egit repository and import all the projects
- on this clone run: git reset --hard 55fb47b3e942fc75
- now we should get the commits we threw away on the local branch as the set of changes which 
  need to be synchronized (and could be fast forwarded)
- multi-select all egit projects and start synchronize
- this has no effect (why that ? git changes are transferred in commits not regarding 
  if these commits span 1 or multiple eclipse projects)
- running the same on project org.eclipse.egit.ui works: the synchronize diff
displayed against origin/master seems to be reasonable
- running synchronize operation has no effect, that's surely due to the fact that merge 
  for fast forward is available just since today (Stefan's and Christian's changes). 
  Without merge (or rebase) there is no way to pull the upstream changes into the local 
  branch. Hence the diff shown in the synchronize view doesn't go away.
- did another change in org.eclipse.egit.ui but didn't commit this one
- again open synchronize on that project -> the not committed change is also shown, this 
  shouldn't be the case as the synchronize dialog said it would compare against current 
  local HEAD, but this change did not yet reach the current local HEAD.

Tried another scenario:
- do a fresh clone of jgit
- do some changes in org.eclipse.jgit.junit and org.eclipse.jgit.test
- commit these changes in one commit
- start synchronize from org.eclipse.jgit.junit
- this displays only the changes in that project but not the changes in the other
  project which have been committed in one single commit. 
- I think this doesn't make sense since the smallest unit I could transfer 
  during sychronize is one commit, it's not possible to push or pull half of a commit 
  (or this is no longer git)
- hence it looks to me like we should see the sychronize operation always as an 
  operation acting on repository level (not project level). Of course it makes sense
  to see which projects will be affected by a synchronization and group the changes
  accordingly but artificially splitting changes on project borders doesn't make 
  sense in my opinion. With CVS this looks much different since CVS doesn't know 
  atomic commits of changesets but only of single file revisions.