From: chris <jugg@hotmail•com>
To: git@vger•kernel.org
Subject: Re: bug? git push triggers auto pack when gc.auto = 0
Date: Tue, 4 Feb 2014 10:35:53 +0000 (UTC) [thread overview]
Message-ID: <loom.20140204T104753-1@post.gmane.org> (raw)
In-Reply-To: 87mwi7xm04.fsf@fencepost.gnu.org
David Kastrup <dak <at> gnu.org> writes:
> chris <jugg <at> hotmail.com> writes:
> > That said I would naively assume that a server side house keeping
> > operation that does not get invoked with every client request be a
> > nice candidate for asynchronous handling without any need to tell the
> > client about it.
>
> Except that there are _no_ asynchronously handled repository actions
> executed on behalf of a client action. If the repository owner decided
> to disable demand-based garbage collection in favor of a cron job,
> that's his call to make. It makes some sense when there are frequent
> and multiple accesses to the repository since it avoids getting denied
> access because of somebody _else_ triggering garbage collection
> predominantly when times are busiest.
>
> Usually you are not denied access by your _own_ garbage collection since
> the client waits until completion.
>
> It would be quite bad for scripting git if you constantly had to check
> after every action whether any associated garbage collection might or
> might not have completed.
I can't comment for every use case, but I find it strange that a client
script should need to care whether the server is currently garbage
collecting or not. If such a detail must be exposed to a client, then I'd
put forth that there is a deeper issue here. But any details there are
moving well beyond the scope I'm able to comment on.
That said, I think I understand you that it currently does matter in the
sense that a client can't perform other actions while garbage collection is
running.
> Note also that when pushing without a separate server process (like when
> pushing into a local repository), there is no other job which could be
> responsible for packing the repository rather than the one doing the
> push.
Ok, given your full response, I understand how this is being conceptualized
now, thanks. However, if you look at it purely from a user's perspective
who is manually invoking these commands for the command's primary purpose,
the current behavior is annoying.
If we assume Git is right in implementing that no server async actions are
executed on behalf of a client action, then this falls under the category of
an ill-behaved server in my opinion. Anything a server does that is not
directly related to fulfilling the requested client action is now considered
bad behavior as it blocks the client from continuing whatever it needs to
get on with. I see such implementation in Git as favoring server's needs
over clients.
Regards,
Chris
next prev parent reply other threads:[~2014-02-04 10:36 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-04 2:20 bug? git push triggers auto pack when gc.auto = 0 chris
2014-02-04 2:41 ` Duy Nguyen
2014-02-04 5:13 ` chris
2014-02-04 6:02 ` Duy Nguyen
2014-02-04 6:52 ` [PATCH 1/2] receive-pack: update $GIT_DIR/info before auto garbage collection Nguyễn Thái Ngọc Duy
2014-02-04 6:52 ` [PATCH/RFC 2/2] receive-pack: hint that the user can stop "git push" at auto gc time Nguyễn Thái Ngọc Duy
2014-02-04 18:25 ` Junio C Hamano
2014-02-04 18:32 ` Junio C Hamano
2014-02-07 12:36 ` [PATCH/RFC 2/2] receive-pack: hint that the user can stop chris
2014-02-07 13:05 ` Duy Nguyen
2014-02-07 16:47 ` chris
2014-02-08 7:08 ` [PATCH v2 1/2] daemon: move daemonize() to libgit.a Nguyễn Thái Ngọc Duy
2014-02-08 7:08 ` [PATCH v2 2/2] gc: config option for running --auto in background Nguyễn Thái Ngọc Duy
2014-02-10 11:03 ` Erik Faye-Lund
2014-02-10 13:17 ` Duy Nguyen
2014-02-10 13:33 ` Erik Faye-Lund
2014-02-10 18:43 ` Junio C Hamano
2014-02-10 19:11 ` Junio C Hamano
2014-02-12 1:53 ` Duy Nguyen
2014-02-12 17:36 ` Junio C Hamano
2014-02-10 11:04 ` [PATCH v2 1/2] daemon: move daemonize() to libgit.a Erik Faye-Lund
2014-02-10 18:46 ` Junio C Hamano
2014-02-10 23:25 ` Duy Nguyen
2014-02-11 18:08 ` Junio C Hamano
2014-02-04 8:16 ` bug? git push triggers auto pack when gc.auto = 0 chris
2014-02-04 8:22 ` David Kastrup
2014-02-04 8:59 ` chris
2014-02-04 9:31 ` David Kastrup
2014-02-04 10:35 ` chris [this message]
2014-02-04 11:11 ` David Kastrup
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=loom.20140204T104753-1@post.gmane.org \
--to=jugg@hotmail$(echo .)com \
--cc=git@vger$(echo .)kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox