Enterprise-grade, POSIX-compliant Bash script for local file versioning. It replaces standard text editors by managing checkouts, checkins, locks, and differential comparisons within a transparent .vc hidden directory.
- Zero-Dependency History: Tracks file versions locally in
.vc/without requiring Git or SVN. - Automatic Shebang Detection: Appends revision comments directly beneath
#!/bin/bashor other interpreter headers without breaking execution. - Syslog Integration: All critical actions (checkout, checkin, revert, delete) are logged to the system journal via
logger -t vc. - Dynamic Dependency Resolution: Automatically detects missing comparison binaries (
colordiff,git) and invokesapt-get,dnf, oryumto install them if requested. - Strictly Numeric Navigation: Terminal interfaces map dynamically to array lengths, removing string-parsing vulnerabilities.
- Flexible options for editors & diff tools.
- Clone the repo
git clone https://github.com/meirlazar/VCO_SCRIPT.git - Make vco executable
cd VCO_SCRIPT/; chmod +x vco - Copy vco into your path
sudo cp vco /usr/local/bin/vco
- Instead of using your normal editor like vi/vim to edit a file, use vco.
vco filename - Use vco to move, delete, rename etc to safely move,remove, or rename your version history
- Menu driven for check-out, check-in, revert changes, compare versions, etc.
- All revisions stored locally in the directory that the file exists in under .vc/
- Make an alias to "force" yourself to use the vco tool. Add this to your ~/.bashrc
alias vim='/usr/local/bin/vco'