[PATCHv2 0/13] credential helpers
- From
Jeff King <peff@peff.net>
- Date
- Dec 6, 2011, 06:21 UTC
- Message-ID
- <20111206062127.GA29046@sigill.intra.peff.net>
This is a re-roll of the credential helper series. Changes are noted below.
[01/13]: test-lib: add test_config_global variant [02/13]: t5550: fix typo [03/13]: introduce credentials API
- simplified "first word is alnum" rules. You can now use "!f() {"
to get a shell snippet helper.
- documentation clarifications based on discussion with Junio
- fix missing EOF in test script (same as the fixup in pu)
- minor code style fixups[04/13]: credential: add function for parsing url components [05/13]: http: use credential API to get passwords [06/13]: credential: apply helper config [07/13]: credential: add credential.*.username [08/13]: credential: make relevance of http path configurable [09/13]: docs: end-user documentation for the credential subsystem [10/13]: credentials: add "cache" helper
- don't die on unknown action, as suggested by credential helper
docs. This is to leave room for new actions later.[11/13]: strbuf: add strbuf_add*_urlencode [12/13]: credentials: add "store" helper
- don't die on unknown action, as above
- "store --store=foo" is now spelled "store --file=foo"
- passwords are now stored in most-recently-added order
- drop remove/lookup restrictions, per discussion with Junio This last one has an interesting side effect. You can now
do: "git credential-store erase </dev/null" to erase everything
(since you have provided no restrictions, it matches everything).
It's not something git would send intentionally, but it seems
accidentally destructive (e.g., for some reason the main git process
dies and closes the pipe). Perhaps a "credential on the wire" should
be re-defined as a set of key/value lines followed by a blank line
to signal "end"?[13/13]: t: add test harness for external credential helpers
- actually invoke cleanup functions. The lib-credential script
provides a best-effort cleanup function, since external helpers
may be writing to system storage outsid of the trash directory.
But in v1 we didn't actually call it.-Peff