Git, the D package manager
Mathias LANG via Digitalmars-d
digitalmars-d at puremagic.com
Mon Feb 2 06:36:00 PST 2015
On Monday, 2 February 2015 at 09:44:18 UTC, Andrej Mitrovic wrote:
> Also:
>
> - Dub installs everything in ~/ (home, which on Windows is an
> awful location anywho). It's a pain in the ass for browsing
> dependencies in your editor. If it's just a submodule you can
> easily view it in the source tree (e.g. just open
> ./submodules/).
I admit it's a pain. I use Mono-D, which takes care of that, so
I'm not running into that problem.
> Having it as a submodule also helps if you want to quickly try
> to edit a dependency in order to see if it fixes an issue. And
> if the fix is right you can even make a commit inside the
> submodule and push it to your fork of the dependency.
>
> With all the aliases or zsh-tricks this can be as easy as a few
> key presses.
It's a question of workflow. I use path dependency to my fork
when I have to patch a library in order to get my project
working. Then I P.R. and when everything's upstream, I fix the
dependencies. It's more involved, but led me to patch Vibe.d a
few time / report issues, so overall it's a win.
> - By default dub emits internal stack traces. This is an insane
> amount of visual noise that I don't want to read.
>
Absolutely right, and it has to be patched. Fun fact: I misstyped
Vladimir's command in a hurry, and typed "rdmd -o- file.d"
(instead of dmd). Gotta love the stacktrace.
> - If I want to try a new version of a dependency, I have to
> change the damn .json package file instead of doing a simple
> 'git checkout ...'. What's worse, I have to wait 15-20 minutes
> for the latest tagged version of a dependency to finally show
> up on code.dlang.org.
>
> I could use add-local, but it's broken[1].
I was not aware of that problem. Have you tried path dependencies
?
> - Shit breaks every N releases (where N is arbitrary). As if
> it's not enough that code tends to break between compiler
> releases, so do packages between DUB releases. Something that
> used to build half a year ago no longer does.
>
> I don't recall when was the last time an RDMD or Make update
> has ever broken my projects.
>
> - I'm not a fan of poorly tested software, and DUB falls into
> that category.
In general, things tend to break with every compiler release.
What we need IMO (I mentionned it in the 2015H1 thread) is a CI
system that build every package with a list of supported compiler
and tag them accordingly.
> The bottom line is, time spent on dealing with package
> management bugs is completely wasted developer time.
I couldn't disagree more, but I understand how frustrating dub
can be. I also had to adapt my workflow to it.
More information about the Digitalmars-d
mailing list