Thread (4 messages) flat view 4 messages, 2 authors, 2016-06-15

Re: [PATCH (GITK)] gitk: Fix commit encoding support.

From: Paul Mackerras <hidden>
Date: 2016-06-15 22:45:37

Alexander Gavrilov writes:
+proc do_readcommit {id} {
+    global tclencoding
+
+    # Invoke git-log to handle automatic encoding conversion
+    set fd [open [concat | git log --no-color --pretty=raw -1 $id] r]
+    # Read the results using i18n.logoutputencoding
+    fconfigure $fd -translation lf -eofchar {}
+    if {$tclencoding != {}} {
+	fconfigure $fd -encoding $tclencoding
Does this mean there are two conversions going on, one inside git log
and another inside Tcl?  Is there a reason why it's better to do two
conversions than one, or is it just more convenient that way?

Would an alternative approach have been to read the output of git
cat-file with -translation binary, look for an encoding header, and do
an encoding convertfrom based on the encoding header?  What would be
the disadvantage of such an approach?

Paul.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help