straight.el icon indicating copy to clipboard operation
straight.el copied to clipboard

Using 'built-in' VC backend for use-package breaks straight-freeze-versions

Open parsoj opened this issue 4 years ago • 4 comments

Hi! I am noticing that if use the built-in VC backend, e.g. (use-package emacs-lisp-mode :straight (:type built-in) <more stuff ....>> ) Then it breaks "straight-freeze-versions" for me - I get this error: straight-vc: VC backend ‘built-in’ does not implement method ‘get-commit’

parsoj avatar Nov 03 '19 00:11 parsoj

I would suggest (use-package emacs-lisp-mode :straight nil <more stuff...>) instead which is simpler, faster, and avoids this problem, but you have nevertheless correctly identified a bug.

The problem is that I had straight-vc-built-in-local-repo-name return nil to indicate that :local-repo should be set to nil for :type built-in recipes, causing them to be ignored by straight-freeze-versions. Unfortunately, nil actually means to use the default :local-repo value, namely the package name or similar. The interface must be made more expressive, or some minor refactoring needs to be done.

raxod502 avatar Nov 03 '19 17:11 raxod502

Just hit this myself. @raxod502 thanks for the workaround!

Is there a place to track a resolution of the bug?

jsmestad avatar Mar 27 '20 23:03 jsmestad

Other than this issue? No work has been done as far as I know. Pull requests are welcome, but nobody has contributed one for this issue as of yet.

raxod502 avatar Mar 31 '20 18:03 raxod502

I have this unexpected behavior when using straight-pull-all and straight-freeze-versions.

  • This happens when I installed org-plus-contrib using straight. Then switched to built-in org.
  • The error goes away if I deleted local org repo or switch back to straight.

declantsien avatar Mar 15 '21 18:03 declantsien