spgroup / groundhog

A framework for crawling GitHub projects and raw data and to extract metrics from them
http://spgroup.github.io/groundhog
GNU General Public License v2.0
15 stars 10 forks source link

Add basic BitBucket compatibility. #31

Closed fernandocastor closed 11 years ago

fernandocastor commented 11 years ago

We'd like to make Groundhog compatible with BitBucket. I want to make a a rough assessment of the amount of effort required to achieve that. Hence, I suggest we implement the functionality described by Issue #17 for BitBucket as well.

gustavopinto commented 11 years ago

Is there a special reason to use BitBucket? Or it is basically to add another forge? I'm question it because I was looking at the bitBucket API for a while and I think it is a bit confusing.. Then, I also looked at the gitorious api, which is much more simple. But, it is so simple that looks silly. It has only three methods and, for example, we are unable to download the user's projects, excerpts if we want to navigate through the html pages, as such we do on sourceforge.

So, I created another branch with this extension. The code works good, but, we have these aforementioned limitations. If someone else wants to add another forge, he/she just have to add another class which should extend ForgeSearch.

Waiting for your comments :metal:

rodrigoalvesvieira commented 11 years ago

mother-of-god-meme

it's an XML API?!

IMO, the fact that we can't download the source code is a deal breaker right now. Imagine all the effort we'd have to put in order to copy line per line of code, extracting from the HTML source and downloading in some hackish way to let the parser do its job.

fernandocastor commented 11 years ago

Three reasons:

gustavopinto commented 11 years ago

Sorry @rodrigoalvesvieira. We can actually download the source code (you can try yourself) . What we are unable to do is to download projects from a given user (as we are discussing here #17).

And, yes, is a XML API.

dnr2 commented 11 years ago

Sorry @fernandocastor , could you define better what is meaning of "Git-Centric"? I've always thought that bitbucket was strongly attached to this term.

fernandocastor commented 11 years ago

@dnr2 It was not developed with the specific goal of supporting Git, like Github. In fact, it initially only supported Mercurial. Git support came later. Therefore, it might support features that Mercurial supports and Git does not and it might not. I'm not sure that's true, but it would be useful because it would require us to deal with diversity.

rodrigoalvesvieira commented 11 years ago

Here it is, a sample API resource for a project https://api.bitbucket.org/1.0/repositories/birkenfeld/pygments-main/

fernandocastor commented 11 years ago

We'd like to prioritize access to Mercurial-based Bitbucket repositories. :)

rodrigoalvesvieira commented 11 years ago

More here https://github.com/spgroup/groundhog/issues/34

rodrigoalvesvieira commented 11 years ago

Due to our decision of focusing on GitHub project support for our new goals and reducing our pending activities, this issue is being closed.