Re: git archive
- From
Deskin Miller <deskinm@umich.edu>
- Date
- Oct 22, 2008, 13:08 UTC
- Message-ID
- <20081022130829.GC2015@riemann.deskinm.fdns.net>
- In-Reply-To
- <gdmp0p$92r$1@ger.gmane.org>
On Wed, Oct 22, 2008 at 08:42:01AM +0000, kenneth johansson wrote:
Show 5 quoted lines
> I was going to make a tar of the latest stable linux kernel. > Done it before but now I got a strange problem. > > >git archive --format=tar v2.6.27.2 > fatal: Not a valid object name
I had the same thing happen to me, while trying to make an archive of Git. Were you perchance working in a bare repository, as I was? I spent some time looking at it and I think git archive sets up the environment in the wrong order, though of course I never finished a patch so I'm going from memory:
After looking at the code again, I think the issue is that git_config is called in builtin-archive.c:cmd_archive before setup_git_directory is called in archive.c:write_archive. The former ends up setting GIT_DIR to be '.git' even if you're in a bare repository. My coding skills weren't up to fixing it easily; moving setup_git_directory before git_config in builtin-archive caused last test of t5000 to fail: GIT_DIR=some/nonexistent/path git archive --list should still display the archive formats.
Another vote for from me for the discussion carried on here: http://article.gmane.org/gmane.comp.version-control.git/98800
Deskin Miller