SDL moving to GitHub

/me Raises a glass, and wipes a tear for bugzilla, hg and the other tools.

Looking forward to it too though.

Thanks for finding time to write this down.

I feel kinda sorry for my hype erlarlier now.
It’s a shame how much I (and many others I guess) have lost the appreciation for being independent these days.

I can only speak for myself but if you need outside testers or anything, i (and probably many others) will be willing to help.

In any case, Strength and all the good things for tomorrow.

But why you don’t try gitlab for open source? It will give you all benefits.

1 Like

Thanks for the break-down. This just happens to make integration into my projects a bit easier, but I don’t envy the work involved or the exhaustion that led to this decision.

Though I can identify with a lot of it, and ironically, SDL is to my controller library what GitHub is to your Mercurial solution.

I mean, Gitlab already supports migrating from Github, and a good thing about Github is that you can download all your relevant data either via git (the repos of course and also the wikis) or via a documented web API (issues etc), so moving away from Github without losing relevant data should be feasible if necessary (unless they go down without warning so you don’t have time to get all your data, but that seems extremely unlikely).

It’s the wiki

So you wanna migrate the Wiki to Github as well?
I haven’t looked closely at their wiki in a few years, but last time I did it was very basic and didn’t even support categories or TOCs, it was useless for my purposes and if this hasn’t changed (I couldn’t find any information that would indicate it did with a quick websearch) it’ll be useless for SDL as well.
(Of course I understand that getting rid of MoinMoin is very desirable)

The wiki is going to be a mess for a bit. I’ve pushed it through some Perl to deal with the worst issues, but it still needs a lot of manual cleanup. Right now it is…kind of daunting.

I haven’t yet, but I intend to write some scripts to deal with categories and such, so if GitHub won’t manage this for us, we’ll still automate it on our end. I like that the wiki will just be a git repo, so running scripts over a bunch of text files becomes possible.

3 Likes

I know this struggle all to well. It’s probably not of use to you now as you’re about to migrate, but I recently created a new mercurial hosting tool so I could move Pidgin somewhere when Bitbucket sunset mercurial support. If you’re interested you can check it out at HGKeeper.

1 Like

Eventhough it’s a bit late in the game, for people who like mercurial and don’t wish to use github (not going into the details of why, it’s offtopic), know that there is a friendly fork of gitlab with support for mercurial : https://heptapod.net/

For FOSS projects, you can be hosted on https://foss.heptapod.net/ to get a project there you can ask via an “Hosting Request issues” on heptapod/foss.heptapod.net project there (they helped a bunch of FOSS projects migrate from bitbucket).

@grim good to know HGKeeper exists, we’ll take a look at that too. (diversity is key!)

2 Likes

@grim good to know HGKeeper exists, we’ll take a look at that too. (diversity is key!)

Appreciate it! Also speaking of diversity there’s also https://sr.ht which has git and mercurial support and is open source but is a bit much to host yourself.

1 Like

If you like the feeling of infrastructure code that breaks all the time you can add Continuous Integration :smile:

2 Likes

Well, first of all, do bro as you like. But. Why Lose Control? In any case, you and other developers need your own server (are you not going to just take and TOTALLY rely on github?) Let the development be carried out there (or rather, patches will be accepted there, and external discussions will be held, and the finished code will be merged there) But who prevents themselves from deploying wonderful GOGS for internal affairs? For internal discussions and even your own experiments? Don’t lose control, it’s just that there will be one place for the audience and another for you and your bros. And you don’t need to fiddle with this, just keep a mirror. You can take a snapshot from it, make changes and also send it to the github.

In any case, STORE EVERYTHING AND MIRROR YOURSELF ALWAYS. You just delegate the storage to the outside and that’s it, it’s not a loss of control.

In any case, these are all trifles, if you get rid of the hemorrhoids in order to just ebash the code, then that’s good. And even tomorrow the github will be closed, it’s not a problem you will always have a mirror and your own website.

If you look at this as a whole, then you just chose another file storage system and that’s it))))))

Write cool code, and where the copy will be stored is not so important))

Although I would certainly prefer that you just take something modern and ready-made, for example, the same GOGS, but this is just my Wishlist. The main code, the rest is secondary.

