As we saw in the previous recipe, where a list of fixed issues was extracted from the history, a list of all the files that have been changed since the last release can also easily be extracted. The files can be further filtered to find those that have been added, deleted, modified, and so on.
Getting a list of the changed files
Getting ready
The same repository and HEAD position (HEAD pointing to b14a939) that we saw in the previous recipe will be used. The release is also the same, which is v3.1.0.201310021548-r.
How to do it...
The following command lists all the files that have changed since the last release (v3.1.0.201310021548-r):
$ git diff --name-only v3.1.0.201310021548-r..HEAD org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.3.target org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.4.target org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/DescribeTest.java org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/FetchTest.java org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Describe.java ...
How it works...
The git diff command operates on the same revision range as git log did in the previous recipe. By specifying --name-only, Git will only give the paths of the files that were changed by the commits in the range specified as output.
There's more...
The output of the command can be further filtered: If we only want to show which files have been deleted in the repository since the last commit, we can use the --diff-filter switch with git diff:
$ git diff --name-only --diff-filter=D v3.1.0.201310021548-r..HEAD org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/SampleDataRepositoryTestCase.java org.eclipse.jgit.packaging/org.eclipse.jgit.target/org.eclipse.jgit.target.target org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/GCTest.java
There are also switches for the files that have been added (A), copied (C), deleted (D), modified (M), renamed (R), and so on.
See also
For more information, visit the Help page by running the git help diff command.