Re: git pull suggestion
- From
- Aghiles <aghilesk@gmail.com>
- Date
- Apr 9, 2010, 20:54 UTC
- Message-ID
- <h2m3abd05a91004091354t1b1de4aag48816d7e47cc766@mail.gmail.com>
- In-Reply-To
- <20100409034911.GA4020@coredump.intra.peff.net>
Jeff King <peff@peff.net> wrote:
Show 14 quoted lines
> 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