Default GIT_COMMITTER_NAME to login name in recieve-pack.

If GIT_COMMITTER_NAME is not available in receive-pack but reflogs
are enabled we would normally die out with an error message asking
the user to correct their environment settings.

Now that reflogs are enabled by default in (what we guessed to be)
non-bare Git repositories this may cause problems for some users
who don't have their full name in the gecos field and who don't
have access to the remote system to correct the problem.

So rather than die()'ing out in receive-pack when we try to log a
ref change and have no committer name we default to the username,
as obtained from the host's password database.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
3 files changed
tree: 483bff2e2348641ef44570b9d870e525f3cc67bd
  1. arm/
  2. compat/
  3. contrib/
  4. Documentation/
  5. gitweb/
  6. mozilla-sha1/
  7. perl/
  8. ppc/
  9. t/
  10. templates/
  11. xdiff/
  12. .gitignore
  13. alloc.c
  14. archive-tar.c
  15. archive-zip.c
  16. archive.h
  17. base85.c
  18. blob.c
  19. blob.h
  20. builtin-add.c
  21. builtin-annotate.c
  22. builtin-apply.c
  23. builtin-archive.c
  24. builtin-blame.c
  25. builtin-branch.c
  26. builtin-cat-file.c
  27. builtin-check-ref-format.c
  28. builtin-checkout-index.c
  29. builtin-commit-tree.c
  30. builtin-count-objects.c
  31. builtin-diff-files.c
  32. builtin-diff-index.c
  33. builtin-diff-stages.c
  34. builtin-diff-tree.c
  35. builtin-diff.c
  36. builtin-fmt-merge-msg.c
  37. builtin-for-each-ref.c
  38. builtin-grep.c
  39. builtin-init-db.c
  40. builtin-log.c
  41. builtin-ls-files.c
  42. builtin-ls-tree.c
  43. builtin-mailinfo.c
  44. builtin-mailsplit.c
  45. builtin-merge-file.c
  46. builtin-mv.c
  47. builtin-name-rev.c
  48. builtin-pack-objects.c
  49. builtin-pack-refs.c
  50. builtin-prune-packed.c
  51. builtin-prune.c
  52. builtin-push.c
  53. builtin-read-tree.c
  54. builtin-repo-config.c
  55. builtin-rev-list.c
  56. builtin-rev-parse.c
  57. builtin-rm.c
  58. builtin-runstatus.c
  59. builtin-shortlog.c
  60. builtin-show-branch.c
  61. builtin-show-ref.c
  62. builtin-stripspace.c
  63. builtin-symbolic-ref.c
  64. builtin-tar-tree.c
  65. builtin-unpack-objects.c
  66. builtin-update-index.c
  67. builtin-update-ref.c
  68. builtin-upload-archive.c
  69. builtin-verify-pack.c
  70. builtin-write-tree.c
  71. builtin.h
  72. cache-tree.c
  73. cache-tree.h
  74. cache.h
  75. check-builtins.sh
  76. check-racy.c
  77. color.c
  78. color.h
  79. combine-diff.c
  80. commit.c
  81. commit.h
  82. config.c
  83. config.mak.in
  84. configure.ac
  85. connect.c
  86. convert-objects.c
  87. copy.c
  88. COPYING
  89. csum-file.c
  90. csum-file.h
  91. ctype.c
  92. daemon.c
  93. date.c
  94. delta.h
  95. describe.c
  96. diff-delta.c
  97. diff-lib.c
  98. diff.c
  99. diff.h
  100. diffcore-break.c
  101. diffcore-delta.c
  102. diffcore-order.c
  103. diffcore-pickaxe.c
  104. diffcore-rename.c
  105. diffcore.h
  106. dir.c
  107. dir.h
  108. dump-cache-tree.c
  109. entry.c
  110. environment.c
  111. exec_cmd.c
  112. exec_cmd.h
  113. fetch-pack.c
  114. fetch.c
  115. fetch.h
  116. fsck-objects.c
  117. generate-cmdlist.sh
  118. git-am.sh
  119. git-applymbox.sh
  120. git-applypatch.sh
  121. git-archimport.perl
  122. git-bisect.sh
  123. git-checkout.sh
  124. git-clean.sh
  125. git-clone.sh
  126. git-commit.sh
  127. git-compat-util.h
  128. git-cvsexportcommit.perl
  129. git-cvsimport.perl
  130. git-cvsserver.perl
  131. git-fetch.sh
  132. git-instaweb.sh
  133. git-lost-found.sh
  134. git-ls-remote.sh
  135. git-merge-octopus.sh
  136. git-merge-one-file.sh
  137. git-merge-ours.sh
  138. git-merge-resolve.sh
  139. git-merge-stupid.sh
  140. git-merge.sh
  141. git-p4import.py
  142. git-parse-remote.sh
  143. git-pull.sh
  144. git-quiltimport.sh
  145. git-rebase.sh
  146. git-relink.perl
  147. git-repack.sh
  148. git-request-pull.sh
  149. git-rerere.perl
  150. git-reset.sh
  151. git-resolve.sh
  152. git-revert.sh
  153. git-send-email.perl
  154. git-sh-setup.sh
  155. git-svn.perl
  156. git-svnimport.perl
  157. git-tag.sh
  158. git-verify-tag.sh
  159. GIT-VERSION-GEN
  160. git.c
  161. git.spec.in
  162. gitk
  163. grep.c
  164. grep.h
  165. hash-object.c
  166. help.c
  167. http-fetch.c
  168. http-push.c
  169. http.c
  170. http.h
  171. ident.c
  172. imap-send.c
  173. index-pack.c
  174. INSTALL
  175. interpolate.c
  176. interpolate.h
  177. list-objects.c
  178. list-objects.h
  179. local-fetch.c
  180. lockfile.c
  181. log-tree.c
  182. log-tree.h
  183. Makefile
  184. merge-base.c
  185. merge-file.c
  186. merge-index.c
  187. merge-recursive.c
  188. merge-tree.c
  189. mktag.c
  190. mktree.c
  191. object-refs.c
  192. object.c
  193. object.h
  194. pack-check.c
  195. pack-redundant.c
  196. pack.h
  197. pager.c
  198. patch-delta.c
  199. patch-id.c
  200. path-list.c
  201. path-list.h
  202. path.c
  203. peek-remote.c
  204. pkt-line.c
  205. pkt-line.h
  206. quote.c
  207. quote.h
  208. read-cache.c
  209. README
  210. receive-pack.c
  211. refs.c
  212. refs.h
  213. revision.c
  214. revision.h
  215. rsh.c
  216. rsh.h
  217. run-command.c
  218. run-command.h
  219. send-pack.c
  220. server-info.c
  221. setup.c
  222. sha1_file.c
  223. sha1_name.c
  224. shell.c
  225. show-index.c
  226. sideband.c
  227. sideband.h
  228. ssh-fetch.c
  229. ssh-pull.c
  230. ssh-push.c
  231. ssh-upload.c
  232. strbuf.c
  233. strbuf.h
  234. tag.c
  235. tag.h
  236. tar.h
  237. test-date.c
  238. test-delta.c
  239. test-sha1.c
  240. test-sha1.sh
  241. trace.c
  242. tree-diff.c
  243. tree-walk.c
  244. tree-walk.h
  245. tree.c
  246. tree.h
  247. unpack-file.c
  248. unpack-trees.c
  249. unpack-trees.h
  250. update-server-info.c
  251. upload-pack.c
  252. usage.c
  253. var.c
  254. write_or_die.c
  255. wt-status.c
  256. wt-status.h
  257. xdiff-interface.c
  258. xdiff-interface.h