summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2010-09-14 15:45:38 -0400
committerJoey Hess <joey@kitenet.net>2010-09-14 15:45:38 -0400
commitcd794613b6f5140365e51f79023c882e8ea71197 (patch)
tree5a59301da5e14c8f4cdcd5f1d31a4558e87ae78d
parent8c8d2c2d2cd259f3e72fd0a4022d02e15e66104f (diff)
git: When updating from remote, use git pull --prune, to avoid possible errors from conflicting obsolete remote branches.
-rw-r--r--IkiWiki/Plugin/git.pm2
-rw-r--r--debian/changelog2
-rw-r--r--doc/bugs/git.pm_should_prune_remote_branches_when_fetching.mdwn3
3 files changed, 6 insertions, 1 deletions
diff --git a/IkiWiki/Plugin/git.pm b/IkiWiki/Plugin/git.pm
index d342a7398..fd57ce1e4 100644
--- a/IkiWiki/Plugin/git.pm
+++ b/IkiWiki/Plugin/git.pm
@@ -462,7 +462,7 @@ sub rcs_update () {
# Update working directory.
if (length $config{gitorigin_branch}) {
- run_or_cry('git', 'pull', $config{gitorigin_branch});
+ run_or_cry('git', 'pull', '--prune', $config{gitorigin_branch});
}
}
diff --git a/debian/changelog b/debian/changelog
index 46401b58c..27e0fb103 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -22,6 +22,8 @@ ikiwiki (3.20100832) UNRELEASED; urgency=low
* external: Disable RPC::XML's "smart" encoding, which sent ints
for strings that contained only a number, fixing a longstanding crash
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
diff --git a/doc/bugs/git.pm_should_prune_remote_branches_when_fetching.mdwn b/doc/bugs/git.pm_should_prune_remote_branches_when_fetching.mdwn
index 01f3d1a28..5dc4250e3 100644
--- a/doc/bugs/git.pm_should_prune_remote_branches_when_fetching.mdwn
+++ b/doc/bugs/git.pm_should_prune_remote_branches_when_fetching.mdwn
@@ -9,3 +9,6 @@ Pruning remote branches can be done automatically with the --prune option to "gi
> 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]]
+
+> Ok, so git pull --prune can be used to do everything in one command.
+> [[done]] --[[Joey]]