Hi Alex,
I'm pretty sure that EGit used to select all untracked files by default
in the commit dialog. Yet if I create a new file and click on 'commit'
it's not selected.
The behavior that the untracked files are selected by default was originally implemented for 0.8. It was changed in release 0.10 as a reaction to bug 326947.
If a file was already under Git control, then it is selected.
This might lead to confusion in the end user - for example, I created a
new file, right clicked on it and went to 'commit'. But the file wasn't
selected, so I couldn't commit it. If I had had a different file
changed and clicked on my new file to do a 'commit' then I'd have been
able to blow through the dialog and commit a different file from the
one I was meaning to.
If we aren't going to select untracked files by default, then we should
at least select all the files that are selected in the selection window
(or children of that selection) so as not to confuse others.
Thoughts?
The reason that the behavior was changed was that users complained to have mistakenly committed untracked files.
The dialog behaves like commit -- <file>..., because we preselect the files that are selected in the package explorer. But on the command line commit -- <file>... does not work for untracked files. We want to be close to native git here such that the user has to do an extra step before she adds files to the repository.
However, I would not object to making that behavior configurable, for example by a preference. What do you think?
I like the behaviour from MercurialEclipse: