Teach log family --encoding

Updated commit objects record the encoding used in their
encoding header.  This updates the log family to reencode it
into the encoding specified in i18n.commitencoding (or the
default, which is "utf-8") upon output.

To force a specific encoding that is different, log family takes
command line flag --encoding=<encoding>; giving --encoding=none
entirely disables the reencoding and lets you view log messges
in their original encoding.

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