reifyhealth / lein-git-down

A Leiningen plugin for resolving dependencies from Git
MIT License
82 stars 5 forks source link

lein checkout issue #48

Open pieterbreed opened 3 years ago

pieterbreed commented 3 years ago

I'm not sure if this is a bug or by-design.

I'm used to having a lein "checkouts" folder in my projects like is described here in the lein checkouts docs.

I've tried this with a project that is also included with lein-git-down, but I'm starting to think that the behaviour is not what I expect. What I'm observing is that the version of the the namespace that is included by default, is the version that lein-git-down "brought" to the classpath, and not the version of the namespace that is in the checkouts/lib/src/path/to/ns.clj file.

During dev time, I can manually visit the "correct" namespace files and evaluate them, but this is not the version that is loaded from an initial require in a client namespace.

manderson202 commented 3 years ago

I have not actually tested lein-git-down with checkouts so sounds like there may very well be a problem there.

As for your questions on approach. When making a change to a dependency, we will typically have a feature branch with those changes that developers will push to. Then in dependent projects, you can bring in the SHA of the commit you want from that feature branch as you are developing. This, of course, means you have to bump the version and re-run your REPL and so is similar to the lein install + restart REPL approach checkouts is trying to address.

In short, it sounds like a bug. Appreciate you bringing it to our attention!