Re: [PATCH 1/2] grep Added --blame so that grep can show result tagged with blame entries

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



OK, I'll move my work to "next" branch. BTW, can anyone tell me what
the "next" and "pu" branch are for ?

Pi Song

On Tue, Mar 10, 2009 at 8:46 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote:
> pi song <pi.songs@xxxxxxxxx> writes:
>
>> This part:-
>> 1) Move reusable bits from builtin-blame.c into blame.c, blame.h
>> 2) Replace static variables with context struct
>>
>> Signed-off-by: Pi Song <pi.songs@xxxxxxxxx>
>> ---
>> Makefile        |    2 +
>> blame.c         | 1919 +++++++++++++++++++++++++++++++++++++++++++++++++++
>> blame.h         |  222 ++++++
>> builtin-blame.c | 2072
>> +++----------------------------------------------------
>> 4 files changed, 2245 insertions(+), 1970 deletions(-)
>> create mode 100644 blame.c
>> create mode 100644 blame.h
>
> This is simply too big to ask anybody sane to review (besides as we can
> clearly see in the above the patch is severely whitespace damaged to be
> usable nor mechanically reviewable).
>
> I suspect that most of the file-scope static variables can be moved to the
> scoreboard, and when the reusable parts are made public, some structure
> and function names may need to become a bit more blame specific to avoid
> namespace contamination.
>
> Perhaps the first two patches in an equivalent series that is rerolled to
> be reviewable would look like:
>
>  (1) move file-scope static variables to the scoreboard, and necessary
>     code changes associated with it;
>
>     renaming of some structures and functions (if needed---I didn't
>     check);
>
>  (2) create blame.c and blame.h, and move lines from builtin-blame.c *and*
>     do NOTHING OTHER THAN
>
>     - adding #include "blame.h" to builtin-blame.c,
>
>     - adding necessary #include at the top of blame.c,
>
>     - surrounding blame.h with necessary
>
>         #ifndef BLAME_H
>         #define BLAME_H
>         ...
>         #endif
>
>       and finally
>
>     - updating Makefile to add blame.c and blame.h
>
>     This step will make a HUGE patch, and it is crucial for reviewability
>     for it not to do anything other than line movement.  Ideally, the
>     patch shouldn't even reorder the structures and function definitions
>     during this step.
>
>     Then we can use "git blame" itself to make sure that no other changes
>     were sneaked in by mistake.  "git blame -C blame.h" and "git blame -C
>     blame.c" would show everything came from builtin-blame.c.
>
> At this point, there shouldn't still be any behaviour change nor new
> feature.  And the titles of these preparatory step will never say anything
> about "grep".  They are only refactoring "blame".
>
> Once this becomes solid, you can start adding features to blame.c to
> support your new caller, and we can be reasonably sure that such patches
> can be reviewed to decide if its change breaks the existing (and so far
> the only) caller builtin_blame() or not.
>
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux