Metacello / metacello

Metacello is a package management system for Smalltalk
MIT License
88 stars 43 forks source link

`gitorious://` support #287

Open dalehenrich opened 10 years ago

dalehenrich commented 10 years ago

turns out that gitorious' web api is not very rich ... namely it is a bit difficult to find out the SHA of a download initialated from a tag or branch name and the github:// andbitbucket:// services depend upon being able to know the SHA of a download so that one can avoid stomping on an existing directory structure ...

Of course there are ways to do this bug AFAICT, to support gittorious for GemStone I would need to include Zinc in the base and port Zodiac to GemStone and include it in the base as well ... not things I am prepared to do at this moment ....

Also for Issue #277 it is necessary to be able to get the list of tags for a repository via a web api. Gitorious has a web api: https://gitorious.org/gitorious/pages/Api but it is very primitive...

dalehenrich commented 10 years ago

Took a look at GitLab and while they have a nice web api with access to the tags list, the do not have flexible source donwload capability which puts the kabosh on create a gitlab:// URL for metacello

dalehenrich commented 9 years ago

The problem with GitLab's donwload format is that the SHA of the download is encoded in the name of the download file ... once you've unzipped the file, you cannot tell what the SHA was .... but at least there is an url that can be used to download a commit: https://gitlab.com/external-sample/external-sample/repository/archive.zip

dalehenrich commented 8 years ago

It looks like today, the gitlab download files include the SHA of the file in the unzipped file(directory name) as well ... so perhaps a gitlab:// is possible now ...

dalehenrich commented 8 years ago

The sticky wicket for GitLab is that it looks like I need to know the SHA of the commit that I want to download ahead of time ... for github I think the download url for a branch just uses the branch name while the unzipped structure includes the SHA ... I haven't dug too deep but presumably there is a way to determine the current SHA of a branch which would allow me to construct an appropriate download url ...

dalehenrich commented 8 years ago

This url: https://gitlab.com/external-sample/external-sample/repository/archive.zip?ref=maste implies that branch based urls can be constructed and that my friends is just about all we need to know ... okay the final little bit would be a way to be able to translate the full SHA which is the top-level directory name into a short SHA (see http://stackoverflow.com/questions/16413373/git-get-short-hash-from-regular-hash for info on short SHA creation --- pulling off first 7 characters is probably sufficient --- especially for display purposes --- which is my concern

seandenigris commented 7 years ago

Any movement on this? I'm considering moving all my private projects from BitBucket to GitLab because they offer a lot more CI time for free!

dalehenrich commented 7 years ago

@seandenigris ... no recent movement ... I'm at ESUG right now and in he next few weeks after ESUG, I will still be in a death match with the new version of 3.4.0 ... so perhaps ping me in a couple of weeks and I hopefully will be able to slip in the work on this before the other things I haven't been doing catch up with me:)

seandenigris commented 7 years ago

@dalehenrich I wish I was there!! Enjoy :) After posting, I actually realized that I may not need this because I'm hosting private projects. IIRC, there was no way to use SSH keys w Metacello, so I ended up using filetree:// urls and managing the cloning myself. I have a question about that, but I'll post in on the ML because it's not directly related to this issue.