RE: [Best Practices Request] clean/smudge configuration
- Date: Wed, 9 May 2018 18:57:18 -0400
- From: "Randall S. Becker" <rsbecker@xxxxxxxxxxxxx>
- Subject: RE: [Best Practices Request] clean/smudge configuration
On May 9, 2018 6:39 PM, Bryan Turner wrote
> On Wed, May 9, 2018 at 3:09 PM Randall S. Becker
> > The question: what is the best practice for versioning the parts of
> > clean/smudge filters that are in .git/config given that only some
> > users in my environment will be cloning the repository in question and
> > that I
> > can't put the entries in /etc/gitconfig or ~/.gitconfig because of
> > conflicts with other repositories that might also have clean/smudge
> > definitions.
> Depending on level of trust, one approach might be to use an [include] in
> .git/config to include a file that's in the repository. Something like:
> path = ../path/to/config
It's a possibility, but I don't like the implications. Files that are subject to the clean/smudge would need to be reprocessed manually. In the scenario:
1. A checkout is done, changing ../path/to/config.
2. The clean/smudge configuration changes in ../path/to/config, but the files impacted by it do not.
3. git does not look like it would not be aware of the change until after the checkout, which is too late.
4. The work tree is now inconsistent with the idempotency of the clean/smudge rules, basically because nothing happened. (not blaming git here, just timing).
As far as I understand, this is a bit of a chicken-and-egg problem because the clean/smudge config needs to be there before the checkout. Correct?