From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 6DEE37EE4B for ; Mon, 30 Sep 2013 02:43:53 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of anil@recoil.org) identity=pra; client-ip=89.16.177.154; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="anil@recoil.org"; x-sender="anil@recoil.org"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of anil@recoil.org) identity=mailfrom; client-ip=89.16.177.154; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="anil@recoil.org"; x-sender="anil@recoil.org"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@dark.recoil.org) identity=helo; client-ip=89.16.177.154; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="anil@recoil.org"; x-sender="postmaster@dark.recoil.org"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AjUBADDISFJZELGal2dsb2JhbABagz+tT4EkklaBNQ4BAQEBAQgWBzyCJQEBBAEnUgULC0ZFEgYTFAaHWgMJCgi7aoxmgjgzB4MfgQMDlhqBZYEvixaIWTs X-IPAS-Result: AjUBADDISFJZELGal2dsb2JhbABagz+tT4EkklaBNQ4BAQEBAQgWBzyCJQEBBAEnUgULC0ZFEgYTFAaHWgMJCgi7aoxmgjgzB4MfgQMDlhqBZYEvixaIWTs X-IronPort-AV: E=Sophos;i="4.90,1006,1371074400"; d="scan'208";a="34818229" Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) ([89.16.177.154]) by mail2-smtp-roc.national.inria.fr with SMTP; 30 Sep 2013 02:43:51 +0200 Received: (qmail 6784 invoked by uid 634); 30 Sep 2013 00:43:51 -0000 X-Spam-Level: * X-Spam-Check-By: dark.recoil.org Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginmedia.com (HELO [192.168.1.62]) (86.30.244.239) (smtp-auth username remote@recoil.org, mechanism cram-md5) by dark.recoil.org (qpsmtpd/0.84) with ESMTPA; Mon, 30 Sep 2013 01:43:50 +0100 Content-Type: text/plain; charset=iso-8859-1 Mime-Version: 1.0 (Mac OS X Mail 7.0 \(1811\)) From: Anil Madhavapeddy In-Reply-To: <1380474804.746.YahooMailNeo@web120405.mail.ne1.yahoo.com> Date: Mon, 30 Sep 2013 01:43:47 +0100 Cc: OCaml mailing-list Content-Transfer-Encoding: quoted-printable Message-Id: References: <1380474804.746.YahooMailNeo@web120405.mail.ne1.yahoo.com> To: Dario Teixeira X-Mailer: Apple Mail (2.1811) X-Virus-Checked: Checked by ClamAV on dark.recoil.org Subject: Re: [Caml-list] OCaml Forge and Github On 29 Sep 2013, at 18:13, Dario Teixeira wrote: > Hi, >=20 > I have a number of projects hosted on the OCaml Forge (thank you Sylvain!= ),=20 > and the hosting includes the Subversion repository for each project. It = is, > however, harder and harder to resist the allure of Github, particularly w= hen > people sending me patches explicitly mention they would prefer to interact > through it. I have no complaints about the Forge, though, and I find it = a=20 > very useful service. However, I would of course also like to accommodate > the Github crowd. >=20 > My default approach would be to convert and migrate the SVN repos to Gith= ub,=20 > keeping on the Forge only the webpage, file releases, and news. But I'm > curious: how did other projects deal with this situation? Is there some = other > approach the community would find preferable? For me, the lure of GitHub is the level of automation and scripting that it permits, so I prefer having all my packages on there simply so I can write code to take care of release tedium (using the self-referential bindings at https://github.com/avsm/ocaml-github). There's also the network effect of using other people's tools that are built on top of it. For instance, I've just been playing with continuous integra= tion and refreshed Mike Lin's scripts; this lets you hook up executable tests th= at run in the cloud (for free, for open source projects) in minutes of work: http://anil.recoil.org/2013/09/30/travis-and-ocaml.html An interesting feature of Travis is the post-success hook, which can be used to trigger further work (such as deeper OCamlot tests, for OPAM). You may be able to handle the Forge interaction through that mechanism, for instance by doing an SVN commit from the Git push hook. I'm experimenting with building ocamldoc for every package and pushing it to the gh-pages branch (so that it's published on GitHub pages automatically on every push). Incidentally, the scripts that convert the OCaml SVN to Git are available: https://github.com/ocaml/ocaml.org-scripts/tree/master/vcs-sync/svn-ocaml They are a bit smarter than the average SVN->Git convertor and create real git branches for SVN tags. This may help you if you wish to migrate from SVN to Git (even if the Forge supports git, it probably requires this=20 conversion process too). -anil=