Discussion:
RFC: Retire git.linuxcnc.org and move primary git to GitHub
(too old to reply)
Jeff Epler
2017-05-18 02:08:00 UTC
Permalink
Raw Message
How do developers of LinuxCNC feel about the idea of moving the
primary git hosting from git.linuxcnc.org to GitHub?

Historically, we made the decision to self-host our revision control
after a prolonged outage of the CVS service at sourceforge.net in
2006. Unlike git, cvs is only useful with a server (even "cvs diff"
and "cvs log" are network operations), so this was a serious
impediment to working on LinuxCNC.

When we made the transition to git in 2009, GitHub did not have the
stature or reputation that it now does among Free Software and Open
Source developers, so we continued to host our own revision control
system at that time.

Two things have become more clear to me recently. First, the degree
of immediate hardship if GitHub goes down is fairly minor, since
everyone can continue to work on their local complete copies of the
git history of LinuxCNC. Second, if GitHub has an extended downtime
or becomes unsuitable for other reasons, we can select other free
git hosting services (e.g., BitBucket) or spin up our own
hosting (e.g., GitLab CE).

Advantages of switching to GitHub as primary rather than a mirror are
that we can:

- retire the "Signed-off-by" rule[1], and instead rely on GitHub's
Terms of Service section D.5[2] to ensure contributions are
offered under an appropriate Free Software license. The
"Signed-off-by" rule prevents us from immediately accepting a
substantial number of first contributions made via GitHub.

- merge pull requests directly through their web interface, instead
of requiring a manual merge and push even for simple
non-conflicted merges

- administer push & merge access using the GitHub web UI; users can
administer their own ssh keys through the GitHub web UI

- get correct information on GitHub about who merged a PR or closed
an issue when the commit message says "Close: #nnn". (Right now,
because the mirror from git.linuxcnc.org to GitHub is done under
Chris Radek's ssh identity, he is identified as closing all
issues and PRs!)

- retire the self-hosted git.linuxcnc.org service

There are several one time costs associated with this change:

- Documentation will need to be modified to reflect the new
workflow

- Seb Kuzminsky must set up change notifications from GitHub to
buildbot; he states that he thinks "it will be easy to get that
part to work"

- Each repository user must issue a "git remote" command to change
the "origin" remote, or get a fresh clone

- Each developer using direct push access now will need their
GitHub account added to the linuxcnc "organization" on GitHub.

To begin with, I've identified 12 developers with push access to
git.linuxcnc.org who made at least one commit since 2016-1-1 and had
a GitHub account that I could find. We'd initially set everyone on
that list to have push access on GitHub.[3] If this list doesn't
include you, just contact an admin with your GitHub login.[4]

If you're a developer with direct push access currently and choose
not to create a GitHub account, we'll work out an alternate workflow
with you.

Of course, we will continue to accept patches via the mailing list,
from public git repos besides GitHub, and so on.

If there seems to be a general consensus to switch, then I'll
officially make a proposal for voting in a future IRC-meeting.

Jeff

[1]: http://linuxcnc.org/docs/devel/html/code/contributing-to-linuxcnc.html#_signed_off_by_policy
[2]: https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license
[3]: http://media.unpythonic.net/linuxcnc-pushed-since-2016-1-1.txt
[4]: Administrators of the GitHub linuxcnc organization are
currently Chris Radek, Seb Kuzminsky, and me
Chris Radek
2017-05-18 02:49:56 UTC
Permalink
Raw Message
Post by Jeff Epler
How do developers of LinuxCNC feel about the idea of moving the
primary git hosting from git.linuxcnc.org to GitHub?
I'm pretty sure I'm in favor of it, and I have an open mind and look
forward to hearing what other devs say.

Also I'm happy to help with infrastructure or directly with
individuals, however I'm needed.
Alec Ari
2017-05-18 04:46:29 UTC
Permalink
Raw Message
I'm not saying that moving to github is necessarily a bad idea, I personally use it for my projects, but I'd also like the developers to be aware of the recent troubles they've been in.

