threads / discuss / 6058

UI: git-tag should support -F as well

Subject: UI: git-tag should support -F as well

## tl;dr

5 messages between Dec 21, 2006 and Dec 22, 2006.

replies: 4people: 4as markdown or json

Han-Wen Nienhuys· Dec 21, 2006, 11:52 UTC · lore
Working on a little darcs2git script, I found the following inconsistency

git-commit supports -m and -F git-tag supports only -m

-- 
 Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen
Johannes Schindelin· Dec 21, 2006, 14:13 UTC · re: Han-Wen Nienhuys · lore

[PATCH] git-tag: support -F <file> option

This imitates the behaviour of git-commit.
Noticed by Han-Wen Nienhuys.
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
---
	On Thu, 21 Dec 2006, Han-Wen Nienhuys wrote:
	> Working on a little darcs2git script, I found the following 
	> inconsistency
	> 
	> git-commit supports -m and -F 
	> git-tag supports only -m
	How about this?
 Documentation/git-tag.txt |    6 +++++-
 git-tag.sh                |   11 +++++++++++
 2 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt
index 45476c2..48b82b8 100644
--- a/Documentation/git-tag.txt
+++ b/Documentation/git-tag.txt
@@ -9,7 +9,8 @@ git-tag - Create a tag object signed with GPG
 SYNOPSIS
 --------
 [verse]
-'git-tag' [-a | -s | -u <key-id>] [-f | -d] [-m <msg>] <name> [<head>]
+'git-tag' [-a | -s | -u <key-id>] [-f | -d] [-m <msg> | -F <file>]
+	 <name> [<head>]
 'git-tag' -l [<pattern>]
 
 DESCRIPTION
@@ -60,6 +61,9 @@ OPTIONS
 -m <msg>::
 	Use the given tag message (instead of prompting)
 
+-F <file>::
+	Take the tag message from the given file.  Use '-' to
+	read the message from the standard input.
 
 Author
 ------
diff --git a/git-tag.sh b/git-tag.sh
index d53f94c..36cd6aa 100755
--- a/git-tag.sh
+++ b/git-tag.sh
@@ -45,6 +45,17 @@ do
 	    message_given=1
 	fi
 	;;
+    -F)
+	annotate=1
+	shift
+	if test "$#" = "0"; then
+	    die "error: option -F needs an argument"
+	    exit 2
+	else
+	    message="$(cat "$1")"
+	    message_given=1
+	fi
+	;;
     -u)
 	annotate=1
 	signed=1
-- 
1.4.4.3.g0ba4
Junio C Hamano· Dec 22, 2006, 06:47 UTC · re: Johannes Schindelin · lore

Re: [PATCH] git-tag: support -F <file> option

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 5 quoted lines
> This imitates the behaviour of git-commit.
>
> Noticed by Han-Wen Nienhuys.
>
> Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Ok, but what the **** is "die ...; exit 2" sequence?
Show 15 quoted lines
> @@ -45,6 +45,17 @@ do
>  	    message_given=1
>  	fi
>  	;;
> +    -F)
> +	annotate=1
> +	shift
> +	if test "$#" = "0"; then
> +	    die "error: option -F needs an argument"
> +	    exit 2
> +	else
> +	    message="$(cat "$1")"
> +	    message_given=1
> +	fi
> +	;;

I know it was copied from Han-Wen's aabd7693, but was this somehow to catch the case where die can fail???

Shawn Pearce· Dec 22, 2006, 06:53 UTC · re: Junio C Hamano · lore

Re: [PATCH] git-tag: support -F <file> option

Junio C Hamano <junkio@cox.net> wrote:
Show 7 quoted lines
> > +	if test "$#" = "0"; then
> > +	    die "error: option -F needs an argument"
> > +	    exit 2
> > +	;;
> 
> I know it was copied from Han-Wen's aabd7693, but was this
> somehow to catch the case where die can fail???
What, you haven't heard of the /bin/resurrection shell?

Apparently one of its features is it can sometimes make die return successfully, even days after the initial call. :-)

-- 
Shawn.
Johannes Schindelin· Dec 22, 2006, 12:15 UTC · re: Junio C Hamano · lore

Re: [PATCH] git-tag: support -F <file> option

Hi,
On Thu, 21 Dec 2006, Junio C Hamano wrote:
Show 9 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> 
> > This imitates the behaviour of git-commit.
> >
> > Noticed by Han-Wen Nienhuys.
> >
> > Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
> 
> Ok, but what the **** is "die ...; exit 2" sequence?
;-) I did not even bother reading the code when I copied it.

Ciao, Dscho

← back to recent threads