see cloudmesh.cmd5
pip install cloudmesh-git
git clone https://github.com/cloudmesh/cloudmesh-git.git
git clone https://github.com/cloudmesh/cloudmesh-common.git
cd cloudmesh-git
To create a while instalation you can say
make local
To create an editable instalation with pip use
make pip
- create gh class
- develop api for most useful things for us
What is most useful
- create repo given name in csv file with
- firstname, lastname, githubid, hid (hid we define and is incremental number, hid)
- add README.md
- add LICENSE
- add a directory copy from a sample repo
- latex document
- markdown document
- cloudmesh dir with small readme how to create a cms command
Continued work was in part funded by the NSF CyberTraining: CIC: CyberTraining for Students and Technologies from Generation Z with the awadrd numbers 1829704 and 2200409.
Command git
===========
::
Usage:
git contribution
git committers
git create issue --repo=REPO --file=FILE [--title=TITLE] [--org=ORG]
git create repository FIRSTNAME LASTNAME GITHUBID [--org=ORG]
git create repository --file=FILE [--org=ORG]
git list all [--exclude=ORG]
git list --org=ORG [MATCH]
git copy FROM TO DIRS... [--move=TMP]
git set ssh [DIRS]
git --refresh
git clone all [--force=no]
git pull all [--dryrun]
git pull [--dryrun] DIRS...
git status [--dryrun] [--changed] [--verbose] DIRS...
git upload
git log
git versions [--repo=REPO]
git issues [--repo=REPO] [--assignee=ASSIGNEE] [--format=HTML] [--out=a.html] [--refresh]
git delete [--tag=TAG] [--dryrun]
This command does some useful things.
Arguments:
FILE a file name
ORG [default: cloudmesh-community]
MATCH is a string that must occur in the repo name or description
--file=FILE specify the file
--repo=REPO a parameterized list of repo links. If cloudmesh- is the prefix it will be
automatically replaced by the repo url. REPO is a parameterized list with
comma separated so that multiple repos can be used.
If REPO is a filename, each line specifies a repo. the cloudmesh prefix
replacement is applied on each line
If repo is . or the parameter is omitted, all directories in the current
directory are used to list their issues
--assignee=ASSIGNEE a list of assignees so only issues for these users are displayed
if it is ommitted all issues for assignees are displayed.
--refresh only download the GitHub issue list if --refresh is uses, otherwise it uses a local cache in
~/.cloudmesh/issuelist.json
--tag=TAG A list of tags that can be specified with number ranges.
E.g. v100.0.[4-6] will give the tags v100.0.4, v100.0.5, v100.0.6
--dryrun onyl disply, but do not run the deletion
--changed only display repos that have changes
--verbose prints verbose information
Options:
--force=no pull the repository if it already exists in current working directory [default: no]
Description:
The organization is set by default to
cloudmesh-community
git --refresh
Finds all organizations and repositories the current user belongs to
redirects automatically to ~/cloudmesh/git/repo-list.txt
git clone all [--force=no]
Uses all organizations and repositories of the user and
clones them into the current directory, while making each
organization in its own subdirectory
uses automatically ~/cloudmesh/git/repo-list.txt
which can be created with cms git list all.
if force is yes then it pulls preexisting directories.
git set ssh
Switches the repository to use ssh
git list --org=ORG
Lists the repos of the organization
git list all [--exclude=ORG]
Gets info of all repos of the current in user. It puts
the result in ~/.cloudmesh/gitcache.txt.
To exclude an organization, add it to the end of exclude
parameter.
git create issue --repo=REPO FILE
Create an issue in the given repos.
Note that the repos is a string defined as
cloudmesh.Parameter, E.g. fa19-516-[100-103,105]
effects the repos ending with 100, 101, 102,
103, and 105
The bundle is defined in cloudmesh-installer
git create repo NAME FIRSTNAME LASTNAME GITHUBID
Creates the repo
git create repo --file=repos.csv
Creates repos from a file in csv format
the format in th csv file is
reponame,lastname,firstname,githubid
git copy FROM TO
Copies a directory from one repo to the other.
git pull cloudmesh-*
Assuming in your directory there are cloudmesh source repositories
this command does a git pull on all of them. Using . as the directory
will pull all repos in the current directory.
git issuelist
Creates html file of all issues assigned to logged-in
user. assumes that the user is standing in cm
directory
git log
A very short log sorted by date
Examples:
git copy FROM TO
git copy cloudmesh/cloudmesh-cloud cloudmesh/cloudmesh-db admin
Creates a script move.sh that copies the directory admin
with history to the cloudmesh-db repo into a folder move
From there you can use git mv to place the content where you
like. The reason we put it in move is that there may be another
dir already in it with tha name.
git list Park
Lists all repos with the name Park in it or its description
git list fa19-523
Lists all repos with the string fa19-523 in its name
cms git versions
returns information about the versions of the current repo. An example is
> Checking versions for .
> current_branch : main
> latest_tag : v5.0.5
> VERSION : 5.0.5
> github_version : 5.0.5
> pypi_version : 5.0.5
> last_commit_hash : aa29c031f22af42f8e54af44afbf5d8ca4d801fe
> last_version_hash: d82b47cc62c6149d4d14b471a38d85dd5a43a93a
> last_commit_date : 2023-12-22 21:08:13 -0500
> last_version_date: 2023-12-22 21:05:29 -0500
> time_difference : 2m 44s
> commits_after_tag: 1