I want to get patches for all commits that are made to a file/folder.
I can get the list of commit-id through git log --format="%H"-- path/to/folder
Is there a way i can get generate patches from this list.
[edit]:
below code partly solves my problem
for c in `git log --format="%H" -- path/to/file`;do
git format-patch "$c^1".."$c" -o patches ;
done
since format-patch is called individually, i will get patches all numbered 0001-commit-text.patch where i will lose the order of patches. Is there any better solutions
You can try git diff initial_commit_id..latest_commit_id > changes.patch
This is based on this article: https://www.lullabot.com/articles/git-best-practices-upgrading-the-patch-process
For example:
Update: if you provide the path to the specific file as an argument to format-patch it'll only create patches for the commits with changes to that file. So no need for the loop and one-by-one invocation of format-patch. See example in format-patch for a single file
So try this: