Closed bittner closed 6 years ago
Hi Peter,
Note: The current maintainer is Emil Lundberg (@emlun), so I'll give my opinion as the original author and "owner" of the project's repository only.
I am now a simple user of gws
, and like you said, it works fine for my daily business as well. This tool certainly deserves some love to fix existing issues and add new features, but sadly I don't have, and didn't had, enough time for this. So I "kind of" abandoned it until emlun took over as maintainer. He is now maintaining it alive, but (correct me if I'm wrong here :wink:) more as a chore than as a vocation. So yes, if people at git-extras
are willing to take over, at the cost of maintaining it, I would love that :-)
But emlun's point of view as maintainer has to be taken into account in all this :-)
Hi!
Thanks for the suggestion! I'm not familiar with git-extras, but I'll take a look when I have some time (which is definitely not within the next 2 weeks, at least). If you could give me a quick summary of what it is and what makes it good, that'd be great.
@StreakyCobra Well, it started out as a vocation and became a chore, as I'm sure was the case for you as well... :) I've lately been seriously considering getting started on a rewrite in Rust, though, mostly because I'm learning the language and this might make a good project for it. With that done it would also, hopefully, be less of a chore to maintain it... :)
I'm sure was the case for you as well
Indeed, thanks to bash :see_no_evil:
I've lately been seriously considering getting started on a rewrite in Rust
I also started to rewrite it in rust 2 years ago :rofl: But I was too ambitious. I wrote the part handling the workspaces with yaml files, with also the possibility to have a user config file, then I wanted it to be tool independent (git, hg, etc), and all this with multiprocessing for speeding up the execution. I should have started simpler… so if you f you want an advice, don't try to over-engineer it, start simple and if it works, extend it :joy:
Cool! Yeah, what I was thinking was to keep it as simple as possible, ideally eliminating the cache file and making it completely stateless too. I might take a look at Prevy if/when I get around to starting out on it.
@emlun
git-extras
is simply a collection of Git plugins. In other words, you install it (e.g. via sudo apt-get install git-extras
) and get a bunch of extra Git commands that speed you up with Git and make your life easier.
The project README has a link to an introductory video. Take a look!
The nice thing about this project is not only that it makes installing and "configuring" Git a breeze, but also that it's so popular and is somewhat a "de-facto standard" (or becoming one). So, you can stop reinventing your Git speedup setup over and over again when setting up a new developer machine.
gws
would become a new Git command, maybe git-ws
, which would be used like git ws
(or so), I guess.
ideally eliminating the cache file and making it completely stateless too
Yeah, the cache is only required now because the parsing is slow IIRC.
If you want to proceed I'd suggest to open an issue at tj/git-extras to discuss a potential transition.
@bittner Thanks, I'll get back to this after next week.
Hi again!
I see it as a bit of a downside, though, that it needs to be included (as in version controlled) into our code base
@bittner I don't quite get what you mean here. What code base do you need to include gws into?
As we use gws we have to add it to our code base, not as a dependency but verbatim as source code. EDIT: With git-extras this is a different story: We would only mention this in the README or we handle it as a dependency somehow. Also, every developer may have it installed by default along with Git, and updates are handled by the system's package manager.
Hence, we have to maintain your code. If it gets updated, fixed, whatever, we have to do that too. - @emlun More clear now?
Oh, I had assumed you'd install gws also via the system's package manager. What distribution(s) are you using?
I feel like gws is probably a bit too big and complex to be a good fit for inclusion in git-extras. Not only in terms of sheer code volume, but also in how the gws README is almost as big as the entire commands page in git-extras. gws also keeps its own configuration and state externally from git, and unlike the majority of git-extras it operates on a workspace of repositories instead of inside a single repository.
Thank you for the suggestion - I can see the appeal, but it doesn't seem to me like a good fit. If there's something else we can do to make your system administration easier, you're welcome to open a new issue.
We're using gws for our daily business, and it works out fine as an alternative to Git submodules. Personally, I see it as a bit of a downside, though, that it needs to be included (as in version controlled) into our code base.
As I'm installing the magnificent git-extras Git plugin collection anyway on my developer machine, which is easy to install system-wide, I was wondering if you wanted to evaluate adding gws to the feature set of git-extras.
Any preference?
Disclaimer
Note, that I understand that requests like that are very often received as offence. This is not intended, though. It's more about ease of use for installation and upgrades. Sovereignty of project maintenance is the other side of the coin, that is true.