exlinc / mdlr

MDLR ("Modular") gives you declarative and easy Git 'submodules without the pain of submodules'
Apache License 2.0
27 stars 2 forks source link

Questions #2

Closed BarbzYHOOL closed 6 years ago

BarbzYHOOL commented 6 years ago

This looks rad. Too bad I won't be able to help since it's in GO (why not a simple bash, or python?).

But I think I'm going to use this, I'm new to submodules but that looks like it will ease the work and I really love the "Info: git command ran". But why "INFO[00000]"?

Is it useable completely? or still in beta or something?

Also how to uninstall it?

svarlamov commented 6 years ago

Hi there @BarbzYHOOL thank you for your interest in the project and excited to hear about how it works for your particular use case! I've done my best to answer each of your questions below:

Too bad I won't be able to help since it's in GO (why not a simple bash, or python?).

Simply put, we used Go because it compiles to x-platform dependency-less executable binaries, and we are more experienced/comfortable with Go as opposed to bash/python

But I think I'm going to use this, I'm new to submodules but that looks like it will ease the work and I really love the "Info: git command ran". But why "INFO[00000]"?

That's coming from our logger -- it's the log level and then the number of seconds from the start of execution, which is not particularly useful for a CLI. We'll update that.

Is it useable completely? or still in beta or something?

For Mac OS X and Linux we have been using it extensively across our teams for several months without issue. I cannot speak to the Windows readiness although would be happy to hear how it works for you on Windows. It's also particularly useful if you have a docker-based CI/CD pipeline or something, you can just drop into your images with one line (no need to use a custom image) and then you will have mdlr in your docker images for builds/etc.

Also, since it uses a human-readable YAML file to store the dependencies in a very straightforward way, it should be trivial for users without mdlr to fetch them by using pure git in the event that that is necessary.

Also how to uninstall it?

You can just delete the binary -- that's all that the install script does. So assuming you ran it on linux, it would just be sudo rm /usr/local/bin/mdlr

BarbzYHOOL commented 6 years ago

Yeah, I guessed so for the uninstallation

And I use it on Linux.

A slightly offtopic question: why did you choose to use git submodules instead of subtree (or even subrepo)?

svarlamov commented 6 years ago

@BarbzYHOOL Sorry for the late response! We found it quite challenging to work with subtree and also when we started this project (quite a while before the first open source commits) there wasn't much support around for it

svarlamov commented 6 years ago

I believe that it also depends on your specific use case -- we were really looking for a single file approach, similar to something like a package.json for NodeJS projects, but for everything on Git