clone.io
A tool for cloning resources and their subresources, and operating on them (both the clones and the origins) in a manner similar to git.
installing
$ npm install -g clone.io
listing types of resources
$ clone.io listgitgithub
viewing the url matchers
$ clone.io githubdomain: github.commatchers:user: https://github.com/:usernamerepo: https://github.com/:username/:repo
cloning
big resource
This will create a git repository in a directory called substack, download and commit his metadata, and clone all of his repositories into it.
$ clone.io https://github.com/substack
smaller resource
This will clone express, add /issues
and /wiki
to
.git/info/exclude
, create an issues repository and use the GitHub
API to pull down the issues and commit them as YAML files, and clone
the wiki into the wiki directory.
$ clone.io http://github.com/visionmedia/express
getting the rest
Note that when cloning github user account (a big resource), it doesn't pull in as much of each repository (a smaller subresource) as cloning an individual repository does. To get the rest of a repository, after grabbing by cloning the user's account:
$ clone.io http://github.com/substack$ cd substack/traverse$ ls -d issuesls: issues: No such file or directory$ clone.io pull$ ls -d issuesissues
updating
You guessed it! It will pull down the default amount of data for the level of resource plus whatever's been pulled down so far.
$ clone pull
status
Not yet implemented. Needs at least one child service implemented first.
todo
- Make the CLI design a closer match to git
- Design the CLI to pull down less by default
- Separate cloning more resources from updating the resources already cloned
- Keep the services and the commands separate
- Implement a child service
- Implement integration
license
MIT.