GitHub migration procedure

Discussion about the project in general, organization, website, or any other details that aren't directly about the game.
Message
Author
User avatar
Vezzra
Release Manager, Design
Posts: 6095
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: GitHub migration procedure

#31 Post by Vezzra »

MatGB wrote:I've verified my Github address and made sure it's public, beyond that I'll bow out until you've figured out what's going on ;-)
You're sure you got that right? Because, when I view your profile, I don't see any email address, and when I reassign your account in the authors list, your commits don't get associated with your account.

Maybe also set the email address to "primary"...?

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: GitHub migration procedure

#32 Post by Geoff the Medio »

Vezzra wrote:...it seems you made your email address public again?
It's currently set to private, and has been since my previous post.

User avatar
Vezzra
Release Manager, Design
Posts: 6095
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: GitHub migration procedure

#33 Post by Vezzra »

Geoff the Medio wrote:It's currently set to private, and has been since my previous post.
Um, I'm increasingly confused. If it's set to private, why is it shown on your profile page? And Mat claims to have set his email to public, but I do not see any email address on his profile page.

:?

User avatar
Vezzra
Release Manager, Design
Posts: 6095
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: GitHub migration procedure

#34 Post by Vezzra »

Further insights: I've just re-cloned the freeorion repo to my local computer, and Geoffs email address is still shown as "Geoff <[email protected]>". But his commits are now correctly associated with his account.

Geoff, did you try to reassign your author entry in the authors list on the importer page yourself during our experiments these last hours?

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: GitHub migration procedure

#35 Post by Geoff the Medio »

Vezzra wrote:If it's set to private, why is it shown on your profile page? And Mat claims to have set his email to public, but I do not see any email address on his profile page.
I dunno... the check box doesn't seem to do anything but change the public/private display on the same page. It has no apparent effect on the profile page (even in a separate private window), and there's no "save" or "confirm" button to be sure its being set...

User avatar
Vezzra
Release Manager, Design
Posts: 6095
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: GitHub migration procedure

#36 Post by Vezzra »

Geoff the Medio wrote:the check box doesn't seem to do anything but change the public/private display on the same page. It has no apparent effect on the profile page (even in a separate private window), and there's no "save" or "confirm" button to be sure its being set...
Yep, I get the same effect if I try to set my emails private. Strange...

Did you add the email that's now shown on your profile page when you made it public? Did you have an email set in your account before? Or maybe you had an email set, but not as "primary"? I'm now wondering if the issues with the association of commits to accounts have anything to do with having a public email, but maybe any email at all? But then, why does the reassignment of Mats account not work? Even if he did something wrong and his email is still not set to public, he definitely has an email set. However, if the issue isn't that you need a public email address, but one designated as "primary", that might explain it - Mat maybe set his email to public, but not as "primary".

Did you set your email as "primary", and if, when did you do that?

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: GitHub migration procedure

#37 Post by Geoff the Medio »

Vezzra wrote:Did you add the email that's now shown on your profile page when you made it public?
No, it was there before.
Did you have an email set in your account before?
Two of them.
Or maybe you had an email set, but not as "primary"?
Is it even possible to not have a primary email if any email is set? Regardless, the current primary was also then the primary.

User avatar
Vezzra
Release Manager, Design
Posts: 6095
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: GitHub migration procedure

#38 Post by Vezzra »

Geoff the Medio wrote:Regardless, the current primary was also then the primary.
Well, then, apparently the assignment of authors to accounts does rely on a public email set in the account you want to assign. And apparently it only needs to be public when you do the assignment.

Apart from the fact that it apparently doesn't have any effect if you set your email back to private.

Time to contact support...

User avatar
Vezzra
Release Manager, Design
Posts: 6095
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: GitHub migration procedure

#39 Post by Vezzra »

Geoff the Medio wrote:Also, is there a reason that freeorion/freeorion has 7685 commits when the SVN revision was 8050 before the import? I thought redoing the importing was supposed to preserve all the branch history as well, which the svn-mirror repository was missing?
This riddle has been solved: The commit count shown only refers to the commit history of the currently selected branch ("master" by default). Select different branches and watch the number change.

