Bug 308284 - Project checking/unchecking in GitProjectsImportPage is broken
Summary: Project checking/unchecking in GitProjectsImportPage is broken
Status: RESOLVED FIXED
Alias: None
Product: EGit
Classification: Technology
Component: UI (show other bugs)
Version: 0.7.1   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: 0.8.0   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: ui
Depends on:
Blocks:
 
Reported: 2010-04-07 00:41 EDT by Ryan Schmitt CLA
Modified: 2010-05-12 08:10 EDT (History)
3 users (show)

See Also:


Attachments
First commit (5.16 KB, patch)
2010-04-07 00:42 EDT, Ryan Schmitt CLA
no flags Details | Diff
Second commit (8.21 KB, patch)
2010-04-07 00:43 EDT, Ryan Schmitt CLA
no flags Details | Diff
Third and final commit (7.47 KB, patch)
2010-04-07 00:44 EDT, Ryan Schmitt CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ryan Schmitt CLA 2010-04-07 00:41:25 EDT
When presented with a FilteredTree of available projects as the final step in importing a Git repository, checking and unchecking individual projects only works with the mouse. The TreeViewer supports using the keyboard (by navigating with the arrow keys and toggling with the spacebar), but changes made in this fashion are not propagated to the checkedItems field of the GitProjectsImportPage class. (For mouse interactions, a mouse listener is assigned to projectsList, the tree viewer, to manage the checkedItems field in response to selections being made.)

To me, it seems that the real problem here is the existence of the checkedItems field in the class for the wizard page. This was introduced a month ago, when Wim Jongman changed what had been a CheckboxTable into a FilteredTree (commit 589c30c2e9eb14550cc6063d2a801d2cc9b8bfb5). Continuously keeping track of which fields are checked should be the responsibility of the UI widget, not the wizard.
Comment 1 Ryan Schmitt CLA 2010-04-07 00:42:28 EDT
Created attachment 163986 [details]
First commit
Comment 2 Ryan Schmitt CLA 2010-04-07 00:43:01 EDT
Created attachment 163987 [details]
Second commit
Comment 3 Ryan Schmitt CLA 2010-04-07 00:44:34 EDT
Created attachment 163988 [details]
Third and final commit

In the future, would git format-patch origin/master --stdout > patchname be fine?
Comment 4 Mathias Kinzler CLA 2010-04-07 01:58:43 EDT
(In reply to comment #3)
> Created an attachment (id=163988) [details]
> Third and final commit
> 
> In the future, would git format-patch origin/master --stdout > patchname be
> fine?

Hi Ryan,

I ran into the same problems when using that class in some other environment and was about to do the same changes, so your patch comes in at exactly the same moment.

The official way would be to use the Gerrit code review server (see Egit Contributor guide at

http://www.eclipse.org/egit/ -> Developers -> Egit Contributors Guide (or directly http://wiki.eclipse.org/EGit/Contributor_Guide).

In order to speed up things a bit, however, I'll integrate this patch manually and upload it to Gerrit.
Comment 5 Mathias Kinzler CLA 2010-04-07 02:10:43 EDT
Code review started on Gerrit:

http://egit.eclipse.org/r/525
Comment 6 Ryan Schmitt CLA 2010-04-07 03:17:31 EDT
I've created an account on Gerrit (username rschmitt), it looks like it'll be a lot easier than conventional patches now that it's been set up.
Comment 7 Mathias Kinzler CLA 2010-04-07 03:23:40 EDT
(In reply to comment #6)
> I've created an account on Gerrit (username rschmitt), it looks like it'll be a
> lot easier than conventional patches now that it's been set up.

Hi Ryan,

great. Please do not hesistate to check-in your change into Gerrit if you feel like it (but note that I have done some minor adjustments, too which you might want to include). I'll be glad to review your change and abondon mine (making sure you get the credits...).

Best regards,
Mathias
Comment 8 Ryan Schmitt CLA 2010-04-07 03:45:32 EDT
I'm trying to push it, but I keep getting authentication failures:


$ git push ssh://rschmitt@egit.eclipse.org:29418/egit.git HEAD:refs/for/master
Enter passphrase for key '/c/Users/GSJ/.ssh/id_rsa':
Counting objects: 44, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (22/22), done.
Writing objects: 100% (34/34), 4.38 KiB, done.
Total 34 (delta 18), reused 0 (delta 0)
To ssh://rschmitt@egit.eclipse.org:29418/egit.git
 ! [remote rejected] HEAD -> refs/for/master (you are not author ryan.schmitt@boeing.com)
error: failed to push some refs to 'ssh://rschmitt@egit.eclipse.org:29418/egit.git'


I know I have the passphrase right--is there something wrong with the arguments to git?
Comment 9 Mathias Kinzler CLA 2010-04-09 10:04:09 EDT
New change on gerrit:

http://egit.eclipse.org/r/531
Comment 10 Chris Aniszczyk CLA 2010-05-12 08:10:02 EDT
MERGED.

Thanks!