git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] send-email: Defines smtpPassCmd config option

From
Jeff King <peff@peff.net>
Date
May 3, 2020, 09:43 UTC
Message-ID
<20200503094348.GE170902@coredump.intra.peff.net>
In-Reply-To
<20200501235948.GD6530@camp.crustytoothpaste.net>
On Fri, May 01, 2020 at 11:59:48PM +0000, brian m. carlson wrote:
Show 17 quoted lines
> I think perhaps many folks aren't aware that you can invoke Git with an
> arbitrary shell command as "credential.helper", which of course makes
> life a lot easier.  So if you want to invoke a separate command, it's
> really as easy as this:
> 
>   git config credential.smtp://smtp.crustytoothpaste.net.helper \
>     '!f() { echo username=my-username; echo "password=$(my-password-command)"; }; f'
> 
> So I think that documenting the use of the credential helper is step 1,
> because probably most people _do_ want to use that for their passwords,
> and then documenting that credential helpers can be arbitrary shell
> commands that speak the protocol is step 2, so that people who don't can
> figure out a way to do what they want.
> 
> I'll send some patches later which document the latter feature, since I
> don't think we mention it anywhere outside of the FAQ.  I actually
> didn't know about it until Peff mentioned it to me one time.

This is documented, but only recently did it make it out of Documentation/technical/ and into gitcredentials(7). I don't mind adding more pointers, though.

It's also being discussed in this thread:
  https://lore.kernel.org/git/63f35287c9ced4d674f938bedd439aefa6c46f41.camel@gmail.com/

about how deep into the rabbit-hole we want to go in terms of showing a working example. In particular, in your example above I'd consider checking that "$1" is "get" in the function.

You also could be using credential.*.username. It's twice as many git-config commands to set up on the command-line, but IMHO the resulting config file is a little easier to read.

-Peff
Previous: brian m. carlsonNext: brian m. carlson
Message 6 of 13 in “send-email: Defines smtpPassCmd config option”
  1. send-email: Defines smtpPassCmd config optionLeonardo Bras, May 1, 2020
  2. Carlo Marcelo Arenas BelónMay 1, 2020
  3. Junio C HamanoMay 1, 2020
  4. Taylor BlauMay 1, 2020
  5. brian m. carlsonMay 1, 2020
  6. Jeff KingMay 3, 2020
  7. brian m. carlsonMay 3, 2020
  8. Carlo Marcelo Arenas BelónMay 3, 2020
  9. Leonardo BrasMay 4, 2020
  10. Jeff KingMay 4, 2020
  11. Leonardo BrasMay 4, 2020
  12. Leonardo BrasMay 4, 2020
  13. Leonardo BrasMay 4, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.