]> git.ipfire.org Git - thirdparty/git.git/commit - remote.c
fetch: make --prune configurable
authorMichael Schubert <mschub@elegosoft.com>
Sat, 13 Jul 2013 09:36:24 +0000 (11:36 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 18 Jul 2013 22:59:46 +0000 (15:59 -0700)
commit737c5a9cde708d6995c765b7c2e95033edd0a896
tree46ce1379e667a81503b19b7a3e6785396ae42dec
parentedca4152560522a431a51fc0a06147fc680b5b18
fetch: make --prune configurable

Without "git fetch --prune", remote-tracking branches for a branch
the other side already has removed will stay forever.  Some people
want to always run "git fetch --prune".

To accommodate users who want to either prune always or when fetching
from a particular remote, add two new configuration variables
"fetch.prune" and "remote.<name>.prune":

 - "fetch.prune" allows to enable prune for all fetch operations.

 - "remote.<name>.prune" allows to change the behaviour per remote.

The latter will naturally override the former, and the --[no-]prune
option from the command line will override the configured default.

Since --prune is a potentially destructive operation (Git doesn't
keep reflogs for deleted references yet), we don't want to prune
without users consent, so this configuration will not be on by
default.

Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Michael Schubert <mschub@elegosoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/config.txt
builtin/fetch.c
remote.c
remote.h
t/t5510-fetch.sh