From: Junio C Hamano <gitster@pobox.com>
To: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
Cc: git@vger.kernel.org, Adam Borowski <kilobyte@angband.pl>
Subject: Re: [BUG] auto-repack exits prematurely, locking other processing out
Date: Fri, 23 May 2014 14:40:41 -0700 [thread overview]
Message-ID: <xmqqy4xsgome.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <20140523195121.GA923@angband.pl> (Adam Borowski's message of "Fri, 23 May 2014 21:51:21 +0200")
Adam Borowski <kilobyte@angband.pl> writes:
> Hi guys!
>
> It looks like the periodic auto-repack backgrounds itself when it shouldn't
> do so. This causes the command it has triggered as a part of to fail:
Yikes. In the meantime, I think you can turn gc.autodetach off as a
workaround, e.g.
$ git config --global --add gc.autodetach off
Duy, 9f673f94 (gc: config option for running --auto in background,
2014-02-08) turns to be not such a hot idea. Sure, if we kick it
off background after doing something heavy, immediately before
giving control back to the end-user, and expect that the user will
stay thinking without making new changes (i.e. read-only stuff like
"git show" would be OK), then daemonize might be a great thing, but
we forgot, while doing that commit, that long-running operations
trigger the auto gc in the middle *and* they want it finish before
they continue, as the purpose of gc is to help the performance
during their further operation.
>
> ==========================================================================
> [~/linux](master)$ git pull --rebase
> remote: Counting objects: 455, done.
> remote: Compressing objects: 100% (64/64), done.
> remote: Total 267 (delta 208), reused 262 (delta 203)
> Receiving objects: 100% (267/267), 44.43 KiB | 0 bytes/s, done.
> Resolving deltas: 100% (208/208), completed with 80 local objects.
> From git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
> 4b660a7..f02f79d master -> linus/master
> Auto packing the repository in background for optimum performance.
> See "git help gc" for manual housekeeping.
> First, rewinding head to replay your work on top of it...
> Applying: perf: tools: fix missing casts for printf arguments.
> Applying: vt: emulate 8- and 24-bit colour codes.
> fatal: Unable to create '/home/kilobyte/linux/.git/refs/heads/master.lock': File exists.
>
> If no other git process is currently running, this probably means a
> git process crashed in this repository earlier. Make sure no other git
> process is running and remove the file manually to continue.
> Could not move back to refs/heads/master
> [~/linux]((no branch, rebasing (null)))$
> ==========================================================================
next prev parent reply other threads:[~2014-05-23 21:40 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-23 19:51 [BUG] auto-repack exits prematurely, locking other processing out Adam Borowski
2014-05-23 21:40 ` Junio C Hamano [this message]
2014-05-23 22:34 ` Adam Borowski
2014-05-23 22:42 ` Junio C Hamano
2014-05-24 1:26 ` Duy Nguyen
2014-05-25 0:38 ` [PATCH] gc --auto: do not lock refs in the background Nguyễn Thái Ngọc Duy
2014-05-25 0:32 ` Duy Nguyen
2014-05-27 18:09 ` Junio C Hamano
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=xmqqy4xsgome.fsf@gitster.dls.corp.google.com \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=kilobyte@angband.pl \
--cc=pclouds@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.