7

I've been working on a file in my git repository. If I have a copy of the original git version of the file, I can run diff --show-c-function to get a comparison of the 2, files, where (in theory) it shows the whole of any function which has been changed. This is really useful for working out what I did specifically to a file, in working out the comment I'd need.

However in git-diff, this option is missing. Is there some way to make this work (or am I stuck having to get 2 copies of the file before I can commit, where the git-diff response is slightly complicated)?

2 Answers 2

16

git help diff shows this option:

-W, --function-context
        Show whole surrounding functions of changes.

So, it looks like git diff -W should do what you want.

Sign up to request clarification or add additional context in comments.

Comments

1

Note that GNU diff's --show-c-function option doesn't show you the text of the C function the change (hunk) is in, it just shows you the function name in the hunk heading (after the @@ .. @@ text).

git does the same thing in its diffs by default (at least as of 1.9), and it also makes it configurable via the core.attributesfile file.

2 Comments

how to configure it using core.attributes?
@TomasM that is explained at e.g. stackoverflow.com/questions/7344577/…

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.