What git-repo really offers is a tool that integrates nicely to the git CLI (as `git-something` is also available as `git something`, so git-repo acts per default as `git repo hub…`). And then it autoconfigures the .gitconfig aliases to have the `git hub`, `git lab`, `git moo` you'd want.
So besides the fact that hub is certainly much more mature than my tool, it wouldn't be a tool I'd like to really use.
alias git=hub
in your shellrc.I think it's best to keep them separated so you know what stuff is coming from hub and what's in vanilla git instead. "git" is already synonymous enough with "GitHub" in many peoples' minds without including GitHub-specific functionality in your mental model of the command line client.
then you watch the code, create a branch:
git checkout -b `bugfix/nasty_one`
Please remove backticks from the command. What if you called the branch `poweroff` instead and a naive reader copy/pasted the command into her terminal? poweroff: Need to be rootThere's already a tool by this name and they have the same problem.
I hope that if people like the tool, it's going to be easier to find.
Of course, I'm not really obsessed with the name (as anyway the tool is designed so the user does not type git-repo everyday ). So if someone comes up with a name that's great that can be better, I'm all ears!
About the fact that google has that other tool… Well they really are not much projects using it, beyond the google projects, and the tool really is called `repo`, not `git-repo`, so the name clash is not really there.
Bravo to the author here for making all that information clear and up-front.
A thousand times this, I always get frustrated that every single product, tool or service has to have a lot of marketing gibberish, catchy slogans, etc., but zero explanations of what problems do they attempt to solve, or what was the motivation to create them.
You usually are required to dig further in the documentation or look for an external reference to understand what's the real purpose behind a product, tool or service.
I actually wrote that tool based on a huge frustration I had going back and forth to the browser, and not being able to work while being agnostic to the services, which felt being a totally broken UX. I have then worked on that tool for a while, used it and refactored it a lot up until I'm happy using it.
All in all, when I'm doing a tool, I'm first doing it for myself (I might invent the DIFY concept, to override the DIY concept )… only then I'm sharing it with others.
> (which nobody does, because who remembers the git remote syntax?
I wish we would move on from the "git has good UX" narrative, it's preventing us from actually improving the UX.
But anyway, designing the command line API of my own tool took me enough headaches — and I'm still not 100% satisfied — to understand how hard it is to have a consistent and great UX for something that offer as many features as git does. Though, I'm trying my best to avoid the decade old troll about git's UX (like vs mercurial)…
In the end, what I try to make clear it's that I'm not trying to replace what git does, but cluster a bunch of repository actions tied with some service's API operations.
And I try my best to offer a pleasant UX doing so. But please, help me making it better!
Congratulations for making git-repo, by the way! It looks extremely useful.
I see references to lab and hub, is bitbucket missing?
The issue I have is that I got to implement OAuth2 for bitbucket, because the privatekey scheme offered by bitbucket does not work for a CLI tool use case. So currently, the credentials (login/password) of bitbucket are stored in CLEAR in the configuration file, which really, really sucks…
And some new features (like the snippets) are not implemented in third part python libraries, because most of the libs are old and unmaintained.
Anyway, following some discussions I had with atlassian bitbucket developers, bitbucket (like gitlab) is planning to switch to swagger, which will help automagical generation of client-side feature complete libraries. So I'm planning to level bitbucket feature set as soon as they land the new API.
So I hope it won't be long before all the features will land for the three services!
Besides that, looks interesting and I will give it a try!
The only issue might be my project being shadowed by google and go, but the more people will like and use the tool I baked with , the more it'll appear on their first page. So it's not really up to me, but up to you all liking it!
And finally, if someone comes with a nicer better name than what I chose (I actually did not spend more than 2.42 minutes on the name when I had to mkdir the project's directory), I might be happy to rename :)
Otherwise, I hope you'll like the tool and send me patches and <3
https://github.com/guyzmo/git-repo/commit/59c7ac2cd4c0316016...
So pretty soon I hope I'll be able to finish both MR and snippets for gitlab, and finish the tests and merge all that back to git-repo!
I will really try it out. Thanks!
How about if people simply accepted patches via e-mail, instead of requiring those obnoxious github pull requests?