credentials: add "cache" helper

If you access repositories over smart-http using http
authentication, then it can be annoying to have git ask you
for your password repeatedly. We cache credentials in
memory, of course, but git is composed of many small
programs. Having to input your password for each one can be
frustrating.

This patch introduces a credential helper that will cache
passwords in memory for a short period of time.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 files changed
tree: 5ae5a950fec8c52cab6a0ee21f48d0912bafcafd
  1. block-sha1/
  2. builtin/
  3. compat/
  4. contrib/
  5. Documentation/
  6. git-gui/
  7. git_remote_helpers/
  8. gitk-git/
  9. gitweb/
  10. mergetools/
  11. perl/
  12. po/
  13. ppc/
  14. t/
  15. templates/
  16. vcs-svn/
  17. xdiff/
  18. .gitattributes
  19. .gitignore
  20. .mailmap
  21. abspath.c
  22. aclocal.m4
  23. advice.c
  24. advice.h
  25. alias.c
  26. alloc.c
  27. archive-tar.c
  28. archive-zip.c
  29. archive.c
  30. archive.h
  31. argv-array.c
  32. argv-array.h
  33. attr.c
  34. attr.h
  35. base85.c
  36. bisect.c
  37. bisect.h
  38. blob.c
  39. blob.h
  40. branch.c
  41. branch.h
  42. builtin.h
  43. bundle.c
  44. bundle.h
  45. cache-tree.c
  46. cache-tree.h
  47. cache.h
  48. check-builtins.sh
  49. check-racy.c
  50. check_bindir
  51. color.c
  52. color.h
  53. combine-diff.c
  54. command-list.txt
  55. commit.c
  56. commit.h
  57. config.c
  58. config.mak.in
  59. configure.ac
  60. connect.c
  61. connected.c
  62. connected.h
  63. convert.c
  64. convert.h
  65. copy.c
  66. COPYING
  67. credential-cache--daemon.c
  68. credential-cache.c
  69. credential.c
  70. credential.h
  71. csum-file.c
  72. csum-file.h
  73. ctype.c
  74. daemon.c
  75. date.c
  76. decorate.c
  77. decorate.h
  78. delta.h
  79. diff-delta.c
  80. diff-lib.c
  81. diff-no-index.c
  82. diff.c
  83. diff.h
  84. diffcore-break.c
  85. diffcore-delta.c
  86. diffcore-order.c
  87. diffcore-pickaxe.c
  88. diffcore-rename.c
  89. diffcore.h
  90. dir.c
  91. dir.h
  92. editor.c
  93. entry.c
  94. environment.c
  95. exec_cmd.c
  96. exec_cmd.h
  97. fast-import.c
  98. fetch-pack.h
  99. fixup-builtins
  100. fsck.c
  101. fsck.h
  102. generate-cmdlist.sh
  103. gettext.c
  104. gettext.h
  105. git-add--interactive.perl
  106. git-am.sh
  107. git-archimport.perl
  108. git-bisect.sh
  109. git-compat-util.h
  110. git-cvsexportcommit.perl
  111. git-cvsimport.perl
  112. git-cvsserver.perl
  113. git-difftool--helper.sh
  114. git-difftool.perl
  115. git-filter-branch.sh
  116. git-instaweb.sh
  117. git-lost-found.sh
  118. git-merge-octopus.sh
  119. git-merge-one-file.sh
  120. git-merge-resolve.sh
  121. git-mergetool--lib.sh
  122. git-mergetool.sh
  123. git-parse-remote.sh
  124. git-pull.sh
  125. git-quiltimport.sh
  126. git-rebase--am.sh
  127. git-rebase--interactive.sh
  128. git-rebase--merge.sh
  129. git-rebase.sh
  130. git-relink.perl
  131. git-remote-testgit.py
  132. git-repack.sh
  133. git-request-pull.sh
  134. git-send-email.perl
  135. git-sh-i18n.sh
  136. git-sh-setup.sh
  137. git-stash.sh
  138. git-submodule.sh
  139. git-svn.perl
  140. GIT-VERSION-GEN
  141. git-web--browse.sh
  142. git.c
  143. git.spec.in
  144. graph.c
  145. graph.h
  146. grep.c
  147. grep.h
  148. hash.c
  149. hash.h
  150. help.c
  151. help.h
  152. hex.c
  153. http-backend.c
  154. http-fetch.c
  155. http-push.c
  156. http-walker.c
  157. http.c
  158. http.h
  159. ident.c
  160. imap-send.c
  161. INSTALL
  162. kwset.c
  163. kwset.h
  164. levenshtein.c
  165. levenshtein.h
  166. LGPL-2.1
  167. list-objects.c
  168. list-objects.h
  169. ll-merge.c
  170. ll-merge.h
  171. lockfile.c
  172. log-tree.c
  173. log-tree.h
  174. mailmap.c
  175. mailmap.h
  176. Makefile
  177. match-trees.c
  178. merge-file.c
  179. merge-file.h
  180. merge-recursive.c
  181. merge-recursive.h
  182. name-hash.c
  183. notes-cache.c
  184. notes-cache.h
  185. notes-merge.c
  186. notes-merge.h
  187. notes.c
  188. notes.h
  189. object.c
  190. object.h
  191. pack-check.c
  192. pack-refs.c
  193. pack-refs.h
  194. pack-revindex.c
  195. pack-revindex.h
  196. pack-write.c
  197. pack.h
  198. pager.c
  199. parse-options-cb.c
  200. parse-options.c
  201. parse-options.h
  202. patch-delta.c
  203. patch-ids.c
  204. patch-ids.h
  205. path.c
  206. pkt-line.c
  207. pkt-line.h
  208. preload-index.c
  209. pretty.c
  210. progress.c
  211. progress.h
  212. quote.c
  213. quote.h
  214. reachable.c
  215. reachable.h
  216. read-cache.c
  217. README
  218. reflog-walk.c
  219. reflog-walk.h
  220. refs.c
  221. refs.h
  222. remote-curl.c
  223. remote.c
  224. remote.h
  225. replace_object.c
  226. rerere.c
  227. rerere.h
  228. resolve-undo.c
  229. resolve-undo.h
  230. revision.c
  231. revision.h
  232. run-command.c
  233. run-command.h
  234. send-pack.h
  235. sequencer.c
  236. sequencer.h
  237. server-info.c
  238. setup.c
  239. sh-i18n--envsubst.c
  240. sha1-array.c
  241. sha1-array.h
  242. sha1-lookup.c
  243. sha1-lookup.h
  244. sha1_file.c
  245. sha1_name.c
  246. shallow.c
  247. shell.c
  248. shortlog.h
  249. show-index.c
  250. sideband.c
  251. sideband.h
  252. sigchain.c
  253. sigchain.h
  254. strbuf.c
  255. strbuf.h
  256. streaming.c
  257. streaming.h
  258. string-list.c
  259. string-list.h
  260. submodule.c
  261. submodule.h
  262. symlinks.c
  263. tag.c
  264. tag.h
  265. tar.h
  266. test-chmtime.c
  267. test-credential.c
  268. test-ctype.c
  269. test-date.c
  270. test-delta.c
  271. test-dump-cache-tree.c
  272. test-genrandom.c
  273. test-index-version.c
  274. test-line-buffer.c
  275. test-match-trees.c
  276. test-mktemp.c
  277. test-obj-pool.c
  278. test-parse-options.c
  279. test-path-utils.c
  280. test-run-command.c
  281. test-sha1.c
  282. test-sha1.sh
  283. test-sigchain.c
  284. test-string-pool.c
  285. test-subprocess.c
  286. test-svn-fe.c
  287. test-treap.c
  288. thread-utils.c
  289. thread-utils.h
  290. trace.c
  291. transport-helper.c
  292. transport.c
  293. transport.h
  294. tree-diff.c
  295. tree-walk.c
  296. tree-walk.h
  297. tree.c
  298. tree.h
  299. unimplemented.sh
  300. unix-socket.c
  301. unix-socket.h
  302. unpack-trees.c
  303. unpack-trees.h
  304. upload-pack.c
  305. url.c
  306. url.h
  307. usage.c
  308. userdiff.c
  309. userdiff.h
  310. utf8.c
  311. utf8.h
  312. walker.c
  313. walker.h
  314. wrap-for-bin.sh
  315. wrapper.c
  316. write_or_die.c
  317. ws.c
  318. wt-status.c
  319. wt-status.h
  320. xdiff-interface.c
  321. xdiff-interface.h
  322. zlib.c