SDL now using Mercurial!

SDL source repository has now been switched over to use Mercurial!
http://www.libsdl.org/hg.php

If you don’t use Mercurial and never want to, don’t worry, you can
still grab snapshots from the SDL website and send patches the way you
always have.

There are a number of reasons why this change was made, and here are a few:

  • It’s much easier to iterate locally on changes before pushing them
    to the world, resulting in better code in the wild.
  • It’s much easier to share changes with other people using
    Mercurial, which is great for the Google Summer of Code students.
    (e.g. hg export/import)
  • It’s much faster to update and commit (or push and pull)
  • Mercurial has similar syntax to Subversion for simple operations

Here is Ryan’s quickstart on Mercurial:

  • The best quick-start tutorial I’ve read is Joel Spolsky’s new
    hginit.com. You should read it. It’s interesting and funny. I’ve read
    a lot of quick-start tutorials, and no other does it as well.

  • The important thing to know, as a subversion user, is to stop
    fearing branching. Mercurial works best when you have a bunch of
    little ad-hoc branches weaving around each other.

  • When committing new changes, keep the first sentence of the log
    comment short and on a line by itself. It’ll be used for the summary.

  • More or less, most commands work like Subversion’s, and there is a
    TortoiseHg to match TortoiseSvn, if that’s you’re thing. But once you
    start using things that Subversion can’t do (bisect, record, shelve,
    rollback, queues, etc), you’re going to find yourself annoyed when you
    have to work with a Subversion repository and can’t use these extra
    features.

In case you’re curious, there’s lots of discussion on the why’s and
wherefores on the SDL forums:
http://forums.libsdl.org/viewtopic.php?t=6047

See ya!–
-Sam Lantinga, Founder and President, Galaxy Gameworks LLC

Hi all!
I think it is a great news! I used to convert some svn repositories
(including SDL) with hgsvn… no need anymore :slight_smile:

If you have not used hg or git, you should look at some videos of ‘Linus
Torvalds on git’ (easy to find).

Changing from CVS/SVN to hg/git is a bit disturbing at the beginning,
but once you have tested it, it is really hard to go back!

Lo?c

Le 12/04/2010 08:27, Sam Lantinga a ?crit :> SDL source repository has now been switched over to use Mercurial!

http://www.libsdl.org/hg.php

If you don’t use Mercurial and never want to, don’t worry, you can
still grab snapshots from the SDL website and send patches the way you
always have.

There are a number of reasons why this change was made, and here are a few:

  • It’s much easier to iterate locally on changes before pushing them
    to the world, resulting in better code in the wild.
  • It’s much easier to share changes with other people using
    Mercurial, which is great for the Google Summer of Code students.
    (e.g. hg export/import)
  • It’s much faster to update and commit (or push and pull)
  • Mercurial has similar syntax to Subversion for simple operations

Here is Ryan’s quickstart on Mercurial:

  • The best quick-start tutorial I’ve read is Joel Spolsky’s new
    hginit.com. You should read it. It’s interesting and funny. I’ve read
    a lot of quick-start tutorials, and no other does it as well.

  • The important thing to know, as a subversion user, is to stop
    fearing branching. Mercurial works best when you have a bunch of
    little ad-hoc branches weaving around each other.

  • When committing new changes, keep the first sentence of the log
    comment short and on a line by itself. It’ll be used for the summary.

  • More or less, most commands work like Subversion’s, and there is a
    TortoiseHg to match TortoiseSvn, if that’s you’re thing. But once you
    start using things that Subversion can’t do (bisect, record, shelve,
    rollback, queues, etc), you’re going to find yourself annoyed when you
    have to work with a Subversion repository and can’t use these extra
    features.

In case you’re curious, there’s lots of discussion on the why’s and
wherefores on the SDL forums:
http://forums.libsdl.org/viewtopic.php?t=6047

See ya!

this is great news, i was wondering why there haven’t been any update on the
sources lately and now i understand why :slight_smile:

i have a question about how the repository are now managed:
with svn if you did a checkout on the trunk folder you’d get also the
sources for sdl_image, net, mixer and ttf; right now you have to hg clone 5
times, is it correct?
would it be possible to insert a meta-repository so that by cloning the root
repository you could get also the sources of the other projects hosted?
i guess that this would help people (like me) who like to read the changes
via the web interface

VittorioOn Mon, Apr 12, 2010 at 10:14 AM, Lo?c LAMBERT <dev.lambert at free.fr> wrote:

Hi all!
I think it is a great news! I used to convert some svn repositories
(including SDL) with hgsvn… no need anymore :slight_smile:

If you have not used hg or git, you should look at some videos of ‘Linus
Torvalds on git’ (easy to find).

Changing from CVS/SVN to hg/git is a bit disturbing at the beginning, but
once you have tested it, it is really hard to go back!

Lo?c

Le 12/04/2010 08:27, Sam Lantinga a ?crit :

SDL source repository has now been switched over to use Mercurial!

http://www.libsdl.org/hg.php

If you don’t use Mercurial and never want to, don’t worry, you can
still grab snapshots from the SDL website and send patches the way you
always have.

There are a number of reasons why this change was made, and here are a
few:

  • It’s much easier to iterate locally on changes before pushing them
    to the world, resulting in better code in the wild.
  • It’s much easier to share changes with other people using
    Mercurial, which is great for the Google Summer of Code students.
    (e.g. hg export/import)
  • It’s much faster to update and commit (or push and pull)
  • Mercurial has similar syntax to Subversion for simple operations

