Rename project to git-project-manager
All checks were successful
Build and Publish / release (push) Successful in 1m10s

This commit is contained in:
2024-12-27 17:42:44 -05:00
parent 9dd38317b8
commit c78c41f567
51 changed files with 353 additions and 309 deletions

View File

@@ -1,14 +1,16 @@
# GitLab Project Manager
# Git Project Manager
## Purpose
The goal of this utility is to provide a fuzzy-find method of locating, cloning,
and using GitLab projects -- along with your preferred aliases, autocompletion,
and using Git projects -- along with your preferred aliases, autocompletion,
and shortcuts.
This supports GitHub, GitLab, and Gitea remotes.
## Documentation
[Full documentation is available in docs/](./docs/gitlab-project-manager.md)
[Full documentation is available in docs/](./docs/git-project-manager.md)
## Functionality
@@ -44,8 +46,8 @@ The basic workflow looks like this:
1. Copy `contrib/gpm_func_omz.zsh` into your `~/.oh-my-zsh/custom/` path, or just source from your bashrc/zshrc
1. Generate config file: `gpm config gen --write`
1. You can run this any time to update settings
1. It will only add one GitLab, so update the file for multiple
1. Run `gpm cache load` (if aliases is in-place, otherwise `gitlab-project-manager cache load`)
1. It will only add one Git remote, so update the file for multiple
1. Run `gpm cache load` (if aliases is in-place, otherwise `git-project-manager cache load`)
### Config Sample
```yaml
@@ -81,34 +83,34 @@ Basic usage to prepare your cache, add a project alias (or aliases), and use a p
### Cache Management
```shell
% gitlab-project-manager cache -h
% git-project-manager cache -h
Contains sub-commands for managing project cache.
The project cache keeps this speedy, without smashing against the GitLab
The project cache keeps this speedy, without smashing against the Git remote's
API every time a new project is added / searched for
Usage:
gitlab-project-manager cache [command]
git-project-manager cache [command]
Aliases:
cache, a, ln
Available Commands:
clear Clear GitLab Project Cache
dump Dump GitLab project cache
load Load GitLab Project Cache
unlock unlock GitLab project cache
clear Clear Git Project Cache
dump Dump Git project cache
load Load Git Project Cache
unlock unlock Git project cache
Flags:
-h, --help help for cache
--ttl duration Duration before cache is re-built in go time.Duration format (default 48h0m0s)
Global Flags:
--config string config file (default is ~/.config/gitlab-project-manager.yaml)
--config string config file (default is ~/.config/git-project-manager.yaml)
--logLevel string Default log level -- info, warn, error, debug (default "info")
--projectPath string Sets a path for local clones of projects
--remote strings Specify remotes by host for any sub-command. Provide multiple times or comma delimited.
Use "gitlab-project-manager cache [command] --help" for more information about a command.
Use "git-project-manager cache [command] --help" for more information about a command.
```
- To update your cache, run `gpm cache load`. You can also specify one or more remotes
@@ -119,8 +121,8 @@ Use "gitlab-project-manager cache [command] --help" for more information about a
## TODO
- [x] Don't check remote up unless necessary (project list shouldn't require it)
- [ ] Rename to git-project-manager
- [ ] Move module from gitlab.sweetwater.com to github.com/rdmcguire
- [x] Rename to git-project-manager
- [x] Move module to github.com/rdmcguire
- [ ] Add flag for clone timeout for large repos
- [ ] Add `gpm cache prune` command
- [ ] Fix NPE when cache is reset or project for whatever reason leaves an orphaned alias
@@ -128,7 +130,7 @@ Use "gitlab-project-manager cache [command] --help" for more information about a
- [ ] Update README for shell completion, aliases, usage
- [ ] Make a Makefile
- [ ] Add git repo status to project go (up-to-date, pending commits, etc..)
- [ ] Build pipeline, and link to gitlab registry for a release binary
- [ ] Build pipeline, and link to registry for a release binary
- [ ] Add GitHub remote
- [ ] Package for homebrew
- [x] Make generic, this is any git remote, not just GitLab