tar-tree: add the "tar.umask" config option

By default, git-tar-tree(1) sets file and directories modes to 0666
or 0777. While this is both useful and acceptable for projects such
as the Linux Kernel, it might be excessive for other projects. With
this variable, it becomes possible to tell git-tar-tree(1) to apply
a specific umask to the modes above. The special value "user"
indicates that the user's current umask will be used. This should be
enough for most projects, as it will lead to the same permissions as
git-checkout(1) would use. The default value remains 0, which means
world read-write.

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