User avatar
Dilvish
AI Lead and Programmer Emeritus
Posts: 4768
Joined: Sat Sep 22, 2012 6:25 pm

Re: GitHub migration procedure

#40 Post by Dilvish »

Vezzra wrote:Just found out a difference between my account settings and those of Mats, Geoffs and Dilvish': Apparently all of you either haven't specified an email address in your personal accounts at all, or set them to "private".
Or rather, had simply not changed it to public. I've now changed mine to public. When I go to that importer link, it does seem to have associated my account with my sourceforge commits, but I notice that if I review commits in the repository then Geoff and Vezzras commits have their picture icon associated with the commits (and it's clickable) but not for me. The info from Marcel I link to might solve this, but it not is there something else I should do?
Begs the question what the authors list on the importer page is for, but maybe this method of associating requires a public email address set in the account you want to associate.
Here is a post from Marcel where he talked about using an authors file for this kind of thing...
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0

User avatar
Vezzra
Release Manager, Design
Posts: 6095
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: GitHub migration procedure

#41 Post by Vezzra »

Ok, originally I wanted to do that right after the import, but, huh, some issues interfered ;)

I've updated the OP again, marking the completed steps as "already done". Which are all steps except the cleanup, which we should do during the next few days.

A few things I did immediately:
  • Filled the description field of the repo. Someone any idea for something that fits better?
  • I created a README.md as Cjkjvfnby suggested, I found some kind of example README.md/template I used as basis. Take a look at it, it's just a first draft, suggestions/corrections/etc. welcome.
  • Similar for a first draft of a .gitignore file, I took the C++ template github offered, and added all the things I came across during my tests. Like the README.md, suggestions/corrections/etc. welcome.
What I didn't do is a LICENSE file. The README.md contains a section regarding the licenses we use, and there is also the COPYING file in the default folder. A LICENSE file would more or less be identical to COPYING I guess, so shall we add one at the root level or just leave things as they are now with the license informations already present?

User avatar
Vezzra
Release Manager, Design
Posts: 6095
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: GitHub migration procedure

#42 Post by Vezzra »

Dilvish wrote:Or rather, had simply not changed it to public. I've now changed mine to public. When I go to that importer link, it does seem to have associated my account with my sourceforge commits, but I notice that if I review commits in the repository then Geoff and Vezzras commits have their picture icon associated with the commits (and it's clickable) but not for me. The info from Marcel I link to might solve this, but it not is there something else I should do?
Well, go to your entry in the authors list, clear the field with your github account name, let the importer page make the update to the repo (indicated by brief messages at the top section), enter your account name again, update again (tabbing out of the field triggers the updates).

However, just did that for you, and your commits are still not associated with your account. No idea why it worked with Geoffs account and not yours. Although, when I go to the importer page now, the input field for the github account of your entry in the authors list has now been cleared and is not editable too, like it has been with Geoff a few hours ago. Maybe that means the system is doing an update that just takes some time?

It's really very confusing.
Here is a post from Marcel where he talked about using an authors file for this kind of thing...
That refers to git-svn repos that have been cloned with the "git svn" command. That isn't the case with our repo here, that's a pure git repo the github importer created by converting oursvn repo. These are different things AFAIK.

User avatar
Cjkjvfnby
AI Contributor
Posts: 539
Joined: Tue Jun 24, 2014 9:55 pm

Re: GitHub migration procedure

#43 Post by Cjkjvfnby »

Vezzra wrote: [*]Similar for a first draft of a .gitignore file, I took the C++ template github offered, and added all the things I came across during my tests. Like the README.md, suggestions/corrections/etc. welcome.
I suggest to cherry-pick commit with .gitignore to release-0.4.4

Code: Select all

git checkout release-0.4.4
git cherry-pick a98d107199614b64971c11d1c566d0ad44f1c9b4
git push
For other branches just merge master into them.

https://github.com/orgs/freeorion/teams/developers is 404 for me. Please update viewtopic.php?f=12&t=9357

upd. http://www.freeorion.org/index.php/Main_Page need to change link to repo and update news.
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0

