openlcb / documents

The OpenLCB specification: standards, recommended practices and other documentation.
3 stars 7 forks source link

Import to GitHub failed to properly attribute authorship #4

Closed bobjacobsen closed 7 years ago

bobjacobsen commented 7 years ago

It looks like this GitHub repository was made from the OpenLCB SourceForge.net SVN in early October, 2016.

Unfortunately, whoever did this didn't properly import the authorship attributions, and the connection between the original SVN-resident commits and their authorship on GitHub was broken. (This is normally done with --author on git-svn or --authors on svn2git; see the JMRI author conversation file for an example)

All the imported authorship attributions are broken. For example, look at 2d00e88a822574d1b42abf6d2352fe71591faa81 it shows a user of "kiwi64ajs", which should be attributed to Alex Shepherd, but the link to his account wasn't established when the repository was imported. On the other hand, commit dd3a02c830176b27e0d9e86f7dd52ec82bd22422, done directly on GitHub, does show properly Alex's icon and account link.

It's particularly unfortunate when the author's user name is different on SourceForge and GitHub. For example, there's no easy way to determine that commit a9feab8e5cd4a3a90b317ef036a6d616e5452fc2, originally on SourceForge, by "bracz" is really by "balazsracz" on GitHub, who is of course Balazs Racz.

In my case, all the work I authored in multiple commits over several years is now attributed to "jacobsen", who is most definitely NOT me. I'm "bobjacobsen" on GitHub. The "jacobsen" account is somebody different!

The SourceForge SVN repository has clear licensing terms in the Licensing.html file (which seems to have been unfortunately lost in the conversion, another thing that needs to be fixed). For documentation, including the documentation now in this repository, the content was made available by authors (including me) under the terms of Creative Commons Attribution-ShareAlike 3.0 license. The requirement to do proper attribution is not in any way subtle: it's even in the name of the license!

The attributions in this repository must be fixed promptly.

pabender commented 7 years ago

@balazsracz

Since you've taken ownership of this, you may want to look at: https://help.github.com/articles/changing-author-info/

balazsracz commented 7 years ago

thanks for the links.

i will also try to use the translation table from JMRI to resolve whatever I can; I think there is a good hope that most contributors will be there. ​

pabender commented 7 years ago

Just make sure whatever changes you end up making don't destroy the changes we've made since the repository was moved here.

balazsracz commented 7 years ago

​absolutely! I will create a backup branch of the current master, and let's also fix the current head here: 680bede18a83f60144bbd4de23e62d184c26b050 The script you pointed to seems it will do the trick fine.

balazsracz commented 7 years ago

I have a proposal for the new master branch: https://github.com/openlcb/documents/tree/newmaster

Please let me know if it fulfills the needs, and if so, I will reset master and update the other repositories as well.

thanks, Balazs

kiwi64ajs commented 7 years ago

Hi Bob,

I’ll leave the SVN / Git author fix-ups to others who are much more experienced than me at such things… ;)

The SourceForge SVN repository has clear licensing terms in the Licensing.html file (which seems to have been unfortunately lost in the conversion, another thing that needs to be fixed).

However the Licensing part I thought I had migrated faithfully in that the old links that were/are in the footers of all the docs should still all work and display the license text as it did previously.

Originally the licensing page was here:

http://openlcb.org/Licensing.html

And that is still in all the docs and when you browse that link it still displays the same licensing terms etc.

With the move to WordPress the old static website got renamed to: http://old.openlcb.org and I’ve tried to fix all the old static links to point to the old content at the new location. Hopefully I didn’t miss many links - but I could have, however the old licensing page is now here:

http://old.openlcb.org/Licensing.html

On the new website the following URLs:

http://openlcb.org/Licensing.html
http://openlcb.org/Licensing

All redirect to the same WordPress CMS content page here:

http://openlcb.org/about-openlcb/licensing/

That should contain the original licensing text verbatim so if there is an issue that I’ve missed can you let me know where that is so I can fix it?

Regards

Alex Shepherd