Here is Ryan’s quickstart on Mercurial:

  • The best quick-start tutorial I’ve read is Joel Spolsky’s new
    hginit.com. You should read it. It’s interesting and funny. I’ve read
    a lot of quick-start tutorials, and no other does it as well.

  • The important thing to know, as a subversion user, is to stop
    fearing branching. Mercurial works best when you have a bunch of
    little ad-hoc branches weaving around each other.

  • When committing new changes, keep the first sentence of the log
    comment short and on a line by itself. It’ll be used for the summary.

  • More or less, most commands work like Subversion’s, and there is a
    TortoiseHg to match TortoiseSvn, if that’s you’re thing. But once you
    start using things that Subversion can’t do (bisect, record, shelve,
    rollback, queues, etc), you’re going to find yourself annoyed when you
    have to work with a Subversion repository and can’t use these extra
    features.

In case you’re curious, there’s lots of discussion on the why’s and
wherefores on the SDL forums:
http://forums.libsdl.org/viewtopic.php?t=6047

See ya!


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Vittorio G. wrote:

this is great news, i was wondering why there haven’t been any update on
the sources lately and now i understand why :slight_smile:

i have a question about how the repository are now managed:
with svn if you did a checkout on the trunk folder you’d get also the
sources for sdl_image, net, mixer and ttf; right now you have to hg
clone 5 times, is it correct?
would it be possible to insert a meta-repository so that by cloning the
root repository you could get also the sources of the other projects hosted?
i guess that this would help people (like me) who like to read the
changes via the web interface

We don’t have that at the moment, but here are a few options in the
meantime.

There are RSS and Atom feeds for each project, if you want to use Google
Reader or something else to notify you of changes…

 http://hg.libsdl.org/SDL/rss-log
 http://hg.libsdl.org/SDL_mixer/rss-log
 (etc)

…or you can look at the project summary page, sorted by latest change,
which will tell you when a project has been updated, but not the
specific updates…

 http://hg.libsdl.org/?sort=lastchange

…or you can just see the summary of a given project, which lists the
latest changes…

 http://hg.libsdl.org/SDL/

…or the “shortlog” which lists more changes on one page…

 http://hg.libsdl.org/SDL/shortlog

…or subscribe to the commits mailing list, which sends an email for
each commit to any repository.

I might hack up some PHP to do a summary view and RSS feed for all the
projects combined, but I haven’t, yet.

–ryan.

Hello !

i have a question about how the repository are now managed:
with svn if you did a checkout on the trunk folder you’d get also the
sources for sdl_image, net, mixer and ttf; right now you have to hg
clone 5 times, is it correct?
would it be possible to insert a meta-repository so that by cloning
the root repository you could get also the sources of the other
projects hosted?
i guess that this would help people (like me) who like to read the
changes via the web interface

I have never used Mercurial, but with GIT, which i think is similar to it,
when you clone a repository, you copy not only all latest versions, but all the changesets
too.

GIT has a way to only checkout the latest file versions, very much like SVN,
but without all the changesets. If this is also possible with Mercurial, a hint
on the SDL checkout page might be usefull, for people who have very limited bandwith,
for example on Dial Ups or with mobile internet access.

CU

yes i saw them, and actually i think that the changelog and shortlog are
cooler than svn’s
however checking for 5 sites can be a little tedious…
how about an rss aggregator that collects data from the five rss feeds in
one single feed?
VittorioOn Mon, Apr 12, 2010 at 6:31 PM, Ryan C. Gordon wrote:

Vittorio G. wrote:

this is great news, i was wondering why there haven’t been any update on
the sources lately and now i understand why :slight_smile:

i have a question about how the repository are now managed:
with svn if you did a checkout on the trunk folder you’d get also the
sources for sdl_image, net, mixer and ttf; right now you have to hg clone 5
times, is it correct?
would it be possible to insert a meta-repository so that by cloning the
root repository you could get also the sources of the other projects hosted?
i guess that this would help people (like me) who like to read the changes
via the web interface

We don’t have that at the moment, but here are a few options in the
meantime.

There are RSS and Atom feeds for each project, if you want to use Google
Reader or something else to notify you of changes…

http://hg.libsdl.org/SDL/rss-log
http://hg.libsdl.org/SDL_mixer/rss-log
(etc)

…or you can look at the project summary page, sorted by latest change,
which will tell you when a project has been updated, but not the specific
updates…

http://hg.libsdl.org/?sort=lastchange

…or you can just see the summary of a given project, which lists the
latest changes…

http://hg.libsdl.org/SDL/

…or the “shortlog” which lists more changes on one page…

http://hg.libsdl.org/SDL/shortlog

…or subscribe to the commits mailing list, which sends an email for each
commit to any repository.

I might hack up some PHP to do a summary view and RSS feed for all the
projects combined, but I haven’t, yet.

–ryan.


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

however checking for 5 sites can be a little tedious…
how about an rss aggregator that collects data from the five rss feeds
in one single feed?

Here’s one for you:
http://www.rssmix.com/u/868840/rss.xml

Laziness prevails for now, but I’ll eventually write up some PHP so this
information is provided on libsdl.org, both as HTML and RSS.

–ryan.