Documentation
=============
[![GitHub Repo](https://img.shields.io/badge/github-repo-green.svg)](https://github.com/cloudmesh/cloudmesh-git)
[![image](https://img.shields.io/pypi/pyversions/cloudmesh-git.svg)](https://pypi.org/project/cloudmesh-git)
[![image](https://img.shields.io/pypi/v/cloudmesh-git.svg)](https://pypi.org/project/cloudmesh-git/)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![General badge](https://img.shields.io/badge/Status-Production-<COLOR>.svg)](https://shields.io/)
[![GitHub issues](https://img.shields.io/github/issues/cloudmesh/cloudmesh-git.svg)](https://github.com/cloudmesh/cloudmesh-git/issues)
[![Contributors](https://img.shields.io/github/contributors/cloudmesh/cloudmesh-git.svg)](https://github.com/cloudmesh/cloudmesh-git/graphs/contributors)
[![General badge](https://img.shields.io/badge/Other-repos-<COLOR>.svg)](https://github.com/cloudmesh/cloudmesh)
[![Linux](https://img.shields.io/badge/OS-Linux-orange.svg)](https://www.linux.org/)
[![macOS](https://img.shields.io/badge/OS-macOS-lightgrey.svg)](https://www.apple.com/macos)
[![Windows](https://img.shields.io/badge/OS-Windows-blue.svg)](https://www.microsoft.com/windows)
see cloudmesh.cmd5
* https://github.com/cloudmesh/cloudmesh.cmd5
## Installation
```bash
pip install cloudmesh-git
```
## Development Intsllation
```bash
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
```bash
make local
```
To create an editable instalation with pip use
```bash
make pip
```
## TODO
* 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<number>)
* 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
## Acknowledgments
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.
## Manual Page
<!-- START-MANUAL -->
```
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
```
<!-- STOP-MANUAL -->
Raw data
{
"_id": null,
"home_page": "",
"name": "cloudmesh-git",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "Gregor von Laszewski <laszewski@gmail.com>",
"keywords": "helper library,cloudmesh",
"author": "",
"author_email": "Gregor von Laszewski <laszewski@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/37/fa/f9ed48da46aa18c320836df138b8ebde6e4dd84408b6f340d66375f31707/cloudmesh-git-5.0.9.tar.gz",
"platform": null,
"description": "Documentation\n=============\n\n\n[![GitHub Repo](https://img.shields.io/badge/github-repo-green.svg)](https://github.com/cloudmesh/cloudmesh-git)\n[![image](https://img.shields.io/pypi/pyversions/cloudmesh-git.svg)](https://pypi.org/project/cloudmesh-git)\n[![image](https://img.shields.io/pypi/v/cloudmesh-git.svg)](https://pypi.org/project/cloudmesh-git/)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\n[![General badge](https://img.shields.io/badge/Status-Production-<COLOR>.svg)](https://shields.io/)\n[![GitHub issues](https://img.shields.io/github/issues/cloudmesh/cloudmesh-git.svg)](https://github.com/cloudmesh/cloudmesh-git/issues)\n[![Contributors](https://img.shields.io/github/contributors/cloudmesh/cloudmesh-git.svg)](https://github.com/cloudmesh/cloudmesh-git/graphs/contributors)\n[![General badge](https://img.shields.io/badge/Other-repos-<COLOR>.svg)](https://github.com/cloudmesh/cloudmesh)\n\n\n[![Linux](https://img.shields.io/badge/OS-Linux-orange.svg)](https://www.linux.org/)\n[![macOS](https://img.shields.io/badge/OS-macOS-lightgrey.svg)](https://www.apple.com/macos)\n[![Windows](https://img.shields.io/badge/OS-Windows-blue.svg)](https://www.microsoft.com/windows)\n\nsee cloudmesh.cmd5\n\n* https://github.com/cloudmesh/cloudmesh.cmd5\n\n\n## Installation\n\n```bash\npip install cloudmesh-git\n```\n\n## Development Intsllation\n\n```bash\ngit clone https://github.com/cloudmesh/cloudmesh-git.git\ngit clone https://github.com/cloudmesh/cloudmesh-common.git\ncd cloudmesh-git\n```\n\nTo create a while instalation you can say\n\n```bash\nmake local\n```\n\nTo create an editable instalation with pip use\n\n```bash\nmake pip\n```\n\n\n\n## TODO\n\n* create gh class\n* develop api for most useful things for us\n\nWhat is most useful\n\n* create repo given name in csv file with\n * firstname, lastname, githubid, hid (hid we define and is incremental number, hid<number>) \n * add README.md\n * add LICENSE\n * add a directory copy from a sample repo\n * latex document\n * markdown document\n * cloudmesh dir with small readme how to create a cms command\n \n## Acknowledgments\n\nContinued work was in part funded by the NSF\nCyberTraining: CIC: CyberTraining for Students and Technologies\nfrom Generation Z with the awadrd numbers 1829704 and 2200409. \n\n\n\n## Manual Page\n\n<!-- START-MANUAL -->\n```\nCommand git\n===========\n\n::\n\n Usage:\n git contribution\n git committers\n git create issue --repo=REPO --file=FILE [--title=TITLE] [--org=ORG]\n git create repository FIRSTNAME LASTNAME GITHUBID [--org=ORG]\n git create repository --file=FILE [--org=ORG]\n git list all [--exclude=ORG]\n git list --org=ORG [MATCH]\n git copy FROM TO DIRS... [--move=TMP]\n git set ssh [DIRS]\n git --refresh\n git clone all [--force=no]\n git pull all [--dryrun]\n git pull [--dryrun] DIRS...\n git status [--dryrun] [--changed] [--verbose] DIRS...\n git upload\n git log\n git versions [--repo=REPO]\n git issues [--repo=REPO] [--assignee=ASSIGNEE] [--format=HTML] [--out=a.html] [--refresh]\n git delete [--tag=TAG] [--dryrun]\n\n This command does some useful things.\n\n Arguments:\n FILE a file name\n ORG [default: cloudmesh-community]\n MATCH is a string that must occur in the repo name or description\n --file=FILE specify the file\n --repo=REPO a parameterized list of repo links. If cloudmesh- is the prefix it will be\n automatically replaced by the repo url. REPO is a parameterized list with\n comma separated so that multiple repos can be used.\n If REPO is a filename, each line specifies a repo. the cloudmesh prefix\n replacement is applied on each line\n If repo is . or the parameter is omitted, all directories in the current\n directory are used to list their issues\n --assignee=ASSIGNEE a list of assignees so only issues for these users are displayed\n if it is ommitted all issues for assignees are displayed.\n --refresh only download the GitHub issue list if --refresh is uses, otherwise it uses a local cache in\n ~/.cloudmesh/issuelist.json\n --tag=TAG A list of tags that can be specified with number ranges.\n E.g. v100.0.[4-6] will give the tags v100.0.4, v100.0.5, v100.0.6\n --dryrun onyl disply, but do not run the deletion\n --changed only display repos that have changes\n --verbose prints verbose information\n\n Options:\n --force=no pull the repository if it already exists in current working directory [default: no]\n\n Description:\n\n The organization is set by default to\n cloudmesh-community\n\n git --refresh\n Finds all organizations and repositories the current user belongs to\n redirects automatically to ~/cloudmesh/git/repo-list.txt\n\n git clone all [--force=no]\n Uses all organizations and repositories of the user and\n clones them into the current directory, while making each\n organization in its own subdirectory\n uses automatically ~/cloudmesh/git/repo-list.txt\n which can be created with cms git list all.\n if force is yes then it pulls preexisting directories.\n\n git set ssh\n Switches the repository to use ssh\n\n git list --org=ORG\n Lists the repos of the organization\n\n git list all [--exclude=ORG]\n Gets info of all repos of the current in user. It puts\n the result in ~/.cloudmesh/gitcache.txt.\n To exclude an organization, add it to the end of exclude\n parameter.\n\n git create issue --repo=REPO FILE\n Create an issue in the given repos.\n Note that the repos is a string defined as\n cloudmesh.Parameter, E.g. fa19-516-[100-103,105]\n effects the repos ending with 100, 101, 102,\n 103, and 105\n\n The bundle is defined in cloudmesh-installer\n\n git create repo NAME FIRSTNAME LASTNAME GITHUBID\n Creates the repo\n\n git create repo --file=repos.csv\n Creates repos from a file in csv format\n the format in th csv file is\n\n reponame,lastname,firstname,githubid\n\n git copy FROM TO\n Copies a directory from one repo to the other.\n\n git pull cloudmesh-*\n Assuming in your directory there are cloudmesh source repositories\n this command does a git pull on all of them. Using . as the directory\n will pull all repos in the current directory.\n\n git issuelist\n Creates html file of all issues assigned to logged-in\n user. assumes that the user is standing in cm\n directory\n\n git log\n A very short log sorted by date\n\n Examples:\n\n git copy FROM TO\n\n git copy cloudmesh/cloudmesh-cloud cloudmesh/cloudmesh-db admin\n\n Creates a script move.sh that copies the directory admin\n with history to the cloudmesh-db repo into a folder move\n\n From there you can use git mv to place the content where you\n like. The reason we put it in move is that there may be another\n dir already in it with tha name.\n\n git list Park\n Lists all repos with the name Park in it or its description\n\n git list fa19-523\n Lists all repos with the string fa19-523 in its name\n\n cms git versions\n returns information about the versions of the current repo. An example is\n\n > Checking versions for .\n > current_branch : main\n > latest_tag : v5.0.5\n > VERSION : 5.0.5\n > github_version : 5.0.5\n > pypi_version : 5.0.5\n > last_commit_hash : aa29c031f22af42f8e54af44afbf5d8ca4d801fe\n > last_version_hash: d82b47cc62c6149d4d14b471a38d85dd5a43a93a\n > last_commit_date : 2023-12-22 21:08:13 -0500\n > last_version_date: 2023-12-22 21:05:29 -0500\n > time_difference : 2m 44s\n > commits_after_tag: 1\n\n```\n<!-- STOP-MANUAL -->\n",
"bugtrack_url": null,
"license": "Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ Copyright 2017-2021 Gregor von Laszewski, Indiana University Copyright 2021,2022 Gregor von Laszewski, University of Virginia Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ",
"summary": "A cloudmesh command to bump the version in cloudmesh projects",
"version": "5.0.9",
"project_urls": {
"Changelog": "https://github.com/cloudmesh/cloudmesh-git/blob/main/CHANGELOG.md",
"Documentation": "https://github.com/cloudmesh/cloudmesh-git/blob/main/README.md",
"Homepage": "https://github.com/cloudmesh/cloudmesh-git",
"Issues": "https://github.com/cloudmesh/cloudmesh-git/issues",
"Repository": "https://github.com/cloudmesh/cloudmesh-git.git"
},
"split_keywords": [
"helper library",
"cloudmesh"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "056f159a74ae212e7385d08c9f7457d94b2dda621dc65618d1e59d1be415e6c6",
"md5": "7c2b1cc5a1e983ac44f3b39d0918990d",
"sha256": "96490219d9fce80af8169fd8c930be3ba8a57de3c3de5c42571fe336a9670b4f"
},
"downloads": -1,
"filename": "cloudmesh_git-5.0.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7c2b1cc5a1e983ac44f3b39d0918990d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 18667,
"upload_time": "2024-01-10T13:19:42",
"upload_time_iso_8601": "2024-01-10T13:19:42.797683Z",
"url": "https://files.pythonhosted.org/packages/05/6f/159a74ae212e7385d08c9f7457d94b2dda621dc65618d1e59d1be415e6c6/cloudmesh_git-5.0.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "37faf9ed48da46aa18c320836df138b8ebde6e4dd84408b6f340d66375f31707",
"md5": "1824d2f281c664ea17d7ac28f3cbc464",
"sha256": "bc55cc34b771cb0b5b88cca3bf326fa9cd460717048369195ad4142ee98aed49"
},
"downloads": -1,
"filename": "cloudmesh-git-5.0.9.tar.gz",
"has_sig": false,
"md5_digest": "1824d2f281c664ea17d7ac28f3cbc464",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 21741,
"upload_time": "2024-01-10T13:19:44",
"upload_time_iso_8601": "2024-01-10T13:19:44.177475Z",
"url": "https://files.pythonhosted.org/packages/37/fa/f9ed48da46aa18c320836df138b8ebde6e4dd84408b6f340d66375f31707/cloudmesh-git-5.0.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-10 13:19:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "cloudmesh",
"github_project": "cloudmesh-git",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "cloudmesh-git"
}