git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2 2/2] gc: config option for running --auto in background

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 12, 2014, 17:36 UTC
Message-ID
<xmqqmwhwnsgz.fsf@gitster.dls.corp.google.com>
In-Reply-To
<CACsJy8CyAsA5VA-s_c7juaRyToRU+QzJsYZDvzD5ggaR6=9FOg@mail.gmail.com>
Duy Nguyen <pclouds@gmail.com> writes:
Show 19 quoted lines
> On Tue, Feb 11, 2014 at 2:11 AM, Junio C Hamano <gitster@pobox.com> wrote:
>> On Mon, Feb 10, 2014 at 10:43 AM, Junio C Hamano <gitster@pobox.com> wrote:
>>>> If --quiet is set, we should not be printing anyway. If not, I thinkg
>>>> we could only print "auto packing in background.." when we actually
>>>> can do that, else just print the old message. It means an #ifdef
>>>> NO_POSIX_GOODIES here again though..
>>>
>>> Didn't you change it not to die but return nosys or something?
>>
>> Ah, the problem is that it is too late to take back "... will do so in
>> the background" when you noticed that daemonize() did not succeed, so
>> you would need a way to see if we can daemonize() before actually
>> doing so if you want to give different messages.
>>
>> "int can_daemonize(void)" could be an answer that is nicer than
>> NO_POSIX_GOODIES, but I am not sure if it is worth it.
>
> Or we could pass the "quiet" flag to daemonize() and let it print
> something in the #ifdef NO_POSIX_GOODIES part.

Hmph... What would that something say? "I was asked to gc in the background but I can't here" is not suitable for daemonize() that is not specific to "gc".

The flow I had in mind was something along the lines of this
	if (!quiet) {
        	if (detach_auto && can_daemonize())
                	say "auto packing in the background";
		else
                       	say "auto packing"
	}
        if (detach_auto && can_daemonize())
        	daemonize();
If we had daemonize(noisy=1) and coded it this way:
	if (!quiet)
        	say "auto packing";
	if (detach_auto)
        	daemonize(!quiet);
we could do something like:
	daemonize(int noisy) {
        	if (noisy && !defined(NO_POSIX_GOODIES))
                	say ", and doing so in the background";
		... do the actual daemonizing ...
	}
but that feels ugly.
Previous: Duy NguyenNext: Erik Faye-Lund
Message 20 of 30 in “bug? git push triggers auto pack when gc.auto = 0”
  1. chrisFeb 4, 2014
  2. Duy NguyenFeb 4, 2014
  3. chrisFeb 4, 2014
  4. Duy NguyenFeb 4, 2014
  5. 1/2 receive-pack: update $GIT_DIR/info before auto garbage collectionNguyễn Thái Ngọc Duy, Feb 4, 2014
  6. 2/2 receive-pack: hint that the user can stop "git push" at auto gc timeNguyễn Thái Ngọc Duy, Feb 4, 2014
  7. Junio C HamanoFeb 4, 2014
  8. Junio C HamanoFeb 4, 2014
  9. chrisFeb 7, 2014
  10. Duy NguyenFeb 7, 2014
  11. chrisFeb 7, 2014
  12. 1/2 daemon: move daemonize() to libgit.aNguyễn Thái Ngọc Duy, Feb 8, 2014
  13. 2/2 gc: config option for running --auto in backgroundNguyễn Thái Ngọc Duy, Feb 8, 2014
  14. Erik Faye-LundFeb 10, 2014
  15. Duy NguyenFeb 10, 2014
  16. Erik Faye-LundFeb 10, 2014
  17. Junio C HamanoFeb 10, 2014
  18. Junio C HamanoFeb 10, 2014
  19. Duy NguyenFeb 12, 2014
  20. Junio C HamanoFeb 12, 2014
  21. Erik Faye-LundFeb 10, 2014
  22. Junio C HamanoFeb 10, 2014
  23. Duy NguyenFeb 10, 2014
  24. Junio C HamanoFeb 11, 2014
  25. chrisFeb 4, 2014
  26. David KastrupFeb 4, 2014
  27. chrisFeb 4, 2014
  28. David KastrupFeb 4, 2014
  29. chrisFeb 4, 2014
  30. David KastrupFeb 4, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.