p: +64-7-829 4441 m: +64-21-777764 e: kiwi64ajs@gmail.com

pabender commented 7 years ago

On 02/21/2017 04:31 PM, Balazs Racz wrote:

I have a proposal for the new master branch: https://github.com/openlcb/documents/tree/newmaster

Please let me know if it fulfills the needs, and if so, I will reset master and update the other repositories as well.

It looks to me like that did the trick.

@bobjacobsen, I went back in the commit history and found a commit labeled with you as the author from February 2015:

https://github.com/openlcb/documents/commit/a560a67ded88941b3e33d68e4b967720b029f2e4

I didn't go back further than that, but other authors are attributed also.

Paul

bobjacobsen commented 7 years ago

Thanks all for jumping on this. @pabender: That branch looks looks fine. I used the History button to back a few files, and everybody showed connected to a GitHub account. Thanks again!

@kiwi64ajs: There are references to the original Licensing.html file as if that file is in this repository, c.f. index.html which contains in relevant part:

<P STYLE="margin-bottom: 0cm">This web sites contains trademarks and
copyrighted information. Please see the <A HREF="/Licensing.html">Licensing</A>
page.</P>

That Licensing.html file is perhaps somewhere, but it isn't at the top level of this repository. Finding it requires context that's not easy to find.

As an alternative (c.f. the OpenLCB_Java repository), you could copy the Licensing.html language into the README.md file. That's easy enough to find.

kiwi64ajs commented 7 years ago

Hi Guys,

On 22/02/2017, at 4:32 PM, Bob Jacobsen notifications@github.com wrote:

Thanks all for jumping on this. @pabender: That branch looks looks fine. I used the History button to back a few files, and everybody showed connected to a GitHub account. Thanks again!

Ok, I’ve stepped right back to the beginning of time to the first commit (bobjacobsen committed on 6 Nov 2009) checking for non-GitHub authors and found 3 others:

Mike Johnson mike47j@users.sourceforge.net https://sourceforge.net/u/mike47j/profile - Last Activity 3 years ago Robert Middleton rm5248@users.sourceforge.net https://sourceforge.net/u/rm5248/profile - Last Activity 2 months ago Tim Hatch nratonpass@users.sourceforge.net https://sourceforge.net/u/nratonpass/profile/ - Last Active 1 year ago

A quick search by name doesn’t yield a GitHub account so I will email them and ask if they have a GitHub account we could use, otherwise I guess we’ll just leave those author names as they are as they at least point to an email address on SourceForge.

@kiwi64ajs: There are references to the original Licensing.html file as if that file is in this repository, c.f. index.html which contains in relevant part:

This web sites contains trademarks and copyrighted information. Please see the Licensing page.

That Licensing.html file is perhaps somewhere, but it isn't at the top level of this repository. Finding it requires context that's not easy to find.

Ok looks like this has been fixed already in the new tree

Alex

balazsracz commented 7 years ago

The transition is now complete.

before: $ git log --format='%an %ae' | sed 's/ [^ ]*@/ x@/' | sort | uniq -c | sort -n 1 Alex Shepherd x@gmail.com 1 pbender x@87536cb5-86f1-4cdc-8fc6-3f0f71bcd267 1 rm5248 x@87536cb5-86f1-4cdc-8fc6-3f0f71bcd267 2 Balazs Racz x@gmail.com 7 Stuart Baker x@ymail.com 19 perra_e x@87536cb5-86f1-4cdc-8fc6-3f0f71bcd267 42 kiwi64ajs x@87536cb5-86f1-4cdc-8fc6-3f0f71bcd267 45 captoblivious x@87536cb5-86f1-4cdc-8fc6-3f0f71bcd267 69 bakerstu x@87536cb5-86f1-4cdc-8fc6-3f0f71bcd267 82 mike47j x@87536cb5-86f1-4cdc-8fc6-3f0f71bcd267 95 nratonpass x@87536cb5-86f1-4cdc-8fc6-3f0f71bcd267 224 CaptOblivious x@87536cb5-86f1-4cdc-8fc6-3f0f71bcd267 271 bracz x@87536cb5-86f1-4cdc-8fc6-3f0f71bcd267 454 jimkueneman626 x@87536cb5-86f1-4cdc-8fc6-3f0f71bcd267 526 dpharris x@87536cb5-86f1-4cdc-8fc6-3f0f71bcd267 2195 jacobsen x@87536cb5-86f1-4cdc-8fc6-3f0f71bcd267

