Skip to content

Initial release

Pre-release
Pre-release

Choose a tag to compare

@OmKharade OmKharade released this 09 Jul 09:29
· 9 commits to main since this release

PyVCS: Python Version Control System

PyVCS is a lightweight version control system implemented in Python. The aim with this project is to understand of how version control systems work under the hood and have fun implementing it in Python.

Features

  • Initialize a new repository
  • Add files to version control
  • Commit changes with messages
  • View differences between current files and last commit

Installation

Clone the repository:

git clone https://github.com/OmKharade/pyvcs.git
cd pyvcs

Install the package:

pip install -e .

Usage

# Transform the current directory into a PyVCS repository:
pyvcs init

# Create an empty repository in a new subdirectory called <directory>
pyvcs init <directory>

# Add a file to version control:
pyvcs add filename.txt

# Commit changes:
pyvcs commit "Commit Message"

# View differences:
pyvcs diff filename.txt

Project Structure

pyvcs/
├── pyvcs/
│   ├── __init__.py
│   └── core.py
├── cli.py
├── setup.py
└── README.md

Future Versions

  • Improve diff algorithm (line-by-line changes)
  • Branching and Merging
  • Remote Repositories