git: When updating from remote, use git pull --prune, to avoid possible errors from conflicting obsolete remote branches.

master
Joey Hess 2010-09-14 15:45:38 -04:00
parent 8c8d2c2d2c
commit cd794613b6
3 changed files with 6 additions and 1 deletions

View File

@ -462,7 +462,7 @@ sub rcs_update () {
# Update working directory. # Update working directory.
if (length $config{gitorigin_branch}) { if (length $config{gitorigin_branch}) {
run_or_cry('git', 'pull', $config{gitorigin_branch}); run_or_cry('git', 'pull', '--prune', $config{gitorigin_branch});
} }
} }

2
debian/changelog vendored
View File

@ -22,6 +22,8 @@ ikiwiki (3.20100832) UNRELEASED; urgency=low
* external: Disable RPC::XML's "smart" encoding, which sent ints * external: Disable RPC::XML's "smart" encoding, which sent ints
for strings that contained only a number, fixing a longstanding crash for strings that contained only a number, fixing a longstanding crash
of the rst plugin. of the rst plugin.
* git: When updating from remote, use git pull --prune, to avoid possible
errors from conflicting obsolete remote branches.
-- Joey Hess <joeyh@debian.org> Tue, 07 Sep 2010 12:08:05 -0400 -- Joey Hess <joeyh@debian.org> Tue, 07 Sep 2010 12:08:05 -0400

View File

@ -9,3 +9,6 @@ Pruning remote branches can be done automatically with the --prune option to "gi
> from obsolete remote branches. --[[Joey]] > from obsolete remote branches. --[[Joey]]
Suppose a remote repository contains a branch named "foo", and you fetch from it. Then, someone renames that branch to "foo/bar". The next time you fetch from that repository, you will get an error because the obsolete branch "foo" is blocking the branch "foo/bar" from being created (due to the way git stores refs for branches). Pruning gets around the problem. It doesn't really add much overhead to the fetch, and in fact it can *save* overhead since obsolete branches do consume resources (any commits they point to cannot be garbage collected). --[[blipvert]] Suppose a remote repository contains a branch named "foo", and you fetch from it. Then, someone renames that branch to "foo/bar". The next time you fetch from that repository, you will get an error because the obsolete branch "foo" is blocking the branch "foo/bar" from being created (due to the way git stores refs for branches). Pruning gets around the problem. It doesn't really add much overhead to the fetch, and in fact it can *save* overhead since obsolete branches do consume resources (any commits they point to cannot be garbage collected). --[[blipvert]]
> Ok, so git pull --prune can be used to do everything in one command.
> [[done]] --[[Joey]]