Re: git gc seems to break --symbolic-full-name
- From
- Stas Sergeev <stsp@list.ru>
- Date
- Jul 23, 2017, 19:23 UTC
- Message-ID
- <ed1ddfec-5782-d14b-6717-a1532efc0138@list.ru>
- In-Reply-To
- <CA+P7+xrhLf9eS_KkxTmWZgQ+Ho8VN83GS-OvxmboZ=_iY4dY0g@mail.gmail.com>
23.07.2017 11:40, Jacob Keller пишет:
Show 15 quoted lines
> On Fri, Jul 21, 2017 at 12:03 PM, Stas Sergeev <stsp@list.ru> wrote: >> I wanted some kind of file to use it as a >> build dependency for the files that needs >> to be re-built when the head changes. >> This works very well besides git gc. >> What other method can be used as simply >> as that? git show-ref does not seem to be >> giving this. > There's no real way to do this, and even prior to 2007 when the file > always existed, there's no guarantee it's modification time is valid. > > I'd suggest you have a phony rule which you always run, that checks > the ref, and sees if it's different from "last time" and then updates > a different file if that's the case. Then the build can depend on the > generated file, and you'd be able to figure it out.
OK, thanks, that looks quite simple too. I will have to create the file by hands that I expected git to already have, but it appears not.
> What's the real goal for depending on when the ref changes?
So that when users fill in the bug report, I can see at what revision have the bug happened. :) While seemingly "just a debugging sugar", the hard experience shows this to be exceptionally useful. I think even linux kernel does something like this, and solves that task the hard way. For example I can see a script at scripts/setlocalversion whose output seems to go to include/config/kernel.release and a lot of logic in the toplevel makefile about this. So not liking the fact that every project solves this differently, I was trying to get the solution directly from git. But I'll try otherwise.