-
Notifications
You must be signed in to change notification settings - Fork 458
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to fetch some branches unless set to "use a git executable" #3738
Comments
Thanks for reporting! If I am not mistaken, the code responsible for fetching is right here. It uses the same refspec in both cases, i.e. when using the Git executable, or when using As the fetching doesn't list any refs, I presume refs are later traversed to populate the UI and it's unclear to me how that traversal could be different. Something that comes to mind is that for some reason, the 2 branches that seem missing are actually not present in the repository anymore. Thus, could you clarify what Thanks for your help. |
By disappear I mean they were listed in the following places after a vanilla checkout or after fetching using an executable in gitbutler, but are no longer listed after fetching with an existing or generated key through gitbutler.
They are still present on the remote when looking at bitbucket's UI, or when cloning the repo with vanilla git. But also, upon reviewing this I just noticed a clue I'd missed before, and now have a way to reproduce this. All of the affected branches are named I realize git is case-sensitive, but gitbutler should probably still follow how git handles this on case-insensitive systems, rather than ignore the branches. So, to reproduce:
When using vanilla git or gitbutler set to use the git executable, this case issue seems to be handled by placing the branch with odd casing in the existing directory. All that said, it looks like this is probably an upstream issue, maybe with libgit2. |
Thanks so much for researching this! Indeed, I didn't find any evidence that GitButler does anything special when fetching, it's all handled by |
GB will not show some branches that exist on the remote unless I set git authentication to "use a git executable".
This breaks on either SSH key option. I haven't tried the "credentials helper" method.
When set to use an SSH key, I can fetch these branches with
git fetch
manually from the git cli, but they disappear again the next time GB fetches.Out of 178 branches in the repo I'm working on only 2 have this issue, and there doesn't seem to be anything out of the ordinary about them. One has been merged to the default branch, the other is unmerged.
If anyone can point me in the right direction to do some debugging I can try to see what's up, since I don't actually know how this could be reproduced. The logs do not show any obvious errors.
System: macOS Sonoma 14.4.1 (Apple Silicon)
Git: 2.39.3 (Apple Git-146)
GitButler: 0.11.7
Remote: Bitbucket v8.9.9
The text was updated successfully, but these errors were encountered: