1.0.2 • Published 8 years ago

codefellows-lab-cloner v1.0.2

Weekly downloads
-
License
MIT
Repository
-
Last release
8 years ago

Organization Clone tool

Disclaimer: This doc is very much a work in progress, as is the tool.

This is a tool for cloning a the lab content from a 301 or 401 Guide Repo, and populating a new org with the content for each lab as a stand-alone repo. It also creates a local copy of the content for late use/updates.

Notes:

  • You need to cd into the guide repo that you want to clone from in order for this tool to be effective and function correctly.
  • You need to create the new organization on GitHub and have the name of that organization available for use with the clone command.

Installation

Install via NPM

$ npm install -g codefellows-lab-cloner

Once installed globally, the clone command will be available for use anywhere on your system, though it is specifically intended for use with a Codefellows Guide Repository.

GitHub Personal Access Token

A Personal Access Token is required for this application to access your Github Account and create new repositories.

export GITHUB_TOKEN='yourPersonalAccessToken'

For long term usage, the above line (including your own token) should be added to your terminal config; .bashrc, .zshrc, or otherwise.

Usage

Usage: clone [-h] [-v] --destination seattle-301d22 [--publish]


Useful tool for cloning the full contents of a public organization on Github
into a new organization. Propagates the repos locally, creates the repos in your
new org, and then resets the remote locally for each repo before pushing the
current content.

Optional arguments:
  -h, --help            Show this help message and exit.

  -v, --version         Show program's version number and exit.

  --destination seattle-301d23, -D -seattle-301d23
                        Provide the full name, not including the Github
                        Domain, of the organization that you are creating.
                        Note: You must create this org on GH prior to
                        completing this step

  --publish, -P         Designate whether to publish repository content to your new
                        org, or exit the process after changing the Origin

Example

clone -D seattle-301d23 -P

The above command will read the current contents of any directory in the Guide repo, specifically looking for any directory with a LAB.md file. Each qualifying directory will be migrated to a new directory at a 'sibling' level (ex: 301-guide/../seattle-301d23) to the Guide repo, and those qualifying directories will be issued a new reposity in the organziation. Each new repo will also be given a git remote <url> for automated or manual publishing of the LAB.md content. Automated publishing is accomplished through the use of the -P flag.