Subject: someone changed the contents of my HEAD.

From: Dave Jones <[email-masked]>
Date: Mon, 27 Feb 2006 22:04:46 -0500

I just tried to check in some changes to some trees
on master.kernel.org, and found after the first checkin
that git claimed..

fatal: Not a git repository

A lot of head-scratching later, I think I've figured out
what's happened.  It seems there was a recent upgrade
to the version of git on m.k.o, which is incompatible
with the helper scripts I used before.

When checking in changes previously, I used this..

#!/bin/sh
export GIT_AUTHOR_NAME="$1"
export GIT_AUTHOR_EMAIL="$2"
tree=$(git-write-tree) || exit 1
commit=$(git-commit-tree $tree -p HEAD) || exit 1
echo $commit > .git/HEAD

and called it thus..

commit-as "Dave Jones" "<[email-masked]>"

Previously, this updated .git/HEAD to a ptr to the latest committed change.
All was well, as I only ever have one HEAD in my trees.

With the new .git however, when I clone a new tree, .git/HEAD
contains ref: refs/heads/master, so my script destroys the git metadata.

For my newly created repos, this isn't a problem, as I can fudge my
commit-as script to write to .git/refs/heads/master instead, but
my concern now is the unpulled changes in the existing repos
I have on master.  Will Linus be able to pull those into his tree
with git 1.2.3, or will I have to recreate those repos with the
new-style .git/HEAD ?

		Dave