after: $ git log --format='%an %ae' | sed 's/ [^ ]*@/ x@/' | sort | uniq -c | sort -n 1 Robert Middleton x@gmail.com 3 Tim Hatch x@users.sourceforge.net 9 Mike Johnson x@gmail.com 16 Don Goodman-Wilson x@screenhero.com 26 Alex Shepherd x@gmail.com 63 Jim Kueneman x@yahoo.com 76 Stuart Baker x@ymail.com 136 Balazs Racz x@gmail.com 384 David Harris x@telus.net 1033 Bob Jacobsen x@mac.com

thanks Bob for bringing this to our attention.

The previous master is archived at a branch called "oldmaster" for now. After a while we could delete and garbage collect it, but I propose a holding period of about a year or so.

balazsracz commented 7 years ago

Also added licensing page.

pabender commented 7 years ago

So why do I appear in the before list ( as pbender ) but not in the after?

Paul

Sent from my iPad

On Feb 23, 2017, at 7:25 AM, Balazs Racz notifications@github.com wrote:

The transition is now complete.

before: $ git log --format='%an %ae' | sed 's/ [^ ]*@/ x@/' | sort | uniq -c | sort -n 1 Alex Shepherd x@gmail.com 1 pbender x@87536cb-86f1-4cdc-8fc6-3f0f71bcd267 1 rm5248 x@87536cb-86f1-4cdc-8fc6-3f0f71bcd267 2 Balazs Racz x@gmail.com 7 Stuart Baker x@ymail.com 19 perra_e x@87536cb-86f1-4cdc-8fc6-3f0f71bcd267 42 kiwi64ajs x@87536cb-86f1-4cdc-8fc6-3f0f71bcd267 45 captoblivious x@87536cb-86f1-4cdc-8fc6-3f0f71bcd267 69 bakerstu x@87536cb-86f1-4cdc-8fc6-3f0f71bcd267 82 mike47j x@87536cb-86f1-4cdc-8fc6-3f0f71bcd267 95 nratonpass x@87536cb-86f1-4cdc-8fc6-3f0f71bcd267 224 CaptOblivious x@87536cb-86f1-4cdc-8fc6-3f0f71bcd267 271 bracz x@87536cb-86f1-4cdc-8fc6-3f0f71bcd267 454 jimkueneman626 x@87536cb-86f1-4cdc-8fc6-3f0f71bcd267 526 dpharris x@87536cb-86f1-4cdc-8fc6-3f0f71bcd267 2195 jacobsen x@87536cb-86f1-4cdc-8fc6-3f0f71bcd267

after: $ git log --format='%an %ae' | sed 's/ [^ ]*@/ x@/' | sort | uniq -c | sort -n 1 Robert Middleton x@gmail.com 3 Tim Hatch x@users.sourceforge.net 9 Mike Johnson x@gmail.com 16 Don Goodman-Wilson x@screenhero.com 26 Alex Shepherd x@gmail.com 63 Jim Kueneman x@yahoo.com 76 Stuart Baker x@ymail.com 136 Balazs Racz x@gmail.com 384 David Harris x@telus.net 1033 Bob Jacobsen x@mac.com

thanks Bob for bringing this to our attention.

The previous master is archived at a branch called "oldmaster" for now. After a while we could delete and garbage collect it, but I propose a holding period of about a year or so.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

balazsracz commented 7 years ago

​I filtered empty commits. You committed probably to the java repository, but your commit showed up in the documents repository too with no files changed. This was another mistake I made during the import. You can see the total number of commits decreased radically (from 4.2k to 1.7k).

Balazs