From: Petr Baudis <pasky@suse.cz>
To: Lea Wiemann <lewiemann@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] perl/Git.pm: add rev_parse method
Date: Fri, 30 May 2008 11:50:47 +0200 [thread overview]
Message-ID: <20080530095047.GD18781@machine.or.cz> (raw)
In-Reply-To: <1212122585-7350-1-git-send-email-LeWiemann@gmail.com>
Hi,
On Fri, May 30, 2008 at 06:43:05AM +0200, Lea Wiemann wrote:
> diff --git a/perl/Git.pm b/perl/Git.pm
> index d05b633..9ef8cb0 100644
> --- a/perl/Git.pm
> +++ b/perl/Git.pm
> @@ -716,6 +716,28 @@ sub ident_person {
> return "$ident[0] <$ident[1]>";
> }
>
> +=item rev_parse ( REVISION_NAME )
I believe it would be more consistent to call it parse_rev() and in fact
also less confusing since this is not full-fledged rev-parse frontend
(and probably should not be; rev-parse is terribly overloaded with much
more stuff).
> +
> +Look up the specified revision name and return the SHA1 hash, or
> +return undef if the lookup failed. See the git-rev-parse command.
> +
> +=cut
> +
> +sub rev_parse {
> + # We could allow for a list of revisions here.
> + my ($self, $rev_name) = @_;
> +
> + my $hash;
> + try {
> + # The --default option works around rev-parse's lack of
> + # support for getopt style "--" separators (it would fail for
> + # tags named "--foo" without it).
> + $hash = $self->command_oneline("rev-parse", "--verify", "--default",
> + $rev_name);
> + } catch Git::Error::Command with { };
I think it is better style to use the regular pattern of checking
$E->value() and either return undef right away or pass the exception
(e.g. in case rev-parse cannot be executed for some reason).
> + return undef unless defined $hash and $hash =~ /^([0-9a-fA-F]{40})$/;
When can this trigger?
> + $hash;
> +}
>
> =item hash_object ( TYPE, FILENAME )
>
--
Petr "Pasky" Baudis
Whatever you can do, or dream you can, begin it.
Boldness has genius, power, and magic in it. -- J. W. von Goethe
next prev parent reply other threads:[~2008-05-30 9:51 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-30 4:43 [PATCH] perl/Git.pm: add rev_parse method Lea Wiemann
2008-05-30 7:03 ` Lea Wiemann
2008-05-30 9:59 ` Petr Baudis
2008-05-30 15:15 ` Merging strategy for extending Git.pm (was: [PATCH] perl/Git.pm: add rev_parse method) Lea Wiemann
2008-05-30 23:20 ` Merging strategy for extending Git.pm Junio C Hamano
2008-05-31 11:38 ` Merging strategy for extending Git.pm (was: [PATCH] perl/Git.pm: add rev_parse method) Johannes Schindelin
2008-05-31 12:42 ` Merging strategy for extending Git.pm Lea Wiemann
2008-05-31 12:52 ` Johannes Schindelin
2008-05-30 20:28 ` [PATCH] perl/Git.pm: add rev_parse method Junio C Hamano
2008-05-30 9:50 ` Petr Baudis [this message]
2008-05-30 20:27 ` [PATCH] perl/Git.pm: add parse_rev method Lea Wiemann
2008-05-30 21:05 ` Petr Baudis
2008-05-30 21:25 ` Junio C Hamano
2008-05-30 21:44 ` Randal L. Schwartz
2008-05-30 21:59 ` Lea Wiemann
2008-05-30 22:03 ` Randal L. Schwartz
2008-05-30 22:05 ` Lea Wiemann
2008-05-30 22:19 ` Junio C Hamano
2008-05-31 11:50 ` Johannes Schindelin
2008-05-31 12:17 ` Support for old Perl versions Petr Baudis
2008-05-31 12:32 ` Johannes Schindelin
2008-05-30 21:49 ` [PATCH] perl/Git.pm: add parse_rev method Petr Baudis
2008-05-31 13:52 ` [PATCH v2] " Lea Wiemann
2008-06-01 3:17 ` [PATCH v3] " Lea Wiemann
2008-06-01 3:17 ` Lea Wiemann
2008-06-01 17:38 ` Lea Wiemann
2008-06-01 21:54 ` Miklos Vajna
2008-06-01 22:51 ` Lea Wiemann
2008-06-02 4:59 ` Junio C Hamano
2008-06-02 13:51 ` Lea Wiemann
2008-06-01 23:09 ` [PATCH v4] perl/Git.pm: add get_hash method Lea Wiemann
2008-06-01 23:24 ` Lea Wiemann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080530095047.GD18781@machine.or.cz \
--to=pasky@suse.cz \
--cc=git@vger.kernel.org \
--cc=lewiemann@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).