Something went wrong on our end. Please try again.
Created by: mrnugget
This fixes #137 (closed).
Before this change src actions exec produced patches by doing the
following:
diff A B
The problem with this approach was that it didn't respect the .gitignore file in a repository.
And since we run diff outside the folder it's non-trivial to make it respect the .gitignore, which contains pattern with the assumption that the root directory is the repository.
This change here uses the following approach:
git init && git add --all --force & git commit -am "init" in directorygit add --all && git diff --cached in directory AThat gives us a proper diff produced by git, respecting .gitignore.
There's a cost involved to making a commit with all the files (since the git objects have to be written), but from manual testing I can say that it's not noticably slower than unzipping the archive a second time, as we previously did.
It also gets us rid of the dependency on diff, of which users have a
ton of different versions installed.