Merge branch 'dc/format-pretty'

* dc/format-pretty:
  log/show/whatchanged: introduce format.pretty configuration
  specify explicit "--pretty=medium" with `git log/show/whatchanged`
  whatchanged documentation: share description of --pretty with others
This commit is contained in:
Junio C Hamano 2008-03-07 22:33:26 -08:00
commit 5628a7a309
8 changed files with 21 additions and 9 deletions

View File

@ -556,6 +556,11 @@ format.suffix::
`.patch`. Use this variable to change that suffix (make sure to `.patch`. Use this variable to change that suffix (make sure to
include the dot if you want it). include the dot if you want it).
format.pretty::
The default pretty format for log/show/whatchanged command,
See linkgit:git-log[1], linkgit:git-show[1],
linkgit:git-whatchanged[1].
gc.aggressiveWindow:: gc.aggressiveWindow::
The window size parameter used in the delta compression The window size parameter used in the delta compression
algorithm used by 'git gc --aggressive'. This defaults algorithm used by 'git gc --aggressive'. This defaults

View File

@ -38,11 +38,6 @@ OPTIONS
Show git internal diff output, but for the whole tree, Show git internal diff output, but for the whole tree,
not just the top level. not just the top level.
--pretty=<format>::
Controls the output format for the commit logs.
<format> can be one of 'raw', 'medium', 'short', 'full',
and 'oneline'.
-m:: -m::
By default, differences for merge commits are not shown. By default, differences for merge commits are not shown.
With this flag, show differences to that commit from all With this flag, show differences to that commit from all
@ -51,6 +46,10 @@ OPTIONS
However, it is not very useful in general, although it However, it is not very useful in general, although it
*is* useful on a file-by-file basis. *is* useful on a file-by-file basis.
include::pretty-options.txt[]
include::pretty-formats.txt[]
Examples Examples
-------- --------
git-whatchanged -p v2.6.12.. include/scsi drivers/scsi:: git-whatchanged -p v2.6.12.. include/scsi drivers/scsi::

View File

@ -4,6 +4,9 @@
where '<format>' can be one of 'oneline', 'short', 'medium', where '<format>' can be one of 'oneline', 'short', 'medium',
'full', 'fuller', 'email', 'raw' and 'format:<string>'. 'full', 'fuller', 'email', 'raw' and 'format:<string>'.
When omitted, the format defaults to 'medium'. When omitted, the format defaults to 'medium'.
+
Note: you can specify the default pretty format in the repository
configuration (see linkgit:git-config[1]).
--abbrev-commit:: --abbrev-commit::
Instead of showing the full 40-byte hexadecimal commit object Instead of showing the full 40-byte hexadecimal commit object

View File

@ -20,6 +20,7 @@
static int default_show_root = 1; static int default_show_root = 1;
static const char *fmt_patch_subject_prefix = "PATCH"; static const char *fmt_patch_subject_prefix = "PATCH";
static const char *fmt_pretty;
static void add_name_decoration(const char *prefix, const char *name, struct object *obj) static void add_name_decoration(const char *prefix, const char *name, struct object *obj)
{ {
@ -54,6 +55,8 @@ static void cmd_log_init(int argc, const char **argv, const char *prefix,
rev->abbrev = DEFAULT_ABBREV; rev->abbrev = DEFAULT_ABBREV;
rev->commit_format = CMIT_FMT_DEFAULT; rev->commit_format = CMIT_FMT_DEFAULT;
if (fmt_pretty)
rev->commit_format = get_commit_format(fmt_pretty);
rev->verbose_header = 1; rev->verbose_header = 1;
DIFF_OPT_SET(&rev->diffopt, RECURSIVE); DIFF_OPT_SET(&rev->diffopt, RECURSIVE);
rev->show_root_diff = default_show_root; rev->show_root_diff = default_show_root;
@ -221,6 +224,8 @@ static int cmd_log_walk(struct rev_info *rev)
static int git_log_config(const char *var, const char *value) static int git_log_config(const char *var, const char *value)
{ {
if (!strcmp(var, "format.pretty"))
return git_config_string(&fmt_pretty, var, value);
if (!strcmp(var, "format.subjectprefix")) { if (!strcmp(var, "format.subjectprefix")) {
if (!value) if (!value)
config_error_nonbool(var); config_error_nonbool(var);

View File

@ -1299,7 +1299,7 @@ Return the list of files that haven't been handled."
(let (author-name author-email subject date msg) (let (author-name author-email subject date msg)
(with-temp-buffer (with-temp-buffer
(let ((coding-system (git-get-logoutput-coding-system))) (let ((coding-system (git-get-logoutput-coding-system)))
(git-call-process-env t nil "log" "-1" commit) (git-call-process-env t nil "log" "-1" "--pretty=medium" commit)
(goto-char (point-min)) (goto-char (point-min))
(when (re-search-forward "^Author: *\\(.*\\) <\\(.*\\)>$" nil t) (when (re-search-forward "^Author: *\\(.*\\) <\\(.*\\)>$" nil t)
(setq author-name (match-string 1)) (setq author-name (match-string 1))

View File

@ -567,7 +567,7 @@ generate_general_email()
echo "" echo ""
if [ "$newrev_type" = "commit" ]; then if [ "$newrev_type" = "commit" ]; then
echo $LOGBEGIN echo $LOGBEGIN
git show --no-color --root -s $newrev git show --no-color --root -s --pretty=medium $newrev
echo $LOGEND echo $LOGEND
else else
# What can we do here? The tag marks an object that is not # What can we do here? The tag marks an object that is not

View File

@ -2556,7 +2556,7 @@ sub update
if ($base) { if ($base) {
my @merged; my @merged;
# print "want to log between $base $parent \n"; # print "want to log between $base $parent \n";
open(GITLOG, '-|', 'git-log', "$base..$parent") open(GITLOG, '-|', 'git-log', '--pretty=medium', "$base..$parent")
or die "Cannot call git-log: $!"; or die "Cannot call git-log: $!";
my $mergedhash; my $mergedhash;
while (<GITLOG>) { while (<GITLOG>) {

View File

@ -71,7 +71,7 @@ finish_up_to_date () {
squash_message () { squash_message () {
echo Squashed commit of the following: echo Squashed commit of the following:
echo echo
git log --no-merges ^"$head" $remoteheads git log --no-merges --pretty=medium ^"$head" $remoteheads
} }
finish () { finish () {