Source review support tool
A tool to create a module dependency graph for the D language. The feature is that you can record snapshots in two versions and compare them to visualize the differences.
basic
no core, no std
exclude rx.subject
- dub
- Graphviz (for visualize)
"configurations": [
{
"name": "default"
},
{
"name": "diff",
"postGenerateCommands": [
"dub build -c makedeps",
"dub fetch ddeps",
"dub run ddeps -- --focus=rx -o deps.dot",
"dot -Tsvg -odeps.svg deps.dot"
]
},
{
"name": "diff-update",
"postGenerateCommands": [
"dub fetch ddeps",
"dub run ddeps -- --update"
]
},
{
"name": "makedeps",
"dflags": ["-deps=deps.txt"]
}
]
"configurations": [
{
"name": "default"
},
{
"name": "diff",
"postGenerateCommands": [
"dub build -c makedeps",
"dub fetch ddeps",
"dub run ddeps -- -o deps.dot",
"dot -Tsvg -odeps.svg deps.dot"
]
},
{
"name": "diff-update",
"postGenerateCommands": [
"dub fetch ddeps",
"dub run ddeps -- --update"
]
},
{
"name": "makedeps",
"dflags": ["-deps=deps.txt"]
}
]
create lock file
dub build -c makedeps
dub build -c diff-update
- Modify source
- Update diff
dub build -c diff
- Do review with the dependency graph diff
- Open the
deps.svg
in browser
- Open the
- checkout a target version
git reset --hard XXX
orgit checkout XXXXX
- reset to source version
git reset --hard HEAD~10
(e.g. 10 versions ago)
- create
deps-lock.txt
dub build -c makedeps
dub build -c diff-update
- if
dub.json
/dub.sdl
has not configure then add these.
- reset to target version
git reset --hard ORIG_HEAD
- make diff
dub build -c diff
- open
deps.svg
name | Usage | description | default |
---|---|---|---|
input | -i XXX or --input=XXX |
deps file name | deps.txt |
output | -o XXX or --output=XXX |
destination file name | write to stdout |
update | -u or --update |
update lock file | false |
lock | -l XXX or --lock=XXX |
lock file name | deps-lock.txt |
focus | -f XXX or --focus=XXX |
filtering target by name | app |
depth | -d N or --depth=N |
search depth | 1 |
exclude | -e XXX [-e YYY] or --exclude=XXX [--exclude=YYY] |
exclude module names | object |
help | --help |
show help |