This adds -a (annotate only but not sign) option "A Large Angry
SCM" <gitzilla@gmail.com> sent to the list, after fixing up the
whitespace corruption in the patch, with some of my own fixes.
Namely:
* A new flag '-a' can be used to create an unsigned tag
object;
* The '-f' flag logic did not do the right thing;
* When creating a signed tag, we did not check for GPG failure
as we should;
* Try to use the key for the tagger identity when signing the
tag.
Signed-off-by: Junio C Hamano <junkio@cox.net>
A simple tag is just a direct pointer to the object, while a signed tag
is a pointer to a "tag object" that has a pgp signature and points to
the object we tagged.
Use "git tag -s tagname" to create a signed tag.
The "-f" flag overwrites any previous tag of that name (useful if you
update a tag to point to a newer version for things like "latest" etc
tags that aren't necessarily static versions).
And finally what all of this has been leading up to.
The 2 line code change to record who made a tag,
and the 8 line code change to check that we recorded
the tag.
Gosh the error checking is always so much bigger than the code :)
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
When testing tags I ran into an interesting problem.
git-tag-script dies if .git/refs/tags/ does not exist.
And that directory didn't get created when I build my repository,
so we need to create it if it doesn't exist.
Signed-of-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Instead of having to cut-and-paste the result, write it to the tag
directory directly. Also, start an editor for the tag message, rather
than just reading it from stdin.
During the mailing list discussion on renaming GIT_ environment
variables, people felt that having one environment that lets the
user (or Porcelain) specify both SHA1_FILE_DIRECTORY (now
GIT_OBJECT_DIRECTORY) and GIT_INDEX_FILE for the default layout
would be handy. This change introduces GIT_DIR environment
variable, from which the defaults for GIT_INDEX_FILE and
GIT_OBJECT_DIRECTORY are derived. When GIT_DIR is not defined,
it defaults to ".git". GIT_INDEX_FILE defaults to
"$GIT_DIR/index" and GIT_OBJECT_DIRECTORY defaults to
"$GIT_DIR/objects".
Special thanks for ideas and discussions go to Petr Baudis and
Daniel Barkalow. Bugs are mine ;-)
Signed-off-by: Junio C Hamano <junkio@cox.net>
Linus said:
"Let's see what else I forgot.."
Not that many, but here they are.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>