-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rewrite the library: simpler design and implementation, unit tests #26
Conversation
@melMass |
i found a few bugs during this refactor, i propose to solve them after it lands 😊
|
i'll also update the |
I just learned that Github support nushell syntax!! 😮 manage your Git repositories with the main command of `nu-git-manager`
Usage:
> gm
Subcommands:
gm clone - clone a remote Git repository into your local store
gm list - list all the local repositories in your local store
gm remove - remove one of the repositories from your local store
gm root - get the root of the local store of repositories managed by `nu-git-manager`
Flags:
-h, --help - Display the help message for this command
Input/output types:
╭───┬─────────┬─────────╮
│ # │ input │ output │
├───┼─────────┼─────────┤
│ 0 │ nothing │ nothing │
╰───┴─────────┴─────────╯
|
Great work, I agree with all the directions on simplification. |
this should bring the new CI from main and run the tests.
pretty cool huh 😉 |
very happy you like the directions 🙏 as said on Discord, let's add stuff to modules like if we can fix the CI on Windows, that's perfect 💪 |
This reverts commit 684f005.
I also had to fix the tests
let's go with this 🥳 thanks for the review @melMass 🙏 |
this removes the `[toc]` that have been introduced in the TOC of the README in #26
should - close #106 # description as `nu-git-manager-sugar gist` hasn't been touched since #26, it's old, unmaintained, possibly broken and does not fit the _philosophy_ of NGM, e.g. it does not export `gm ...` commands 🤔 this PR removes the `gist` module from `sugar` for now, until someone can reimplement it and make sure it's functional 👍
ok, this is quite a big one but bear with me, i'll explain everything 😉
changelog
docs/
=> out of datetoolkit/
=> out of datesugar completions git
=> let's usecarapace
or use the ones fromnu_scripts
sugar dotfiles
=> a bit out of scopesugar
module but moved it tonu-git-manager/sugar/
=> i'd like to refactor the namespace of this as well in a follow-up PRnu-git-manager git
private module is about Git related tool commandsgit url
focuses on manipulating Git URLsnu-git-manager fs
private module is about interacting with the filesystemfs store
focuses on interacting with the local store of repositoriesgit url parse-git-url
andgit url get-fetch-push-urls
withnupm test
fs store
without interacting with the host environment 🤔git
andfs
modules are basically simplified and encapsulated versions of the previousutils utils
modulegm
itselfghq
API => it was making the code too complex and honestly not sure we care about that kind of compatibilitygm
is not a module anymore, but a true command with subcommands, i.e. you don'tuse nu-git-manager gm
butuse nu-git-manager *
oruse nu-git-manager ["gm list", "gm clone"]
export
ed commandsorigin
remote setup with SSH for both FETCH and PUSH. with that, even if the repo is public and you onlygit fetch
, you still have to write the passphrase for the SSH key, which is a bit of a pain... 😆 now, as you can see in the examples ofgm clone
, one can use the--ssh
,--fetch
and--push
options to tweak that in the clone step 👌there's even autocompletion for
--fetch
and--push
🥳README
has been updated => have a read0.2.0