Re: [PATCHv3 4/5] Git.pm: add interface for git credential command
- From
Jeff King <peff@peff.net>
- Date
- Feb 11, 2013, 16:53 UTC
- Message-ID
- <20130211165331.GD16402@sigill.intra.peff.net>
- In-Reply-To
- <2ec5dd694878055e9ce9d650889ee85369073568.1360599712.git.mina86@mina86.com>
On Mon, Feb 11, 2013 at 05:23:38PM +0100, Michal Nazarewicz wrote:
Show 23 quoted lines
> +=item credential_read( FILE_HANDLE )
> +
> +Reads credential key-value pairs from C<FILE_HANDLE>. Reading stops at EOF or
> +when an empty line is encountered. Each line must be of the form C<key=value>
> +with a non-empty key. Function returns a hash with all read values. Any
> +white space (other then new-line character) is preserved.
> +
> +=cut
> +
> +sub credential_read {
> + my ($self, $reader) = _maybe_self(@_);
> + my %credential;
> + while (<$reader>) {
> + chomp;
> + if ($_ eq '') {
> + last;
> + } elsif (!/^([^=]+)=(.*)$/) {
> + throw Error::Simple("unable to parse git credential data:\n$_");
> + }
> + $credential{$1} = $2;
> + }
> + return %credential;
> +}Should this return a hash reference? It seems like that is how we end up using and passing it elsewhere (since we have to anyway when passing it as a parameter).
I don't have a strong preference, and it's somewhat a matter of taste. And maybe returning the actual hash matches the rest of the module better. I admit I don't really use Git.pm much.
-Peff