Re: [PATCH 06/10] log: --function-name pickaxe

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: [PATCH 06/10] log: --function-name pickaxe

From: Junio C Hamano <hidden>
Date: 2016-06-15 23:00:38

Jakub Narębski [off-list ref] writes:
W dniu 2014-04-03 23:44, Junio C Hamano pisze:
quoted
René Scharfe [off-list ref] writes:
quoted
With that approach you depend on the hunk header and apparently need
to add XDL_EMIT_MOREFUNCNAMES and XDL_EMIT_MOREHUNKHEADS to improve
the results.  This approach feels fragile.

Would it perhaps be more robust to not base the implementation on diff
and instead to scan the raw file contents?
That is an interesting idea.

Perhaps this can be implemented as a new stage in the transformation
pipeline, I wonder?  There is currently no transformation that
modifies the blob contents being compared, but I do not think there
is anything fundamental that prevents one from being written.  The
new "limit to this function body" transformation would perhaps sit
before the diffcore-rename and would transform all the blobs to
empty, except for the part that is the body of the function the user
is interested in.
Well, there is 'texconv', e.g.

  .gitattributes
  *.jpg diff=jpg

  .git/config
  [diff "jpg"]
         textconv = exif
;-)  So you could define this textconv

    sed -n -e '/^int main(/,/^}/p'

to limit the output only to the definition of the function main().
Doesn't it fit in said place in the transformation pipeline?
Not at all, unfortunately.  The textconv conversion happens in the
final output stage and comes way too late to influence the earlier
stages like renames and pickaxe, which will still see the whole
contents outside the definition of the function main().

Re: [PATCH 06/10] log: --function-name pickaxe

From: Bhushan Lodha <hidden>
Date: 2016-06-15 23:00:53

I plan to work on this in few weeks. If anybody has more suggestion or
want to discuss the implementation let me know

On Fri, Apr 4, 2014 at 2:46 PM, Junio C Hamano [off-list ref] wrote:
Jakub Narębski [off-list ref] writes:
quoted
W dniu 2014-04-03 23:44, Junio C Hamano pisze:
quoted
René Scharfe [off-list ref] writes:
quoted
With that approach you depend on the hunk header and apparently need
to add XDL_EMIT_MOREFUNCNAMES and XDL_EMIT_MOREHUNKHEADS to improve
the results.  This approach feels fragile.

Would it perhaps be more robust to not base the implementation on diff
and instead to scan the raw file contents?
That is an interesting idea.

Perhaps this can be implemented as a new stage in the transformation
pipeline, I wonder?  There is currently no transformation that
modifies the blob contents being compared, but I do not think there
is anything fundamental that prevents one from being written.  The
new "limit to this function body" transformation would perhaps sit
before the diffcore-rename and would transform all the blobs to
empty, except for the part that is the body of the function the user
is interested in.
Well, there is 'texconv', e.g.

  .gitattributes
  *.jpg diff=jpg

  .git/config
  [diff "jpg"]
         textconv = exif
;-)  So you could define this textconv

    sed -n -e '/^int main(/,/^}/p'

to limit the output only to the definition of the function main().
quoted
Doesn't it fit in said place in the transformation pipeline?
Not at all, unfortunately.  The textconv conversion happens in the
final output stage and comes way too late to influence the earlier
stages like renames and pickaxe, which will still see the whole
contents outside the definition of the function main().

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