From: Aghiles Date: Fri, 09 Apr 2010 20:54:41 GMT Subject: Re: git pull suggestion Message-ID: In-Reply-To: <20100409034911.GA4020@coredump.intra.peff.net> Jeff King wrote: > It is possible to manually get the answer you want, or close to it. You > are looking for the intersection of files modified by you and files > modified by the upstream. So: > >  # unique list of modified working tree files and index entries >  $ (git diff-files --name-only; >     git diff-index --name-only HEAD >    ) | sort -u >us >  # files that will be changing as part of merge >  $ git diff-tree --name-only $HEAD_TO_MERGE_FROM | sort >them >  $ comm -12 us them > > where $HEAD_TO_MERGE_FROM in my example would be "other", but in the > case of a pull, would probably be FETCH_HEAD. It works. You actually need the -r flag to 'git diff-tree' (recursive) in order to list the actual files and not only their parent directories. So it becomes: $ (git diff-files --name-only; git diff-index --name-only HEAD ) | sort -u>us $ git diff-tree -r --name-only $HEAD_TO_MERGE_FROM | sort > them $ comm -12 us them Thank you very much, -- aghiles