From: "Torsten Bögershausen" <tboegi@web.de>
To: "Torsten Bögershausen" <tboegi@web.de>,
"Junio C Hamano" <gitster@pobox.com>
Cc: git@vger.kernel.org, Jeff King <peff@peff.net>,
Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [PATCH v3 0/5] Expanding tabs in "git log" output
Date: Fri, 25 Mar 2016 15:13:19 +0100 [thread overview]
Message-ID: <56F5477F.6090600@web.de> (raw)
In-Reply-To: <56F50608.10606@web.de>
This is copy-paste replacement for the last commit.
(Most probably it is white space damaged)
I'm not sure, is it's worth it ?
If yes, I can send a proper patch later.
git show HEAD
commit 3ac551127d51cd59b24f49729d9ce4dd011a09a1
Author: Junio C Hamano <gitster@pobox.com>
Date: Wed Mar 23 15:57:42 2016 -0700
pretty-print: Add the config variable log.tabwidth
The output formats of "git log" that indent the log message by 4
spaces have been updated to expand tabs by default in previous
steps, without a way to restore the original behaviour.
Introduce a config variable log.tabwidth to allow this.
$ git -c log.tabwidth=0 log [--pretty=medium]
would not expand.
The non-expansion can be made permanent:
$ git config log.tabwidth 0
Or the TAB width can be changed like this:
$ git config log.tabwidth 4
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 2cd6bdd..611f5e4 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -1915,6 +1915,10 @@ log.showRoot::
Tools like linkgit:git-log[1] or linkgit:git-whatchanged[1], which
normally hide the root commit will now show it. True by default.
+log.tabWidth::
+ Sets the width of a TAB. If 0, no TAB expansion is done.
+ 8 by default.
+
log.mailmap::
If true, makes linkgit:git-log[1], linkgit:git-show[1], and
linkgit:git-whatchanged[1] assume `--use-mailmap`.
diff --git a/cache.h b/cache.h
index b829410..fd115d2 100644
--- a/cache.h
+++ b/cache.h
@@ -649,6 +649,7 @@ extern int ignore_case;
extern int assume_unchanged;
extern int prefer_symlink_refs;
extern int log_all_ref_updates;
+extern unsigned log_tab_width;
extern int warn_ambiguous_refs;
extern int warn_on_object_refname_ambiguity;
extern int shared_repository;
diff --git a/config.c b/config.c
index 9ba40bc..e6aadfe 100644
--- a/config.c
+++ b/config.c
@@ -1030,6 +1030,11 @@ int git_default_config(const char *var, const char
*value, void *dummy)
pack_size_limit_cfg = git_config_ulong(var, value);
return 0;
}
+
+ if (!strcmp(var, "log.tabwidth")) {
+ log_tab_width = (unsigned)git_config_ulong(var, value);
+ return 0;
+ }
/* Add other config variables here and to Documentation/config.txt. */
return 0;
}
diff --git a/environment.c b/environment.c
index 6dec9d0..3c72b44 100644
--- a/environment.c
+++ b/environment.c
@@ -21,6 +21,7 @@ int ignore_case;
int assume_unchanged;
int prefer_symlink_refs;
int is_bare_repository_cfg = -1; /* unspecified */
+unsigned log_tab_width = 8;
int log_all_ref_updates = -1; /* unspecified */
int warn_ambiguous_refs = 1;
int warn_on_object_refname_ambiguity = 1;
diff --git a/pretty.c b/pretty.c
index 5a33b7e..1d92c55 100644
--- a/pretty.c
+++ b/pretty.c
@@ -1667,7 +1667,7 @@ static void strbuf_add_tabexpand(struct strbuf *sb,
strbuf_add(sb, line, tab - line);
/* .. and the de-tabified tab */
- strbuf_addchars(sb, ' ', 8-(width & 7));
+ strbuf_addchars(sb, ' ', log_tab_width - (width % log_tab_width));
/* Skip over the printed part .. */
linelen -= 1+tab-line;
@@ -1692,7 +1692,7 @@ static void pp_handle_indent(struct pretty_print_context *pp,
const char *line, int linelen)
{
strbuf_addchars(sb, ' ', indent);
- if (pp->expand_tabs_in_log)
+ if (pp->expand_tabs_in_log && log_tab_width)
strbuf_add_tabexpand(sb, line, linelen);
else
strbuf_add(sb, line, linelen);
diff --git a/t/t4201-shortlog.sh b/t/t4201-shortlog.sh
index 96233ca..9235a2e 100755
--- a/t/t4201-shortlog.sh
+++ b/t/t4201-shortlog.sh
@@ -114,8 +114,8 @@ EOF
test_cmp expect out
'
-test_expect_failure !MINGW 'shortlog from non-git directory' '
- git log HEAD >log &&
+test_expect_success !MINGW 'shortlog from non-git directory' '
+ git -c log.tabwidth=0 log HEAD >log &&
GIT_DIR=non-existing git shortlog -w <log >out &&
test_cmp expect out
'
next prev parent reply other threads:[~2016-03-25 14:13 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-16 16:29 [PATCH] pretty-print: de-tabify indented logs to make things line up properly Linus Torvalds
2016-03-16 16:52 ` Linus Torvalds
2016-03-16 18:01 ` Junio C Hamano
2016-03-16 18:21 ` Linus Torvalds
2016-03-16 19:32 ` Junio C Hamano
2016-03-16 19:47 ` Junio C Hamano
2016-03-16 19:59 ` Linus Torvalds
2016-03-16 21:37 ` Junio C Hamano
2016-03-16 22:04 ` Linus Torvalds
2016-03-17 23:13 ` [PATCH v2 1/4] " Junio C Hamano
2016-03-17 23:15 ` [PATCH v2 2/4] pretty-print: simplify the interaction between pp_handle_indent() and its caller Junio C Hamano
2016-03-17 23:15 ` [PATCH v2 3/4] pretty-print: further abstract out pp_handle_indent() Junio C Hamano
2016-03-17 23:16 ` [PATCH 4/4] pretty-print: add --pretty=noexpand Junio C Hamano
2016-03-17 23:23 ` Linus Torvalds
2016-03-17 23:40 ` Junio C Hamano
2016-03-18 5:08 ` Jeff King
2016-03-18 5:36 ` Linus Torvalds
2016-03-18 5:55 ` Jeff King
2016-03-18 5:44 ` Junio C Hamano
2016-03-23 23:23 ` [PATCH v3 0/5] Expanding tabs in "git log" output Junio C Hamano
2016-03-23 23:23 ` [PATCH v3 1/5] pretty-print: de-tabify indented logs to make things line up properly Junio C Hamano
2016-03-23 23:23 ` [PATCH v3 2/5] pretty-print: simplify the interaction between pp_handle_indent() and its caller Junio C Hamano
2016-03-23 23:23 ` [PATCH v3 3/5] pretty-print: further abstract out pp_handle_indent() Junio C Hamano
2016-03-23 23:23 ` [PATCH v3 4/5] pretty-print: limit expand-tabs to selected --pretty formats Junio C Hamano
2016-03-23 23:23 ` [PATCH v3 5/5] pretty-print: teach "--no-expand-tabs" option to "git log" Junio C Hamano
2016-03-23 23:47 ` [PATCH v3 0/5] Expanding tabs in "git log" output Linus Torvalds
2016-03-24 0:58 ` Jeff King
2016-03-24 5:17 ` Junio C Hamano
2016-03-24 7:05 ` Torsten Bögershausen
2016-03-24 15:37 ` Junio C Hamano
2016-03-24 18:22 ` Junio C Hamano
2016-03-25 9:34 ` Torsten Bögershausen
2016-03-25 14:13 ` Torsten Bögershausen [this message]
2016-03-25 16:41 ` Junio C Hamano
2016-03-25 16:25 ` Junio C Hamano
2016-03-29 23:15 ` [PATCH v4 0/3] " Junio C Hamano
2016-03-29 23:15 ` [PATCH v4 1/3] pretty: expand tabs in indented logs to make things line up properly Junio C Hamano
2016-03-30 0:17 ` Eric Sunshine
2016-03-30 18:20 ` Junio C Hamano
2016-03-29 23:15 ` [PATCH v4 2/3] pretty: enable --expand-tabs by default for selected pretty formats Junio C Hamano
2016-03-30 1:38 ` Jeff King
2016-03-30 19:18 ` Junio C Hamano
2016-03-29 23:15 ` [PATCH v4 3/3] pretty: allow tweaking tabwidth in --expand-tabs Junio C Hamano
2016-04-05 0:58 ` [PATCH v5 0/4] Expanding tabs in "git log" output Junio C Hamano
2016-04-05 0:58 ` [PATCH v5 1/4] pretty: expand tabs in indented logs to make things line up properly Junio C Hamano
2016-04-05 0:58 ` [PATCH v5 2/4] pretty: enable --expand-tabs by default for selected pretty formats Junio C Hamano
2016-04-05 0:58 ` [PATCH v5 3/4] pretty: allow tweaking tabwidth in --expand-tabs Junio C Hamano
2016-04-05 0:58 ` [PATCH v5 4/4] pretty: test --expand-tabs Junio C Hamano
2016-04-05 1:10 ` Eric Sunshine
2016-04-05 1:47 ` Jeff King
2016-04-05 6:25 ` Junio C Hamano
2016-04-05 1:52 ` Jeff King
2016-04-05 6:32 ` Junio C Hamano
2016-04-05 7:13 ` Perry Hutchison
2016-04-05 1:53 ` [PATCH v5 0/4] Expanding tabs in "git log" output Jeff King
2016-03-16 19:50 ` [PATCH] pretty-print: de-tabify indented logs to make things line up properly Linus Torvalds
2016-03-16 21:55 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56F5477F.6090600@web.de \
--to=tboegi@web.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.