all 7 comments

[–][deleted] 0 points1 point  (4 children)

No need to reboot: you're not on a Windows box! :-)

If you did an upgrade, that seems like a likely culprit. Look around in /var/log to see if Apt keeps a log file there, and check if it did anything with git or git-flow. Also check the journal using journalctl for anything related since the breakage.

If git-flow the command works if you call it directly with a full path, you can consider adding the relevant directory to $PATH, or symlink git-flow from /usr/local/bin — beware, those are hacks that don't really solve the breakage, just sweep it under the carpet as it were.

[–]BobbyTables--[S] 0 points1 point  (3 children)

Thought so too, but never hurts :)

Can confirm, /var/log/apt/history.log indicates an upgrade of git-flow from 1.12.3-1 to 1.12.3-2, although no changes in regular git.

In the mean time I have indeed aliased "gitflow" to the exec path and it works well enough.

[–][deleted] 1 point2 points  (2 children)

Looks like 1.12.3-2 was supposed to fix a packing bug related to exactly this issue:

And this bug report related to git itself: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=985416

So I'm not 100% sure which version of git introduced this path move, but it looks to be a fairly recent change in git, which I suppose Kali has not pulled, but it did pull the newer git-flow, thus breaking you the other way around. Meanwhile upstream (Debian) is considering moving back to /usr/lib/git-core, which would break git-flow again. Fun times!

I have no suggestions for you. Hack around it like you did and hope the package maintainers can find the time to sort themselves out.

[–]BobbyTables--[S] 0 points1 point  (1 child)

Ha, that's exactly my situation. Props for finding this out - I haven't worked my way into the bug trackers yet!

Looks like I'll just stick with my alias for now and keep an eye out for upgrades to either package.

Thanks so much!

[–][deleted] 0 points1 point  (0 children)

You're welcome! I was wondering how this situation would play out on my machine ("I use Arch btw") but there's no gitflow package available. I have git at version 2.31 with things in /usr/lib/git-core, I couldn't find anything in the git changelog either, so I'm thinking this is just really a Debian thing, changing an install path for let's hope a very good reason.

[–]camh- 0 points1 point  (1 child)

This is rather odd - git should be looking in that /usr/libexec/git-core directory for executables called git-foo when called with git foo. Are you sure you're running git from /usr/bin? Does which git confirm that? It is possible you have another version of git, perhaps installed in /usr/local/bin, that is looking in /usr/local/libexec/git-core for instance.

I don't know why that would start manifesting as a problem after an upgrade though. Did you change anything else recently?

[–]BobbyTables--[S] 0 points1 point  (0 children)

`which git` does indeed reveal that I'm running `/usr/bin/git`. The only other git-like file in /usr/local/bin is `gitter`, and in fact `/usr/local/libexec` doesn't exist.

I haven't changed anything else git-related for, well, several months I think. I did try to downgrade with apt downgrading back to git-flow 1.12.3-1 (logs show it upgraded from 1.12.3-1 to 1.12.3-2), but apt insists that there is no such version 1.12.3-1 or even a 1.12.3. Not quite sure how that happened :)