Search code examples
gitdiffpatchreview-board

Creating a git diff from nothing


I am trying to create a patch file to be used via reviewboard.
It will be the initial patch.

diff -ruN --exclude=.git empty_dir working_dir > mypatch_00.patch works but I am getting a "The selected file does not appear to be a diff." error.

Is there any way to get it working using git-diff or diff? Thank you


Solution

  • If you want to get diff for your initial commit (maybe I misunderstood your question), you can display it using

    git show COMMIT
    

    Alternatively to get it as file:

    git format-patch -1 COMMIT
    

    Where COMMIT is revision of this commit. If this is your current commit as well, you don't have to specify it at all.

    However if your commit is not initial and you want to get full diff for your history, you need to create empty branch first:

    git checkout --orphan empty         # Create orphaned branch
    git read-tree --empty               # Remove all files from index
    git commit --allow-empty -m 'Empty' # Initial commit
    

    Now you can do full diff against empty branch:

    git diff empty..master