# [PATCH 0/5] Rework diff options

8 messages from 2006-06-23 to 2006-06-24. Participants: Timo Hirvonen, Johannes Schindelin, Linus Torvalds, Junio C Hamano.
Thread: https://gitlist.dev/t/4644

## Timo Hirvonen, 2006-06-23 22:15

Subject: [PATCH 0/5] Rework diff options
Message-ID: <20060624011538.9bb179e7.tihirvon@gmail.com>
URL: https://gitlist.dev/e/20060624011538.9bb179e7.tihirvon%40gmail.com

```
This patch series cleans up diff output format options.

This makes it possible to use any combination of --raw, -p, --stat and
--summary options and they work as you would expect.

These patches passed all tests but patch 2/5 is quite intrusive...

 b/builtin-diff-files.c  |   10 +-
 b/builtin-diff-index.c  |    4 
 b/builtin-diff-stages.c |    3 
 b/builtin-diff-tree.c   |    3 
 b/builtin-diff.c        |   74 ++++++-----------
 b/builtin-log.c         |   12 +-
 b/combine-diff.c        |   45 +++-------
 b/diff.c                |  207 +++++++++++++++++++++++-------------------------
 b/diff.h                |   29 +++---
 b/git-merge.sh          |    3 
 b/log-tree.c            |   15 ++-
 b/revision.c            |    5 -
 12 files changed, 196 insertions(+), 214 deletions(-)

-- 
http://onion.dynserv.net/~timo/

```

## Johannes Schindelin, 2006-06-23 22:28

Subject: Re: [PATCH 0/5] Rework diff options
Message-ID: <Pine.LNX.4.63.0606240024460.29667@wbgn013.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0606240024460.29667%40wbgn013.biozentrum.uni-wuerzburg.de
In-Reply-To: <20060624011538.9bb179e7.tihirvon@gmail.com>

```
Hi,

On Sat, 24 Jun 2006, Timo Hirvonen wrote:

> This patch series cleans up diff output format options.

Very good.

Although I understand that to convert all users to the new convention, it 
is sensible to rename the constants, I think it is not good to change 
something as DIFF_FORMAT_RAW to OUTPUT_FMT_RAW in the resulting patch.

IMHO it is an unnecessary change, and accounts for a lot of the diffstat.

Ciao,
Dscho

```

## Timo Hirvonen, 2006-06-23 22:44

Subject: Re: [PATCH 0/5] Rework diff options
Message-ID: <20060624014420.2c3df276.tihirvon@gmail.com>
URL: https://gitlist.dev/e/20060624014420.2c3df276.tihirvon%40gmail.com
In-Reply-To: <Pine.LNX.4.63.0606240024460.29667@wbgn013.biozentrum.uni-wuerzburg.de>

```
Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:

> Hi,
> 
> On Sat, 24 Jun 2006, Timo Hirvonen wrote:
> 
> > This patch series cleans up diff output format options.
> 
> Very good.
> 
> Although I understand that to convert all users to the new convention, it 
> is sensible to rename the constants, I think it is not good to change 
> something as DIFF_FORMAT_RAW to OUTPUT_FMT_RAW in the resulting patch.
> 
> IMHO it is an unnecessary change, and accounts for a lot of the diffstat.

I did it because you can't have many DIFF_FORMAT_* options at the same
time but OUTPUT_FMT_* can be combined.

-- 
http://onion.dynserv.net/~timo/

```

## Linus Torvalds, 2006-06-23 23:16

Subject: Re: [PATCH 0/5] Rework diff options
Message-ID: <Pine.LNX.4.64.0606231615150.6483@g5.osdl.org>
URL: https://gitlist.dev/e/Pine.LNX.4.64.0606231615150.6483%40g5.osdl.org
In-Reply-To: <20060624011538.9bb179e7.tihirvon@gmail.com>

```


On Sat, 24 Jun 2006, Timo Hirvonen wrote:
>
> This patch series cleans up diff output format options.
> 
> This makes it possible to use any combination of --raw, -p, --stat and
> --summary options and they work as you would expect.

Looks good to me. I'll be very happy never having to remember the option 
(or type) --patch-with-stat ever again. Doing just "-p --stat" is just 
_so_ much better.

		Linus

```

## Johannes Schindelin, 2006-06-23 23:18

Subject: Re: [PATCH 0/5] Rework diff options
Message-ID: <Pine.LNX.4.63.0606240111590.29667@wbgn013.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0606240111590.29667%40wbgn013.biozentrum.uni-wuerzburg.de
In-Reply-To: <20060624014420.2c3df276.tihirvon@gmail.com>

