I find myself popping back and forth a lot between working on my current project and working on its dependencies.
The most painful part of this is currently when I've decided I am happy with a change in a dependency and want to use it immediately in my project. This requires:
- commit+push dependency (not always to master, sometimes to PR for review while I continue to use it, so as not to be bloocked)
git rev-parse head of dependency to find version to use
go get pkgpath@version in project to update to latest version
- comment out
replace directive in project (or remove it; I comment out to make it easier to switch back into hack mode)
1 will always need to be done manually, but 2-4 could be automated. gohack currently only does 4.
How do you feel about adding 2 and 3 to gohack? Ideas: gohack promote or gohack undo -get or gohack undo -promote.
(I'm starting to lean towards building another tool that most closely matches my current workflow, in which I am actively working a lot on a dependency or two, but I'd like to first investigate whether I can achieve a happy union with gohack.)
I find myself popping back and forth a lot between working on my current project and working on its dependencies.
The most painful part of this is currently when I've decided I am happy with a change in a dependency and want to use it immediately in my project. This requires:
git rev-parse headof dependency to find version to usego get pkgpath@versionin project to update to latest versionreplacedirective in project (or remove it; I comment out to make it easier to switch back into hack mode)1 will always need to be done manually, but 2-4 could be automated. gohack currently only does 4.
How do you feel about adding 2 and 3 to gohack? Ideas:
gohack promoteorgohack undo -getorgohack undo -promote.(I'm starting to lean towards building another tool that most closely matches my current workflow, in which I am actively working a lot on a dependency or two, but I'd like to first investigate whether I can achieve a happy union with gohack.)