Skip to content
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

Coprorate repositories in Azure DevOps cannot be cloned #5848

Open
PowellDean opened this issue Dec 17, 2024 · 7 comments
Open

Coprorate repositories in Azure DevOps cannot be cloned #5848

PowellDean opened this issue Dec 17, 2024 · 7 comments
Labels
🦀gitoxide🦀 `gitoxide` might help here

Comments

@PowellDean
Copy link

PowellDean commented Dec 17, 2024

I am trying to clone a repository stored in my company's Azure DevOps subscription. I receive the following error message:

Error
Error: The object long-string-of-random-characters-snipped could not be decoded or wasn't found.

I receive the same error trying both SSH and HTTPS addresses. I am able to clone my personal GitHub and Codeberg repositories with no issue.

Is this an Azure DevOps security issue?

@Byron Byron added the 🦀gitoxide🦀 `gitoxide` might help here label Dec 17, 2024
@Byron
Copy link
Collaborator

Byron commented Dec 17, 2024

Thanks a lot for reporting!

It's a known issue with the way gitoxide, the crate that clones repositories, handles packs that "shouldn't be". All the details are in the tracking issue, but in short, a fix means to provide an entirely new and in all likelihood slower implementation of cloning which is more similar to the one Git uses.

Is this an Azure DevOps security issue?

Definitely not.

@PowellDean
Copy link
Author

Thanks for the quick reply. I completely understand the "probably won't fix" rationale given in the linked issue. I am also aware the workaround is to just clone the repository locally and import it (which I can confirm did work). Unfortunately, in a corporate setting such as the one I'm in, the word "workaround" for a fundamental function like cloning a remote will kill any chance I have of introducing the tool.

You can close the issue if you like. I won't be able to proceed any further with test-driving the application.

It's an interesting tool though. Thanks for the opportunity to look at it.

Best Regards,
Dean Powell
Edmonton, Canada

@Byron
Copy link
Collaborator

Byron commented Dec 21, 2024

Thanks for the kind words!

The issue should stay open as I believe it will be fixed eventually, and I hope your next test will be more successful :).

@Caleb-T-Owens
Copy link
Contributor

🤔 We could move from gitoxide to shelling out to the git executable like we do with fetch and push. It would allow us to also make use of askpass for SSH keys with passwords

@Byron
Copy link
Collaborator

Byron commented Dec 21, 2024

🤔 We could move from gitoxide to shelling out to the git executable like we do with fetch and push.

Yes, definitely. Since the current implementation also doesn't use progress or can be interrupted, it's not very suited for huge repositories to be cloned, so the performance benefit of gitoxide over Git won't matter much either.

It would allow us to also make use of askpass for SSH keys with passwords

gitoxide also uses ssh (the program) as transport and I'd think that credential handling associated with it works similarly. But I wouldn't bet on it either as I haven't tested that specifically, nor did I test more advanced setups.

@Caleb-T-Owens
Copy link
Contributor

I'll add it to my todo list for the new year, unless @krlvi wants to take a look at this himself sooner given that it's very much onboarding related?

@PowellDean
Copy link
Author

PowellDean commented Dec 21, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🦀gitoxide🦀 `gitoxide` might help here
Projects
None yet
Development

No branches or pull requests

3 participants