Getting a list of the changed files
As seen 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 ready
The same repository and HEAD
position (HEAD
pointing to b14a939
) as seen 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 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 as output changed by the commits in the range specified.
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
git help diff