google / recursive-version-control-system Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
The export
and import
commands allow you to write/read a subset of the versioned files to/from a zip file.
That, in turn, is used by the push and pull helper for local files.
We should integrate with the age encryption tool to allow those zip files to be encrypted, and correspondingly update the rvcs-push-file
and rvcs-pull-file
extensions to support this new encryption feature.
We should create sign/verify helpers that integrate with Sigstore.
At a minimum I would like to have some support for keyless signing similar to what https://github.com/wlynch/smimecosign provides for git.
Additionally, it might be good to have any other sign/verify helpers (such as the ones for SSH keys) write entries to the Rekor transparency log that can be later verified.
The user's ~/.rvcs/archive
directory only maintains the history that the user still cares about, and does not require an excessive amount of additional storage versus the user's actual file contents.
The user's ~/.rvcs/archive
directory grows without bounds and contains full copies of every version of every file tracked.
To reproduce the issue of the directory growing without bound:
To reproduce the issue of a full copy of every version of every file being retained:
~/.rvcs/archive/objects/
for the contents of the two different versions of the file which differ by only one character.One way that we could fix both issues would be to add something like a rvcs cleanup
command that would do the following:
~/.rvcs/archive/paths/
, and find all of the objects reachable from those paths~/.rvcs/archive/
directory~/.rvcs/archive/objects/
directory~/.rvcs/archive/objects/
that were not reachable from any of the paths~/.rvcs/archive/paths/
and ~/.rvcs/archive/cache
that do not correspond to any currently mapped pathsFor the last two steps, we would need to take extra care to make sure that we do not have any race conditions with simultaneous runs of the rvcs snapshot
or rvcs merge
commands.
Additionally, we would need to extend the tool to be able to read objects from the zip file under the ~/.rvcs/archive/
directory if they are not in the ~/.rvcs/archive/objects/
directory.
Hello!
This is very interesting project. Can you create some easy issues and labels like 'good first issue' etc.?
I will be glad to contribute.
The rvcs local file storage uses two separate subdirectories for storing data:
objects
for objects less than 1MB in size.largeObjects
for all objects larger than 1MB.This is so that the largeObjects
subdirectory can be made into a symlink pointing to an external storage service (such as an external drive or network-attached-storage), and prevent the rvcs archive from taking up all of the space on your local disk.
However, you probably want files to be encrypted before being written to an external storage system, so we should support that.
We should add some sort of support for configuration settings.
Things that I can think of that would make for good options to have settings for:
~/.Trash
directoryA 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.