Grigori Fursin edited this page May 16, 2018 · 12 revisions

[ Home ]

Table of Contents

Available actions

  • add - register repository in CK
  • create - register repository in CK
  • delete - remove repository from CK
  • pull - If shared, pull from shared repository
  • push - If shared, push and commit to shared repository
  • recache - recache all local repositories (to speed up search)
  • remove - remove repository from CK
  • rm - remove repository from CK
  • update - update repository information
  • where - find path to a local repository
  • zip - archive repository
See CK repo API for more details (can be invoked using ck webapi repo).


Creating empty local repo

Creating empty "ck-experiments" repo for some experiments:

$ ck add repo:ck-experiments --quiet

Unregistering repo from CK

Removing link to "ck-experiments" repo from CK (for example, when it is outdated and needs to be replaced or deleted)

$ ck rm repo:ck-experiments

Note, that repository will not be deleted itself. You may add --with_files to delete files as well

$ ck rm repo:ck-experiments --with_files

Pulling repo from GIT or GITHUB

Pulling shared repos from GITHUB can be done as follows:

$ ck pull repo:ck-datasets-min

This command will clone and register in CK or pull a repo from

The following command will pull repo with experiments from gfursin GITHUB user (

$ ck pull repo:cm-experiments-201408xx-fgg-motivation-compiler-flag-tuning-mess-3 --githubuser=gfursin

It is also possible to clone or pull repo from any GIT repo accessible via HTTP:

$ ck pull repo:<name> --url=<GIT url>

or via GIT:

$ ck pull repo:ck-env

If repo already cloned and registered in CK, it will be updated.

It is possible to update all repos at the same time using:

$ ck pull repo

It is also possible to update the whole CK using:

$ ck pull all

Importing repository to CK from current directory

After unlinking a given repo from CK or when someone send you a new repo (with experiments or plugins), it is possible to easily add it back. Just go to the root directory of this repo and execute:

$ ck add repo:<some name> --here --quiet

Archiving CK repo or individual entries to a zip file

Besides GIT/GITHUB, you can share archives as zip files. You can archive a given repo using the following command:

$ ck zip repo:ck-experiments

It will create an archive in your current directory.

If you would like to add individual entries use the following command:

$ ck zip (repo wildcards:)module wild cards:<data wild cards>


$ ck zip repo data=(repo wildcards:)module wild cards:<data wild cards>

For example, you can archive and share all CK modules as follows:

$ ck zip repo data=module:*
$ ck zip repo data=module:

Archiving CK repo for BitTorrent

You can zip a given repository with a name prepared for BitTorrent sharing via:

$ ck zip repo:<repo UOA> --bittorrent

This command will create a ckr-<repo></repo> archive of a given repository ready to be shared via BitTorrent. See the list of current CK repositories shared via BitTorrent here.

Importing zip archive as a new CK repo

If you received a zipped archive from your colleagues or downloaded from web (it may contain artifacts and supplement material for papers, for example), you can easily import it as CK repo (and create new CK repository) as follows:

$ ck add repo&#58;ck&#45;experiments &#45;&#45;zip&#61;ck&#45; &#45;&#45;quiet

Note, that you can also automatically download zip archive from the web and import it as CK repo as follows:

&#61;&#61; Importing zip archive to an existing CK repo &#61;&#61;

You may import zip archive to an existing CK repo using 
$ ck unzip repo&#58;&lt;CK repo UOA&gt; &#45;&#45;zip&#61;&lt;archive or URL&gt;

This is useful when sharing some individual entries (such as experiment results or models) between users.

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.