skirkpatrick / svc Goto Github PK
View Code? Open in Web Editor NEWSimple Version Control
License: GNU General Public License v3.0
Simple Version Control
License: GNU General Public License v3.0
Should explain proper conventions and workflow for using version control interactively. Essentially, emulate the front end of a shell prompt, leading the user through the process of creating a repo, committing, branching, merging, etc, all the while explaining what each does and why we do it. Should give the user commands and continuously prompt until input matches. Remember, this is meant to be an introductory tool into version control, so don't assume the user knows anything about it.
Shouldn't be too hard. Just reading and displaying the metadata file, basically.
Go makes unit testing stupid easy. Unit tests should be made for all packages to test for edge cases, as well as more generic tests (if possible) to assure desired functionality.
Keeping code modular is important for organization, scalability, expandability, and maintainability. To that avail, code can (almost) always be more modular, or at least organized in a more logical fashion. Don't just modularize for the sake of modularization, though.
I develop on Linux and have not tested on Windows or Mac, though I know some places with portability issues. Testing and fixes need to be done for Windows and Mac as portability is one of Go's strong suits.
It is a clean and easy way to implement command line parsing.
Similar to reset, but the user specifies how many commits to undo. This is ridiculously confusing in Git (largely due to how Git implements Refs and whatnot), but should be very straight forward in SVC.
Implement ignore functionality using a .svcignore file.
Not sure if regex or wildcards would be better. Should probably be done after #2
Straight forward. Should delete the current repo, essentially just by deleting the .svc directory. Considering letting user optionally specify a branch to delete (if no branch specified, delete entire repo).
Pretty straight forward. Should prompt for commit message and summary (no Vim). Possibly signal end with ^D. Should then write necessary data to metadata file and stash compressed versions of committed files.
Should simply restore repo to state of most recent commit.
Input needs to be much more user friendly and less verbose in the code. Output looks silly having escape characters everywhere. Simple wrappers would help a lot, and having them in their own package will allow us to persist package-scope buffers.
Should be done after branch for obvious reasons. Thinking of using kdiff or a similar tool to keep things simple.
Similar in concept to Git branches. For simplicity, just have a directory for each branch in .svc folder. Metadata file will need to be updated.
Right now most errors just cause panics. It'd be better to provide a user-friendly interface for errors.
There is no readme. There should be. Should explain ideology as well as setup instructions. A license would probably be good at some point, too.
Straight forward. Should display current status of repo.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.