```
Hi,

On Sat, 24 Jun 2006, Timo Hirvonen wrote:

> Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> 
> > Although I understand that to convert all users to the new convention, it 
> > is sensible to rename the constants, I think it is not good to change 
> > something as DIFF_FORMAT_RAW to OUTPUT_FMT_RAW in the resulting patch.

Note that I understand this for the purpose of not forgetting to change 
things over to "|=" and "&": the compiler will warn you about that now.

But after it compiles, you can change the names back to reduce patch size 
and to avoid confusing of dumb people like me.

> > IMHO it is an unnecessary change, and accounts for a lot of the diffstat.
> 
> I did it because you can't have many DIFF_FORMAT_* options at the same
> time but OUTPUT_FMT_* can be combined.

But you just renamed them! The name alone does not say "you cannot combine 
them".

-- snip --
@@ -150,15 +162,6 @@ #define COMMON_DIFF_OPTIONS_HELP \
 "                show all files diff when -S is used and hit is found.\n"
 
 extern int diff_queue_is_empty(void);
-
-#define DIFF_FORMAT_RAW                1
-#define DIFF_FORMAT_PATCH      2
-#define DIFF_FORMAT_NO_OUTPUT  3
-#define DIFF_FORMAT_NAME       4
-#define DIFF_FORMAT_NAME_STATUS        5
-#define DIFF_FORMAT_DIFFSTAT   6
-#define DIFF_FORMAT_CHECKDIFF  7
-
-- snap --

You also sneak in some other things, such as renaming output_format to 
output_fmt in struct diff_options, making a function static, and expanding 
a "(a ? b : c)", without accounting for it in the commit message.

Ciao,
Dscho

```

## Junio C Hamano, 2006-06-23 23:28

Subject: Re: [PATCH 0/5] Rework diff options
Message-ID: <7vodwj8n9s.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7vodwj8n9s.fsf%40assigned-by-dhcp.cox.net
In-Reply-To: <Pine.LNX.4.63.0606240024460.29667@wbgn013.biozentrum.uni-wuerzburg.de>

```
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

> Hi,
>
> On Sat, 24 Jun 2006, Timo Hirvonen wrote:
>
>> This patch series cleans up diff output format options.
>
> Very good.
>
> Although I understand that to convert all users to the new convention, it 
> is sensible to rename the constants, I think it is not good to change 
> something as DIFF_FORMAT_RAW to OUTPUT_FMT_RAW in the resulting patch.

I personally feel that the benefit of being able to make sure
you covered everything outweighs the size of initial diff.

Thanks Timo.  Will take a look.

```

## Johannes Schindelin, 2006-06-24 00:04

Subject: Re: [PATCH 0/5] Rework diff options
Message-ID: <Pine.LNX.4.63.0606240201580.29667@wbgn013.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0606240201580.29667%40wbgn013.biozentrum.uni-wuerzburg.de
In-Reply-To: <7vodwj8n9s.fsf@assigned-by-dhcp.cox.net>

```
Hi,

On Fri, 23 Jun 2006, Junio C Hamano wrote:

> I personally feel that the benefit of being able to make sure you 
> covered everything outweighs the size of initial diff.

IMHO the difficulty of finding bugs is proportional to the square of the 
diff size, while the number of people willing to review it is proportional 
to its square root. So, if it is not difficult (which it is not at all in 
this case), I politely ask to cut the patch size down.

Ciao,
Dscho

```

## Junio C Hamano, 2006-06-24 02:51

Subject: Re: [PATCH 0/5] Rework diff options
Message-ID: <7vac835krm.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7vac835krm.fsf%40assigned-by-dhcp.cox.net
In-Reply-To: <Pine.LNX.4.63.0606240201580.29667@wbgn013.biozentrum.uni-wuerzburg.de>

```
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

> On Fri, 23 Jun 2006, Junio C Hamano wrote:
>
>> I personally feel that the benefit of being able to make sure you 
>> covered everything outweighs the size of initial diff.
>
> IMHO the difficulty of finding bugs is proportional to the square of the 
> diff size, while the number of people willing to review it is proportional 
> to its square root. So, if it is not difficult (which it is not at all in 
> this case), I politely ask to cut the patch size down.

Yeah, your "renaming in private while you are making sure but
rename them back" suggestion actually would work in this case.

```