https://developers.slashdot.org/story/16/12/16/1639222/building-a-coders-paradise-is-not-profitable-github-lost-66m-in-nine-months-of-201


The policies of github are probably the most reasonable considering they're the only major git hosting service that allowed this one on their site:

https://github.com/ErisBlastar/cplusequality

I'm not the biggest fan of github's heavy use of Javascript (doesn't work in links and netsurf, tried it with duktape and spidermonkey, no success) so if you're concerned about browser security and being able to graphically browse git via web interface, I'd look elsewhere. I've always liked cgit and gitweb due to their minimalist design but github does offer some extra features like being able to browse the committers, view pull requests and such. Gerrit has similar features, but not a lot of projects use it. Github does have the best user interface IMO and for that, I use it, but at least check this out:


https://www.gerritcodereview.com/

Just throwing this out there.


Cheers!
andy pugh
2017-05-18 07:01:06 UTC
Permalink
Raw Message
Post by Jeff Epler
How do developers of LinuxCNC feel about the idea of moving the
primary git hosting from git.linuxcnc.org to GitHub?
One minor problem with this is that it becomes impossible to search
the source code when away from one's git repositories (for example
during lunch hour at work). I do this quite a lot when looking for
answers to forum queries.

Well, not actually impossible, just difficult as the github search
simply ignores many characters so a search for object.property becomes
a search for object and/or property.
--
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1916
Phill Carter
2017-05-18 07:31:33 UTC
Permalink
Raw Message
If you place it inside quotes ("object.properties") it is not perfect but does reduce the number of results considerably.
Cheers, Phill


