LazySVN

NAME

lazysvn — a keyboard-driven terminal UI for Subversion

SYNOPSIS

lazysvn                  # run inside an svn working copy
lazysvn update [tag]     # self-update (curl / PowerShell installs)
lazysvn uninstall
lazysvn --version
$ curl -fsSL https://lazysvn.sawirstudio.com/install.sh | sh

Latest release: v0.4.2 · other platforms under INSTALL

DEMO

This is the real interface, running in your browser on a fake working copy. Click it and use the keys: j/k to move, space to mark, d for a diff, v to revert, c to commit.

DESCRIPTION

lazysvn puts a Subversion working copy on one screen: the changed files on the left, a diff or log on the right, and every action a single key away. It drives your existing svn client, so it works with any repository you can already reach.

  • Status that understands svn. Reads svn status --xml, so changelists, externals and tree conflicts show up as what they are.
  • Side-by-side diffs that follow the cursor. Narrow terminals get a unified diff instead. Property changes and lines like -- comment are parsed correctly.
  • Logs. The last 20 log entries for any file, one key away.
  • Batch actions. Mark files with space, then commit, add or revert them together. Revert lists every path it will touch before you confirm.
  • Safe by construction. One working-copy-changing command runs at a time, so lazysvn never races svn for its lock or shows a stale list.
  • One small binary. Linux, macOS and Windows on amd64 and arm64. The only thing it needs is the svn command-line client.

KEYS

j k ↑ ↓
move
g G
top / bottom
space
mark / unmark file
esc
clear all marks
d enter
diff the selected file (follows the cursor)
l
recent log (20 entries) for the selected file
c
commit marked files, or the current one
a
svn add marked/current unversioned (?) files
v
revert marked/current files (lists them first)
u
svn update
r
refresh status
h ?
help
q ctrl+c
quit

INSTALL

# Homebrew (pulls in Subversion if you don't have it)

$ brew install sawirstudio/tap/lazysvn

# or the install script, into ~/.local/bin

$ curl -fsSL https://lazysvn.sawirstudio.com/install.sh | sh

Then cd into any svn working copy and run lazysvn. Prebuilt archives and checksums.txt for every platform are on the releases page.

AUTHOR

Written and maintained by Sawir Studio LLC, a small studio that builds software for clients and ships its own:

sawirly
privacy-first URL shortener: no tracking, links that can expire
sawirpost
write a post once, publish it to 25+ social channels on schedule
rindraw
drawing app where every stroke stays editable; pay once for iPad, iPhone and Mac
par
RPN financial calculator for iPhone and iPad: TVM, NPV, IRR, bonds
cleanstorage
finds duplicate photos and large videos on your iPhone; no ads, no subscription
math-daily
a mental math habit for kids, one minute a day

all projects · hire us

SEE ALSO

svn(1), lazygit(1) — the TUI that inspired this one.

source · bugs · releases