On 6 Oct 2012, Darrell Anderson uttered the following:
I have tried all of the above to no avail. The git
fsck commands
results in several "dangling blob," dangling tree," and "dangling
tag"
messages.
These are not signs of fs corruption unless you get lots of them: they
just mean that some content is inaccessible. This can happen
legitimately, e.g. a rebase followed by the usual automatic gc prune of
the reflog.
When I attempt to resync my entire local tree, the
process always
hangs at kmplayer. When I enter that directory and run 'git pull' I
receive the following message:
You are not currently on a branch, so I cannot use any
'branch.<branchname>.merge' in your configuration file.
Please specify which remote branch you want to use on the command
line and try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details.
You should probably be using 'git pull' in the top-level followed by
'git submodule update'. When a submodule is checked out in its parent,
it is pointing at a single specific commit, thus is not on any branch
(it's at a point in the past history of some branch instead). So
'git pull' isn't going to be happy when it reaches its merge phase and
tries to merge its recent changes into what it has already seen.
This is harmless, and is indeed expected when you are not on a branch.
The hang.. the hang is *not* expected.
I get the same error message from several modules,
such as tdeadmin.
It's not an error -- not exactly, anyway. If you just want to fetch and
not update, you should be using 'git fetch' or 'git remote update'; if
you want to update a submodule, you should be using 'git submodule
update'. There is little reason to do a 'git pull' in a submodule.
--
NULL && (void)