Sent with K-9 Mail
Post by andy pugh
Post by Jeff Epler
How do developers of LinuxCNC feel about the idea of moving the
primary git hosting from git.linuxcnc.org to GitHub?
One minor problem with this is that it becomes impossible to search
the source code when away from one's git repositories (for example
during lunch hour at work). I do this quite a lot when looking for
answers to forum queries.
Well, not actually impossible, just difficult as the github search
simply ignores many characters so a search for object.property becomes
a search for object and/or property.
--
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1916
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-developers mailing list
https://lists.sourceforge.net/lists/listinfo/emc-developers
James Waples
2017-05-18 11:02:02 UTC
Permalink
Raw Message
As one of these new age web dev idiots, Github has always been part of my
workflow since I started writing code professionally. I think it's
important to consider the community aspects of Github; people are
increasingly under the assumption that interactions go through GH, so
moving LCNC to it would help contributions to the project IMO, as well as
increasing transparency with commits, issues and PRs. I quite like looking
at the commit log to see what's been happening, for example. There may be
something for that on git.linuxcnc.org but finding it on Github was far
easier.
Post by Phill Carter
If you place it inside quotes ("object.properties") it is not perfect but
does reduce the number of results considerably.
Cheers, Phill
Sent with K-9 Mail
Post by andy pugh
Post by Jeff Epler
How do developers of LinuxCNC feel about the idea of moving the
primary git hosting from git.linuxcnc.org to GitHub?
One minor problem with this is that it becomes impossible to search
the source code when away from one's git repositories (for example
during lunch hour at work). I do this quite a lot when looking for
answers to forum queries.
Well, not actually impossible, just difficult as the github search
simply ignores many characters so a search for object.property becomes
a search for object and/or property.
--
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1916
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-developers mailing list
https://lists.sourceforge.net/lists/listinfo/emc-developers
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-developers mailing list
https://lists.sourceforge.net/lists/listinfo/emc-developers
Jon Elson
2017-05-18 17:19:44 UTC
Permalink
Raw Message
Post by andy pugh
Post by Jeff Epler
How do developers of LinuxCNC feel about the idea of moving the
primary git hosting from git.linuxcnc.org to GitHub?
One minor problem with this is that it becomes impossible to search
the source code when away from one's git repositories (for example
during lunch hour at work). I do this quite a lot when looking for
answers to forum queries.
Oh, this is BIG! (Thanks, Andy!) I use the git web
interface ALL THE TIME to check some little bit of code to
answer a user's question. Often it is looking at a sample
config file, but also for other things. I'd be pretty
unhappy if the git web interface were to go away! (There
might be some way we could provide such an interface
ourselves, but I wouldn't know how.)

Jon
James Waples
2017-05-18 17:24:46 UTC
Permalink
Raw Message
Github has a pretty good code search and viewer. Is there something
fundamentally missing from it that the current system has? I don't use it a
great deal so there may be areas lacking in functionality.
Post by Jon Elson
Post by andy pugh
Post by Jeff Epler
How do developers of LinuxCNC feel about the idea of moving the
primary git hosting from git.linuxcnc.org to GitHub?
One minor problem with this is that it becomes impossible to search
the source code when away from one's git repositories (for example
during lunch hour at work). I do this quite a lot when looking for
answers to forum queries.
Oh, this is BIG! (Thanks, Andy!) I use the git web
interface ALL THE TIME to check some little bit of code to
answer a user's question. Often it is looking at a sample
config file, but also for other things. I'd be pretty
unhappy if the git web interface were to go away! (There
might be some way we could provide such an interface
ourselves, but I wouldn't know how.)
Jon
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-developers mailing list
https://lists.sourceforge.net/lists/listinfo/emc-developers
Curtis Dutton
2017-05-18 19:46:18 UTC
Permalink
Raw Message
Goood!
Post by James Waples
Github has a pretty good code search and viewer. Is there something
fundamentally missing from it that the current system has? I don't use it a
great deal so there may be areas lacking in functionality.
Post by Jon Elson
Post by andy pugh
Post by Jeff Epler
How do developers of LinuxCNC feel about the idea of moving the
primary git hosting from git.linuxcnc.org to GitHub?
One minor problem with this is that it becomes impossible to search
the source code when away from one's git repositories (for example
during lunch hour at work). I do this quite a lot when looking for
answers to forum queries.
Oh, this is BIG! (Thanks, Andy!) I use the git web
interface ALL THE TIME to check some little bit of code to
answer a user's question. Often it is looking at a sample
config file, but also for other things. I'd be pretty
unhappy if the git web interface were to go away! (There
might be some way we could provide such an interface
ourselves, but I wouldn't know how.)
Jon
------------------------------------------------------------
------------------
Post by Jon Elson
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-developers mailing list
https://lists.sourceforge.net/lists/listinfo/emc-developers
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-developers mailing list
https://lists.sourceforge.net/lists/listinfo/emc-developers
Jeff Epler
2017-05-18 20:20:49 UTC
Permalink
Raw Message
Post by James Waples
Github has a pretty good code search and viewer. Is there something
fundamentally missing from it that the current system has? I don't use it a
great deal so there may be areas lacking in functionality.
Here's what Andy said a few posts up the thread:
github search simply ignores many characters so a search for object.property
becomes a search for object and/or property.

For instance, compare the result of searching for "s.poll" in github and gitweb:
http://git.linuxcnc.org/gitweb?p=linuxcnc.git&a=search&st=grep&s=s.poll
https://github.com/LinuxCNC/linuxcnc/search?q=s.poll

github docs[1] state
You can't use the following wildcard characters as part of your
search query: . , : ; / \ ` ' " = * ! ? # $ & + ^ | ~ < > ( ) {
} [ ]. The search will simply ignore these symbols.
which is actually not great for searching code. Simple for them to
code, I imagine. There's a two year old issue asking for it to be
improved[2].

gitweb help warns:
On large trees, this search can take a while and put some strain on
the server, so please use it with some consideration
but I don't think this has caused us trouble in practice.

Jeff
[1]: https://help.github.com/articles/searching-code/
[2]: https://github.com/isaacs/github/issues/402

Sebastian Kuzminsky
2017-05-18 15:33:01 UTC
Permalink
Raw Message
Post by Jeff Epler
How do developers of LinuxCNC feel about the idea of moving the
primary git hosting from git.linuxcnc.org to GitHub?
I'm in favor of this idea, and I volunteer to do the buildbot integration.
--
Sebastian Kuzminsky
Loading...