Skip to content
GitHub stars

Repository Management

Manage repositories tracked by roborev:

roborev repo list output
Terminal window
roborev repo list # List all repos with review counts
roborev repo show my-project # Show repo details and stats
roborev repo rename old-name new-name # Rename display name
roborev repo delete old-project # Remove from tracking
roborev repo merge source target # Merge reviews into another repo

Subcommands

CommandDescription
repo listList all repositories with review counts
repo show <name>Show detailed stats for a repository
repo rename <old> <new>Rename a repository’s display name
repo delete <name>Remove repository from tracking
repo merge <src> <dst>Move all reviews to another repo

Common Use Cases

Rename for Clarity

The rename command is useful when you want a friendlier display name than the directory name:

Terminal window
roborev repo rename my-project-v2 "My Project"

Consolidate Duplicates

The merge command consolidates duplicate entries (e.g., from symlinks or path changes):

Terminal window
# Reviews from /home/user/projects/myapp are stored under "myapp"
# Reviews from /home/user/work/myapp are stored under "myapp-1"
roborev repo merge myapp-1 myapp

Clean Up Old Projects

Terminal window
roborev repo list # See all tracked repos
roborev repo delete old-project # Remove one you no longer need

Multiple Clones

You can have multiple local clones of the same remote repository (e.g., ~/project-main and ~/project-feature). Each clone is tracked separately in roborev while sharing the same repository identity for sync purposes.

When using PostgreSQL Sync, reviews from teammates are intelligently matched:

  • If you have exactly one local clone with that identity, synced reviews appear there
  • If you have multiple clones, a placeholder repo is created to avoid ambiguity

How Repositories Are Tracked

roborev automatically creates a repository entry when you:

  1. Run roborev init in a repo
  2. Queue a review for a commit in a new repo
  3. Run any roborev command in an untracked repo

The default display name is the directory name. You can customize this with:

# .roborev.toml in your repo
display_name = "My Custom Name"

Git Worktrees

roborev fully supports git worktrees. Reviews are stored against the main repository, so commits made in any worktree are associated with the same review history. No configuration is needed.

Terminal window
# Create a worktree for a feature branch
git worktree add ~/projects/myapp-feature feature-branch
cd ~/projects/myapp-feature
# Reviews work normally, stored under the main repo
roborev review --branch
roborev refine
roborev tui

When running commands from a worktree:

  • Reviews are stored using the main repository path (not the worktree path)
  • The TUI shows all reviews for the repository regardless of which worktree you’re in
  • refine correctly finds and addresses reviews for commits in any worktree

Without this, you’d get duplicate repository entries, scattered reviews, and confusion about which reviews belong to which code. With worktree support, everything is consolidated under the main repository.

See Also