-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
De-symlink .gitignore to mollify new Git. #217
Conversation
This will break the generated tar archives as .git* is ignored in .gitattributes. |
31fbf95
to
3b80887
Compare
And now we are autogenerating targets. Fine with me, but maybe we can take the step and clean up this ancient construct. .gitignore may just filter *.o, while TARGETS could simply be generated by grepping the objects from Makefile if it is generated anyway. Similar things may happen for other targets. If we open that door we should walk through it, not only peek inside. |
Agree with going further, but only after the magical inflection point where people no longer need to apply the major patches so we can willingly break whatever minor patches they may have left. |
I agree with that for TARGETS to a degree (see below), but for .gitignore we are not bound to anything. TARGETS is just historic debt in my eyes. The only thing it is needed for is But this is indeed the next step, which we could am for 1.10 or something like that, and now just make things work again. And for the time being let's just keep the files identical, i.e. without the "autogenerated" header. This way we don't needlessly duplicate things in git, noone cares if that is autogenerated in a release tarball (and there it is not even true not to touch it), and eventually we can just kill the whole thing with fire. |
3b80887
to
7342b4a
Compare
I fear this will become endless… sorry for that. Have you tried this with a release tarball? I bet not, and I have neither ;) But now Maybe we should just add a |
60a2c70
to
bdcdd92
Compare
In Git 2.32.0 and newer, `git status` (for instance) says: warning: unable to access '.gitignore': Too many levels of symbolic links https://github.com/git/git/blob/master/Documentation/RelNotes/2.32.0.txt explains thus: * It does not make sense to make ".gitattributes", ".gitignore" and ".mailmap" symlinks, as they are supposed to be usable from the object store (think: bare repositories where HEAD:.mailmap etc. are used). When these files are symbolic links, we used to read the contents of the files pointed by them by mistake, which has been corrected. To satisfy Git, turn .gitignore back into a regular file containing the contents of TARGETS. To satisfy other uses of TARGETS (such as in exported tar archives, which don't include .gitignore), keep it as a regular in-tree file too, with reminders in each to sync with the other.
bdcdd92
to
ae0efe1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good enough for 1.09, let's do it much better afterwards.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
De-symlink .gitignore to mollify new Git.
In Git 2.32.0 and newer,
git status
(for instance) says:https://github.com/git/git/blob/master/Documentation/RelNotes/2.32.0.txt
explains thus:
To satisfy Git, turn .gitignore back into a regular file containing the
contents of TARGETS. To satisfy other uses of TARGETS (such as in
exported tar archives, which don't include .gitignore), keep it as a
regular in-tree file too, with reminders in each to sync with the other.