public inbox for kawa@sourceware.org
 help / color / mirror / Atom feed
From: Per Bothner <per@bothner.com>
To: kawa@sourceware.org
Subject: Re: Switching from Subversion to Git
Date: Mon, 22 Sep 2014 21:15:00 -0000	[thread overview]
Message-ID: <5420917F.2090107@bothner.com> (raw)
In-Reply-To: <CAOTvmokUE3SkhLxxo0arsfYMb44P_FrnB1qwZ0J8xYVLjmRS=Q@mail.gmail.com>

Thanks for your strong reasoning - sorry I've been tardy replying.

On 09/05/2014 09:58 AM, Matthieu Vachon wrote:
> For me, it's more about switching to GitHub than to git. Switching to
> git (or mercurial) only would bring not much overall to the current
> process. The big advantages would come when switching to a hosted
> collaboration platform. GitHub being the preferred for many peoples,
> including me.
>
> Here some advantages I see in switching to GitHub:
>
> 1. Better collaboration
>
> GitHub is built around collaboration and is very good at it in my
> opinion. The way Pull Requests works as many advantages, being able to
> review and comment patches at a single place, putting together all the
> necessary information of changes. Being close to the source code is
> also a good plus being able to quickly point people to some part of
> the source code. Also, issues management is a good plus since their
> system is very clean and well made. Finally, not that important but
> being markdown-aware everywhere make it something I like to work with.

> Also, merging stuff into the main repository would require much less
> work from you. People do pull requests, you review them, they make the
> necessary changes and when ready, you only have to press a button and
> the merge is made. This requires less manual work on your side giving
> you more time for core development. There is not much patches right
> now, so it might be a non-argument, but still :)

Suppose we enable this workflow, how would that change my current
workflow for changes that I make?  Right now, after I've tested a
patch, I just do 'svn ci'.  With "raw git" (or Mercurial) its
two commands, which is not noticably worse.  But if I have a trivial
fix I want to make, what is my workflow when using github?

> Using issues and labels efficiently, people could easily know some
> easy pick to improve Kawa. This is a great way to get people to work
> and to plan future additions.
>
> 2. Git (would also apply for Mercurial)
>
> In general, I think git is far better and much pleasant to work with
> than SVN. This is mainly a personal opinion, but I feel I'm not alone
> thinking this. The branching model is damn good and fast and I always
> enjoy working with it. In find nowadays that tooling is getting better
> on git side than on SVN side. The fact that down time has much less
> impact on git than SVN is also a good point for me.
>
> Plus, I already worked on the SVN to git conversion. I maintain it on
> GitHub and syncing it with SVN from time to time. This would reduce
> the work needed to make the conversion.
>
> 3. Continuous integration
>
> Travis CI being tied to Github, just this piece would be a good
> improvement for a project like Kawa. Being able to test multiple
> platforms after each push to the repository is enormous considering
> the variety of Java implementation out there and versions supported
> by Kawa. Moreover, pull requests could be directly tested prior being
> merged in the master branch resulting in increased quality.
>
> Again, I have made some work on this regarding Travis and Kawa code,
> there would be not much work needed to activate this.

This could certainly be a big plus.

> 4. Better Feeling
>
> Savannah and al is a good platform, but GitHub feels much better than
> it. Most operations are web-based often resulting in less manual
> operations. The UI is nicer and it gives a nice feeling for new people
> to collaborate on the project. In my opinion, it is a more modern
> platform, continuously updated and always offering more and more
> features.

Kawa is a GNU project (though a low-profile one), and politically I
want to be part of the GNU umbrella.  That is one advantage to Savannah.


> 5. Exposure
>
> As other mentioned already, and I also agree with them, their would be
> more exposure possibility being on GitHub. There is a lot of
> developers on this platform and I'm sure it would bring collaborators
> in the future. I feel there is a massive amount of developer lurking
> on GitHub. It would also make a good blog post maybe attracting some
> traffic around the Kawa project.

That's not clear to be.  With millions of Github projects, I'd be
surprised if getting noticed would be any easier.

> 6. Organization
>
> A Kawa organization could be created on GitHub and more projects could
> be hosted their. For example, the current (or a new) Kawa website
> source repository could go their. This is something I would like to
> improve in the future. At some point, documentation could be hosted
> their also but that is another story.

For now I'd like to keep at least the Kawa web pages on gnu.org, and
use the existing framework.  (Not to deny that the webpages need work -
to start the home page needs to be simplified and the Features page
needs to be updated and punchier.)

I do own the kawa-lang.org domain.  If at some point we move the website,
I'd like to use that.

> The Kawa organization could also hosted some useful Kawa libraries
> their giving them more exposure and usefulness. Here at work, we have
> a bunch of useful of general Kawa modules that could be open-sourced.
> These modules don't belongs to Kawa core but could help adoption of
> Kawa by promoting re-usable common piece of software, something a la
> Guava.

> 7. Releases
>
> GitHub has a nice support for project releases tied to git tags. Kawa
> releases could be hosted on GitHub. Everything would be in one place.
>
> https://github.com/blog/1547-release-your-software

Kawa source tarballs are a bit more complex, following GNU standards.
Can the Github release mechanism handle that?  I see you can add extra
"assets" (such as pre-generated files), but it's not clear how to do
that automatically .

>
> 8. GitHub Pages & Wiki
>
> GitHub pages could be used to host a new website for Kawa. Based on
> Jekyll 2.0, a static site generator, the GitHub pages act solely as a
> hosting point. This reduce the burden of maintenance. I never used it
> myself, but releasing an minor update to a website is performed using
> a single push to a git repository, again reducing to a really
> low-level the maintenance of a website. Change, commit and push.
>
> https://pages.github.com/
>
> Moreover, all GitHub repository comes with a Wiki, enabling people to
> put their their own tip and tricks and cookbooks for using Kawa and
> stuff like this. Maybe not much gain but could be useful.
>
> In the end, there is potentially some disadvantages in switching to
> GitHub. But they should be minor and I don't see how they could
> overcome the advantages.

I have no experience using GitHub (except some simple browsing) so
we'd need volunteer(s) to do it.

If we switch to GitHub for bug-tracking (which I assume you wuld recommend?)
then we have problem what to do with existing issues.  I assume it would
be too difficult to migrate the existing issues.
-- 
	--Per Bothner
per@bothner.com   http://per.bothner.com/

  reply	other threads:[~2014-09-22 21:15 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-28 20:15 Duncan Mak
2014-08-28 20:30 ` Per Bothner
2014-08-28 20:50   ` Duncan Mak
2014-08-28 20:52     ` mikel evins
2014-09-05 16:58       ` Matthieu Vachon
2014-09-22 21:15         ` Per Bothner [this message]
2014-09-24  2:28           ` Matthieu Vachon
2014-09-24  5:40             ` David Pirotte
2014-09-24  5:56               ` mikel evins
2014-09-24 12:16               ` Matthieu Vachon
2014-09-25 18:44                 ` Per Bothner
2014-09-26  6:43                   ` Helmut Eller
2014-10-04  6:04                     ` Fwd: " Matthieu Vachon
2014-10-04  7:02                       ` Per Bothner
2015-08-24 19:01                         ` Per Bothner
2015-08-26 14:35                           ` Matthieu Vachon
2015-08-27  2:50                             ` Per Bothner
2015-09-15 16:54                               ` Matthieu Vachon
2015-09-15 16:55                                 ` Matthieu Vachon
2014-08-28 20:51   ` mikel evins

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5420917F.2090107@bothner.com \
    --to=per@bothner.com \
    --cc=kawa@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).