wmalik / ogit Goto Github PK
View Code? Open in Web Editor NEWTUI and CLI for organizing git repositories across multiple providers (e.g. GitHub, GitLab).
License: GNU General Public License v2.0
TUI and CLI for organizing git repositories across multiple providers (e.g. GitHub, GitLab).
License: GNU General Public License v2.0
A user should be allowed to clone repositories in bulk using a subcommand clone
that expects an organization name and a filter.
ogit clone --org tpope --filter vim
ogit clone --org tpope
We should be able to delete the local clone of a repo.
The current config has the following issues:
orgs
is not consistent with gitlabGroups
clonedirpath
does not use camelcaseuseSSHAgent
and privKeyPath
into one attribute[ogit]
orgs = padawin, tpope, charmbracelet, wmalik
gitlabGroups = fdroid
clonedirpath = /absolute/path/on/disk
fetchAuthenticatedUserRepos = true
useSSHAgent = true
privKeyPath =
Currently, if the cloning process is interrupted by the user (or network hiccups), the repository shows up as cloned in the TUI. This can be fixed by cloning the repo to a temporary directory and then renaming that directory to the repository storage path.
Fetch the list from upstream at startup one page at a time but update the UI incrementally as pages are being downloaded)
Alternatively, or additionally, we could:
So that we get the content for searching, but the UI gets populated faster.
Originally posted by @padawin in #6 (comment)
Add --version flag to main command.
Add a config attribute sort
to allow sorting items using different strategies e.g.
Let's say we started accidentally to clone a big repo, it would be good to be able to cancel the operation. But this should be global (cancel any operation).
The tool is not usable without internet access.
A high number of repositories slows down the user on each invocation of the
tool.
I have the following proposal to address the above problems (and the parent issue):
Originally posted by @wmalik in #7 (comment)
ogit fetch
should fetch all repository metadata and exit
ogit
should behave like ogit --cached
ogit
should prompt the use to run ogit fetch
if the cache is empty
Remove ogit --cached
Example invocation:
ogit fetch && ogit
Org | Repos | Language | ๎ฆ | Last Updated | Desc | |
---|---|---|---|---|---|---|
orgname1 | HCL | 25 | 10 | 3 hours ago | repo desc here...... | |
orgname1 | Go | 25 | 10 | 7 hours ago | repo desc here...... | |
orgname1 | ๐py-service | Python | 25 | 10 | 8 hours ago | repo desc here...... |
orgname1 | YAML | 25 | 10 | 9 hours ago | repo desc here...... | |
orgname2 | ๐ sql-service | SQL | 25 | 10 | 9 hours ago | repo desc here...... |
orgname2 | C | 25 | 10 | 9 hours ago | repo desc here...... |
Implement ogit subcommands that open the relevant web page when invoked from a directory managed by ogit.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.