git-commit-vandalism/builtin
Jonathan Nieder 4c5baf0273 gc: remove gc.pid file at end of execution
This file isn't really harmful, but isn't useful either, and can create
minor annoyance for the user:

* It's confusing, as the presence of a *.pid file often implies that a
  process is currently running. A user running "ls .git/" and finding
  this file may incorrectly guess that a "git gc" is currently running.

* Leaving this file means that a "git gc" in an already gc-ed repo is
  no-longer a no-op. A user running "git gc" in a set of repositories,
  and then synchronizing this set (e.g. rsync -av, unison, ...) will see
  all the gc.pid files as changed, which creates useless noise.

This patch unlinks the file after the garbage collection is done, so that
gc.pid is actually present only during execution.

Future versions of Git may want to use the information left in the gc.pid
file (e.g. for policies like "don't attempt to run a gc if one has
already been ran less than X hours ago"). If so, this patch can safely be
reverted. For now, let's not bother the users.

Explained-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Improved-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-10-18 12:45:24 -07:00
..
add.c add: update pathless 'add [-u|-A]' warning to reflect change of plan 2013-03-11 07:57:35 -07:00
annotate.c
apply.c Merge branch 'jc/apply-ws-fix-tab-in-indent' into maint 2013-04-22 11:26:56 -07:00
archive.c
bisect--helper.c
blame.c blame: handle broken commit headers gracefully 2013-04-17 14:50:45 -07:00
branch.c Merge branch 'nd/branch-error-cases' into maint 2013-03-26 12:43:05 -07:00
bundle.c
cat-file.c cat-file: print tags raw for "cat-file -p" 2013-04-17 14:48:45 -07:00
check-attr.c
check-ignore.c name-hash: allow hashing an empty string 2013-02-19 14:00:12 -08:00
check-ref-format.c
checkout-index.c
checkout.c checkout: print a message when switching unborn branches 2012-11-15 17:36:26 -08:00
clean.c Merge branch 'as/check-ignore' 2013-01-23 21:19:10 -08:00
clone.c Merge branch 'nd/clone-no-separate-git-dir-with-bare' into maint 2013-02-25 08:03:27 -08:00
column.c
commit-tree.c
commit.c git-commit: only append a newline to -m mesg if necessary 2013-02-19 09:30:50 -08:00
config.c Merge branch 'cn/config-missing-path' into maint 2012-11-25 18:35:46 -08:00
count-objects.c
credential.c
describe.c Merge branch 'jc/describe' into maint 2013-04-03 09:25:52 -07:00
diff-files.c
diff-index.c update-index/diff-index: use core.preloadindex to improve performance 2012-11-02 11:38:29 -04:00
diff-tree.c
diff.c Merge branch 'kb/preload-index-more' 2012-11-20 10:32:10 -08:00
fast-export.c Merge branch 'maint-1.8.1' into maint 2013-04-12 11:48:38 -07:00
fetch-pack.c fetch-pack: avoid repeatedly re-scanning pack directory 2013-01-26 19:37:30 -08:00
fetch.c Merge branch 'jk/gc-auto-after-fetch' 2013-02-01 12:40:16 -08:00
fmt-merge-msg.c Merge branch 'rt/commentchar-fmt-merge-msg' into maint 2013-04-26 11:10:47 -07:00
for-each-ref.c
fsck.c
gc.c gc: remove gc.pid file at end of execution 2013-10-18 12:45:24 -07:00
grep.c Sync with 1.8.1 maintenance track 2013-04-03 09:18:01 -07:00
hash-object.c
help.c Merge branch 'jk/config-parsing-cleanup' 2013-02-04 10:24:50 -08:00
index-pack.c Merge branch 'nd/index-pack-threaded-fixes' into maint 2013-04-04 13:00:41 -07:00
init-db.c
log.c Merge branch 'ap/log-mailmap' 2013-01-20 17:06:53 -08:00
ls-files.c Merge branch 'as/check-ignore' 2013-01-23 21:19:10 -08:00
ls-remote.c
ls-tree.c pathspec: save the non-wildcard length part 2012-11-19 13:08:28 -08:00
mailinfo.c Merge branch 'jc/same-encoding' into maint 2012-12-07 14:10:56 -08:00
mailsplit.c mailsplit: sort maildir filenames more cleverly 2013-03-02 22:52:44 -08:00
merge-base.c
merge-file.c
merge-index.c Which merge_file() function do you mean? 2012-12-09 23:05:27 -08:00
merge-ours.c
merge-recursive.c
merge-tree.c merge-tree: fix typo in merge-tree.c::unresolved 2013-03-27 10:00:50 -07:00
merge.c Merge branch 'jc/merge-tag-object' into maint 2013-04-24 16:14:06 -07:00
mktag.c
mktree.c
mv.c
name-rev.c
notes.c Allow custom "comment char" 2013-01-16 12:48:22 -08:00
pack-objects.c
pack-redundant.c Fix sizeof usage in get_permutations 2012-12-13 11:13:44 -08:00
pack-refs.c
patch-id.c
prune-packed.c
prune.c Merge branch 'jk/fully-peeled-packed-ref' into maint-1.8.1 2013-04-03 08:43:03 -07:00
push.c Merge branch 'jc/push-reject-reasons' 2013-02-04 10:25:04 -08:00
read-tree.c
receive-pack.c Merge branch 'jk/receive-pack-deadlocks-with-early-failure' into maint 2013-04-26 11:12:17 -07:00
reflog.c Merge branch 'jc/maint-reflog-expire-clean-mark-typofix' into maint 2013-03-26 12:39:51 -07:00
remote-ext.c
remote-fd.c
remote.c remote: check for superfluous arguments in 'git remote add' 2013-04-24 13:12:51 -07:00
replace.c replace: parse revision argument for -d 2012-11-13 08:34:14 -05:00
rerere.c
reset.c reset: update documentation to require only tree-ish with paths 2013-01-16 12:50:23 -08:00
rev-list.c
rev-parse.c
revert.c cherry-pick/revert: make usage say '<commit-ish>...' 2013-04-24 09:48:01 -07:00
rm.c Merge branch 'jl/submodule-rm' 2012-11-29 12:52:30 -08:00
send-pack.c push: introduce REJECT_FETCH_FIRST and REJECT_NEEDS_FORCE 2013-01-24 14:37:23 -08:00
shortlog.c Merge branch 'ap/log-mailmap' 2013-01-20 17:06:53 -08:00
show-branch.c show-branch: use strbuf instead of static buffer 2013-04-06 18:57:15 -07:00
show-ref.c
stripspace.c Allow custom "comment char" 2013-01-16 12:48:22 -08:00
symbolic-ref.c
tag.c Merge branch 'ph/tag-force-no-warn-on-creation' into maint 2013-04-03 09:24:51 -07:00
tar-tree.c
unpack-file.c
unpack-objects.c
update-index.c update-index: allow "-h" to also display options 2013-02-23 23:49:33 -08:00
update-ref.c
update-server-info.c
upload-archive.c
var.c
verify-pack.c
verify-tag.c gpg_interface: allow to request status return 2013-02-14 09:30:04 -08:00
write-tree.c