User avatar
Vezzra
Release Manager, Design
Posts: 6095
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: GitHub migration procedure

#44 Post by Vezzra »

Got a reply from the github support regarding our issues with assignments of accounts to authors found by the github importer:
Sorry for the trouble. If you're specifying GitHub usernames rather than a full email address the importer defaults to using the private email for that user. If the user has never enabled private emails on GitHub, then their private email address won't properly attribute to them. However, enabling it should resolve the issue.
Thumbs up for a prompt response (took them only a few hours).

However, I'm not entire satisfied with the explanation, because the one account that did get his commits assigned correctly immediately was mine, which did not have a private email (only a public one). The ones that had (e.g. Geoffs), did not get assigned correctly. Which is kind of just the other way round than it should be according to that explanation (I replied to that answer asking for further clarifications, lets see what they say).

Regardless, I did some further tests, which revealed several things:
  • After a successfull import, the author email addresses of the imported commits are of the form <name>@<imported-svn-repo-uuid>.
  • When you assign a github account to one of the authors the importer found for the first time, this email address gets replaced by whatever the importer pulls from the github account specified, by what rules/patterns, I can't reliable tell, my observations and what the support claims don't exactly match.
  • Subsequent updated apparently don't work reliably, the results can be very confusing. Dilvish commits for example got partially assigned in the meantime: all his commits in the branches are now correctly associated with his account, but not the commits in master. Although I've entered his public email address in the authors list of the importer instead of just the account name.
  • If you use a full email address instead of just the account name when you make the assignment for the first time, it apparently works more reliable.
  • Apparently you also can forgo the assignments on the importer page entirely, and instead add the <name>@<imported-svn-repo-uuid> pseudo-email-address that is associated with your author entry to your github account. The github web interface even offers a button if it recognizes an author email of that pattern, that lets you claim this address and the commits associated with it.
None of the methods worked 100% reliably though. For example, one observation after I tried the last option (adding the <name>@<imported-svn-repo-uuid> address to my account via the "claim commits" feature): I do not show up on the committers stats screen of the repo, I do not show up when viewing the commit list, I do show up when viewing the details of a commit. So apparently the link is there, but a lot of things don't get updated.

The one foolproof way to get the assignment right immediately apparently is when you have your <name>@<imported-svn-repo-uuid> already assigned to your account before the import is done. Geoff did this, and his commits had been assigned to his account immediately in all my tests. The reason why that didn't work when I imported the freeorion repo is most likely because I (in my utter ignorance) immediately overrode the assignment that would have taken place automatically when I entered his account name in the found authors list. I just ran another test to verify that (with my account now having the pseudo email added too), and indeed, now both Geoffs and my commits have been immediately assigned correctly.

So, despite my earlier intentions, I re-raise the question if we shall redo the import, because I get the impression that the correct assignment of the imported commits actually is sufficiently important to us. Nothing important has been committed yet, and everyone who has forked/cloned the repo can repeat that too, so that wouldn't be too much work. The import itself is very quick (in my tests that usually took ~half an hour).

If we do that, I suggest that everyone adds the <name>@<imported-svn-repo-uuid> pseudo-email associated with his commits prior to my next import attempt. You can find yours on the import page for the freeorion repo I linked in one of my earlier posts here. This applies to the currently active committers: Geoff, Dilvish, Bigjoe, Mat and myself. The others (if anyone of them returns to active duty one day) will have to claim their commits afterwards by adding the corresponding pseudo email, and hope for the best (entering an email address set in their github account in the imports page authors list can still be a fallback if that really does not work, hopefully one or the other method will).

The question now is: Shall I redo the import? Dilvish? Geoff? Mat? Bigjoe?

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: GitHub migration procedure

#45 Post by Geoff the Medio »

Vezzra wrote:If we do that, I suggest that everyone adds the <name>@<imported-svn-repo-uuid> pseudo-email associated with his commits...
Can you confirm if I've already done this?
The others (if anyone of them returns to active duty one day) will have to claim their commits afterwards by adding the corresponding pseudo email...
Who can't do this now?

Edit: Also, was it decided to switch to using the github issue tracker?

Post Reply