Subject: Re: jgit and ignore

From: "Ferry Huberts (Pelagic)" <[email-masked]>
Date: Sun, 01 Mar 2009 14:47:28 +0100

Tor Arne Vestbø wrote:
> Ferry Huberts (Pelagic) wrote:
>> BTW. the plugin will not look at the eclipse filter for ignore files
>> once I've finished the implementation. that's the only way to make sure
>> that we ignore resources in exactly the same way as git does: git only
>> ignores on the basis of .gitignore files, command line options (we do
>> not have those for the plugin), and the info/exclude file in the repository.
> 
> You're missing one: the file specified by the configuration variable
> core.excludesfile, which can be though of as a global ignore filter.
> 
> The manual says:
> 
> "Patterns which a user wants git to ignore in all situations (e.g.,
> backup or temporary files generated by the user's editor of choice)
> generally go into a file specified by core.excludesfile in the user's
> ~/.gitconfig."
> 
> This is _exactly_ what Eclipse's Team->Ignored Resources is for.
> 
> I see two groups of users: a) those with a global ignore specified in
> core.excludesfile b) and those without (they may not even have cgit
> installed, if EGit is bundled with Eclipse in the future).
> 
> In my opinion, EGit should default to using Eclipse's built in ignores,
> but then detect the presence of a global core.excludesfile, in which
> case it would notify the user ("I see you have a core.excludesfile") and
> let the user switch to using that one instead.
> 
> In other words, whether or not to use core.excludesfile or Eclipse's
> global team ignores should be optional, and we should provide heuristics
> for deciding when to switch.
> 
> I think that would cover both groups of users without causing confusion.
> 
> Tor Arne

Ok, missed that one.
I'll have to think a bit on how to incorporate that one but I think it's
doable in a relatively easy way.

I do not agree with your propasal however.
We then would have different behaviour between how 'git' behaves within
Eclipse (by means of the plugin) and how 'git' behaves within the
command line. That alone can cause much more confusion.

Your proposal can also be implemented differently by (for example)
building a UI that allows the user to edit the global ignore file.
The Eclipse global team ignores simply are too broad: think of the
situation where I also have non-git project (like svn) in my workspace.