TopGit inserts the following fetch lines in .git/config:
fetch = +refs/heads/*:refs/remotes/origin/*
fetch = +refs/top-bases/*:refs/remotes/origin/top-bases/*
This confuses git-remote show/prune, as top-bases/* now matches both
lines; each ref will be declared up-to-date according to one, and
obsolete according to the other.
Here's a simple illustration:
mkdir 1
cd 1
git init
touch foo
git add foo
git commit -m foo
git update-ref refs/feet/slave HEAD
cd ..
git clone 1 2
cd 2
sed -ie '/fetch =/a\\tfetch = +refs/feet/*:refs/remotes/origin/feet/*' \
.git/config
git remote show origin
git remote update origin
git remote prune origin
git remote update origin