https://github.com/matmoore/version-control-system
A project to learn kotlin
https://github.com/matmoore/version-control-system
Last synced: about 1 year ago
JSON representation
A project to learn kotlin
- Host: GitHub
- URL: https://github.com/matmoore/version-control-system
- Owner: MatMoore
- Created: 2022-07-28T14:42:30.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-10-06T16:05:03.000Z (over 3 years ago)
- Last Synced: 2025-02-08T12:47:08.609Z (over 1 year ago)
- Language: Kotlin
- Size: 79.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Version control system
A toy version control system.
This started as a practice project to learn Kotlin, based on https://hyperskill.org/projects/177
## Installation
- TODO
## Notable differences from git
1. There is no selective committing of tracked files. Files can be either tracked or untracked.
When you commit, all tracked files are committed.
2. There is no status command.
3. The add command returns a list of tracked files when called with no arguments
## Implemented commands
- config
- add
- commit
- log
- checkout
## Bugs
- you can commit twice without changing anything
- checkout breaks if there is no HEAD file
## Weirdness
- after a checkout, you can have files left over from a later commit
- you can see tracked files, but not untracked files
## Missing functionality
- removing files
- pager for log
- timestamps for commits
- branching, merging, rebasing
- reverting, amending
## Other ideas
- Predict conflicts before overwriting working tree with conflicting files