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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html