- Based on the JSON documents produced by Graal and its source code, try to answer the following questions:
- With the help of Perceval's
Git
backend,fetch()
retrieves from a Git repository a list of commits and supports the inclusion of code analysis information. - Commits are returned in the same order they were obtained.
NOTE: All the below methods which are common across Graal
backends requires a Perceval
's commit object from it's Git
backend.
- This method filters a commit from a local Git repository according to its data (e.g. author, sha, etc.)
- This method analyzes a commit and the corresponding checkout version of the repository.
- For example: In case of
CoLic
Backend analysis can be performed on license information with the help of either NOMOS or SCANCODE tool.
- This method performs operation (e.g. removing some attributes from the commit generator) on the Graal item obtained.
- This command helps us create a working tree of the cloned repository with the active branch set to
master
by default. - With this we're able to perform
checkout
operations on the repository which cannot be performed on a clonedbare
repository. command
:
# To attach a worktree
$ git worktree add <worktree_path> <branch_name>
# When you are done with a linked working tree you can simply prune it.
$ git worktree prune
- This command helps us checkout all the content of the repository for a given commit hash.
- With this the content at every commit can be individually analyzed.
command
:
# to checkout a commit
$ git checkout <commit_hash>
This concludes microtask #7