In addition, github is now like a social network, many young developers are there simply because … because it is a social network, they learn about the SDL. It’s good. And it’s not about github, it could be anything else, but just with a large mass of people and ready-made tools for typical development tasks.

Sorry for my English. Happy Hacking ::slight_smile:

Thank you for your work on being a sysadmin for LibSDL for so many years. I’ve done a bit of work being a sysadmin at different places and times, and it can be a thankless and time-consuming job. I hope and can imagine that this change will be helpful in freeing up some of your own valuable time, going forward.

<< raises a glass >>

3 Likes

Ďakujem. Konečne to bude už lepšie. GitHub je super.

Probably was about time!
Hopefully after the big move you can concentrate on important things (coding) and less on petty maintenance of the infrastructure!

If you want what github/gitlab offers and keep full control on everything, maybe gitea is a valid option…
It’s an opensource self-hosted Git service, give it a look maybe…

@icculus @slouken
Thank you so much! I’m sure this is a hard transition for long-time Mercurial users, but for people like me, it significantly lowers the barrier of entry as a potential new SDL contributor. Mercurial has numerous usability issues and lacks features that I depend on every day - projects moving to Git make my life easier - so thank you again!

I don’t care much about the transition to GitHub (I use it begrudgingly myself - GitHub interface limits the options available to software maintainers via plain Git) - however, on the bright side, Git will allow you to easily host mirrors or move somewhere else. If you care about not being tied to Microsoft - I advice to not go overboard with the usage of GitHub Actions (it’s half-baked and clearly an attempt to tie people down) and avoid using Git-LFS (git-lfs is great for intended usecase, but not in free-tier Git hosting solutions). If you look for backup Git hosting that cares for your freedom, consider giving some business to https://sourcehut.org/ - it’s very competent, Free software top-to-bottom, and offers numerous compelling features (some unique ones as well).

As for wiki - GitHub wiki interface is rather poor, but there are numerous options to present the wiki content in a better way. There’s also an option of using something like mdBook for creating “SDL Book” (mdBook is used throughout the Rust ecosystem) - it would still be a bunch of text files in a Git repo underneath.

I offer my help with anything and everything Git-related:

  • if you want to have a forum thread dedicated to answering Git-related questions - I will be happy to monitor it and provide answers/explanations
  • if you need some automation or scripts to ease the transition from hg - drop me a line
  • If you’re missing a feature in the official git program - I can help with that as well :slight_smile:
1 Like

Wow, now it’s much better since you have been migrated to GitHub, I wondered! Now I can easier prepare my patches for the stuff without unnecessary bureaucracy regarding Mercurial patch files!
Okay, since this has been updated, now I should fix all my builds that pulling the latest SDL Mercurial, otherwise, they all will get died immediately. This also should fix the rest of the errors regarding archives packed by Mercurial, I had the dozen of workarounds for Windows builds to pull the side automatic mirror of SDL2 at GitHub that hadn’t problems like that. Now I’ll use the official GitHub repository instead of all that mess I made in the past. Thank you all!
Personally, I am tired from the limits of an ancient Bugzilla that won’t allow the rest of the formatting features, and even it won’t allow editing of messages and even removal! (That is very useful to fix typos or remove something posted by mistake, etc.). Also, GitHub allows commenting at commits that allows people to discuss certain things without of necessary to make one another issue or the forum topic, etc. Again, thank you!

I’m sorry but this logic is not always the best. Microsoft may not disappear, but it may switch to something else, overnight, for no apparent reason. Like Apple switched from Objective C to Swift, there are other examples. Like it switches one day to something else than GitHub, and in spite it may provide some transition tools, a lot goes to chimney.

That said, my project is in GitHub too, for the reasons you said, i can put it somewhere else when anything happens, but this is only a small code, and i have a copy, provided that i will still be alive then to do that, of course.

Past experience would make me think that it’s far less likely that Microsoft would do this than Apple!

Very sad day for the Mercurial advocate you were Ryan. But I can understand that you didn’t resist through the pressure of people thinking that GitHub is now the de-factor standard for open-source development.

Sure it has its benefits but it’s also the opportunity to be spammed by lots of trolls. Just considering how people reacts to “hot” issues (when linked through HN/Reddit or similar) with containers of emoji and gifs is incredible and I hope that it will never happen to you at least. Remember, GitHub issues are somewhat like Facebook nowadays.