Skip to content

markusressel/zfs-file-history

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

508 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zfs-file-history

Terminal UI for inspecting and restoring file history on ZFS snapshots.

Programming Language Latest Release License

Features

  • 📁 File browser: Navigate datasets and snapshot contents in a terminal-based file explorer.
  • ⌨️ Keyboard-first navigation: Use arrow keys and optional Vim key bindings for efficient traversal.
  • 🔍 Diff-style change view: Inspect file changes between snapshots with a Git-like visual diff representation.
  • 🕘 Snapshot version lookup: Move through snapshots to locate the required file revision.
  • ↕️ Column-based sorting: Sort table entries by any supported column in ascending or descending order.
  • ♻️ Point-in-time restore: Restore a selected file directly from a selected snapshot.
  • 🗂️ Snapshot lifecycle actions: Create and destroy snapshots from within the UI.

How to use

Installation

Arch Linux

yay -S zfs-file-history-git
Community Maintained Packages

None yet

Manual

Compile yourself:

git clone https://github.com/markusressel/zfs-file-history.git
cd zfs-file-history
make deploy

Configuration

Note: The configuration is optional and currently only contains debugging settings.

Then configure zfs-file-history by creating a YAML configuration file in one of the following locations:

  • /etc/zfs-file-history/zfs-file-history.yaml (recommended)
  • /home/<user>/.config/zfs-file-history/zfs-file-history.yaml
  • ./zfs-file-history.yaml
mkdir -P ~/.config/zfs-file-history
nano ~/.config/zfs-file-history/zfs-file-history.yaml

Example

An example configuration file including more detailed documentation can be found in zfs-file-history.yaml.

Dependencies

See go.mod

Similar Projects

License

zfs-file-history
Copyright (C) 2023  Markus Ressel

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

About

Terminal UI for inspecting and restoring file history on ZFS snapshots.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Contributors