Skip to content

Quick Start

Compare the last two commits in your current repo:

Terminal window
symtrace . HEAD~1 HEAD

That’s it. symtrace will show you what functions, classes, and variables were added, removed, moved, renamed, or modified.

Terminal window
# Compare two specific commits
symtrace /path/to/repo a1b2c3d 9f8e7d6
# Compare a feature branch against main
symtrace /repos/project main feature/my-feature
# Compare two release tags
symtrace /repos/project v1.0.0 v2.0.0
Terminal window
# Only show logic changes (ignore comments and whitespace)
symtrace . HEAD~1 HEAD --logic-only
# Get JSON output for scripting
symtrace . HEAD~1 HEAD --json
# Combine both
symtrace . HEAD~5 HEAD --logic-only --json
src/server.rs
+ [INSERT] function 'handle_request' inserted (L42)
~ [MODIFY] function 'parse_body' modified (L10 -> L10) [75% similar]
r [RENAME] function renamed: 'old_name' -> 'new_name' (L5) [98% similar]
- [DELETE] function 'deprecated_fn' deleted (L88)
m [MOVE] function 'helper' moved (L20 -> L35) [100% similar]
Summary
Files: 1 | Moves: 1 | Renames: 1 | Inserts: 1 | Deletes: 1 | Modifications: 1

See the CLI Reference for all arguments and options.