FreeOrion

Forums for the FreeOrion project
It is currently Tue Dec 12, 2017 8:25 am

All times are UTC




Post new topic Reply to topic  [ 210 posts ]  Go to page 1, 2, 3, 4, 5 ... 14  Next
Author Message
PostPosted: Thu Mar 12, 2015 12:20 pm 
Offline
Release Manager, Design
User avatar

Joined: Wed Nov 16, 2011 12:56 pm
Posts: 4288
Location: Sol III
I think it's time to nail down the procedure for the switch/migration to GitHub. I propose the following:

1.) Already done: First preparatory steps:

  • If he hasn't already done so, every dev and contributor should dig through some basic git and github tutorials (only applies to those new to git/github of course, all you veterans out there can lay back and enjoy watching us newbies struggle ;)). When we start to use git/github, we should at least have a faint idea what we're doing :lol:
  • Step no longer necessary: Ask Daniel to stop the scripts syncing the SVN repo to the git mirror, if he hasn't done so already - they must be broken by now anyway, since there have been some commits pushed to it when the SVN repo was down. As the mirror repo has already been renamed, this step isn't really relevant for the migration procedure anymore.
  • Already done: Inform all users on github who made forks of the mirror repo that this repo is going to be renamed and a fresh copy of the SVN repo will be swapped in. As this fresh copy will get the name the mirror had before ("freeorion"), they might be able take some measures to ensure their forks don't get screwed up too much (as these forks most probably won't work if the source repo gets replaced by a different, kind of unrelated one).
  • Already done: Inform all devs and contributors to get any uncommitted work committed to SVN, as far as possible, to minimize any troubles that might arise if you need to transfer uncommitted work from a SVN working copy that will be obsolete after the switch to a git working copy.

Most probably we will have to put a deadline on the last one ;)

2.) Already done: Rename the git mirror to something like "fo-svn-mirror".

3.) Already done: Revoke commit access to the SF SVN repo from everyone except the project admins (Geoff, Dilvish and myself), to minimize the risk of someone committing during (and after) the migration process.

4.) Already done: Import the SVN repo with the github importer tool into a new repo "freeorion" within the freeorion account.

5.) In progress: Cleanup steps:

  • Already done: Adjust the Python script that creates Version.cpp to work with git instead of SVN, using "git describe". We might want to finalize our discussion on how the version string should look like before... ;)
  • Already done: Tied to that discussion is also the decision what the naming scheme for the builds should be in future. We won't have the SVN revision number anymore as "build number", so we need to come up with something else. Cjkjvfnby already has made some suggestions in the discussion linked above.
  • Update the SDKs to employ git to fetch/checkout the sources
  • Already done: Update the wiki main page, particularly the links to the repo and recent development work.
  • Decide on what needs to be changed/updated about the FreeOrion project on SF.
    * Already done: What to do with the repo? Will stay as a read-only, retired/defunct repo.
    * Already decided and partly done: Shut down the feature/bug trackers and point people to the issue tracker on github, or leave them active? Migrate them to the GitHub issue tracker and shut them down.
    * What should be changed on the front page to indicate the official repo is now on github?
    * Partly decided: Continue publishing binary releases on SF, or is there a similar feature on github, and if, shall we use that instead? We will continue to publish our releases and test builds on SF. There is a feature on github for releases, but that doesn't look useable for the weekly test builds anyway. We can use this to publish our releases on github too. Shall we do this?

6.) Happily continue developing FreeOrion, until it's finished, or death do us part, or the world ends. Whichever comes first. :D My bet is on option three, but I've never been known for my bright, sunny disposition... ;)

I might have overlooked one thing or another, so any feedback, corrections, additions etc. are welcome. I want to reach a consensus ASAP, so we can go ahead with that thing.

EDIT1: Updated procedure (2015-03-19)
EDIT2: Updated procedure (2015-03-22)
EDIT3: Updated procedure (2015-03-24)
EDIT4: Updated procedure (2015-03-25)
EDIT5: Updated procedure (2015-03-27)
EDIT6: Updated procedure (2015-03-29)
EDIT7: Updated procedure (2015-03-31)
EDIT8: Updated procedure (2015-06-07)


Last edited by Vezzra on Thu Mar 19, 2015 12:56 pm, edited 1 time in total.

Top
 Profile  
 
PostPosted: Thu Mar 12, 2015 1:00 pm 
Offline
Creative Contributor
User avatar

Joined: Fri Jun 28, 2013 11:45 pm
Posts: 3289
All of this looks sensible to me. Of course, this all happens the weekend after I've finally installed SVN on the better laptop and started work there. Still, Git looks at least sensible, even if it's not at all clear how to do basic things to me yet. I'll get it, eventually.

_________________
Mat Bowles

Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.


Top
 Profile  
 
PostPosted: Thu Mar 12, 2015 1:13 pm 
Offline
Release Manager, Design
User avatar

Joined: Wed Nov 16, 2011 12:56 pm
Posts: 4288
Location: Sol III
MatGB wrote:
Git looks at least sensible, even if it's not at all clear how to do basic things to me yet. I'll get it, eventually.
I plan to create a thread where we can all share our insights/experiences with git so we can learn from each other. I'm already working with git on my local machine, and you just need to get used to the different workflow. After that, you'll like git very much (I hope ;)).


Top
 Profile  
 
PostPosted: Thu Mar 12, 2015 9:34 pm 
Offline
AI Contributor
User avatar

Joined: Tue Jun 24, 2014 9:55 pm
Posts: 444
Vezzra wrote:
I think it's time to nail down the procedure for the switch/migration to GitHub.


You miss the date :)

_________________
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0


Top
 Profile  
 
PostPosted: Thu Mar 12, 2015 9:53 pm 
Offline
Release Manager, Design
User avatar

Joined: Wed Nov 16, 2011 12:56 pm
Posts: 4288
Location: Sol III
Cjkjvfnby wrote:
You miss the date :)
Well, the date is "as soon as possible", meaning as soon as we agree on a procedure here I'd immediately put it into action. :)


Top
 Profile  
 
PostPosted: Mon Mar 16, 2015 3:00 am 
Offline
AI Lead, Programmer
User avatar

Joined: Sat Sep 22, 2012 6:25 pm
Posts: 4390
We've taken the step of renaming the freeorion/freeorion repo to fo-svn-mirror. For everyone who had forked the repo via GitHub, GitHub has automatically updated your fork to point to the new URL (I believe). Additionally, until such time as we actually create a new freeorion/freeorion repo, all web traffic and git clone, fetch and push operations targeting freeorion/freeorion will (for now) get rerouted to freeorion/fo-svn-mirror, according to GitHub docs. If you did directly clone freeorion/freeorion to a repo on your local computer then you should update it as described here to be sure of avoiding hiccups when we do a fresh/full import of the sourceforge repo as freeorion/freeorion. If your version of git is old enough that it doesn't support set-url then you can use the process described here.

Although the mirroring from SourceForge had stopped (when SF stopped working and we started making the first steps to migrate here), we'll see if we can get the mirroring restarted (to the new URL) until such time as the full import is done.

_________________
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0


Top
 Profile  
 
PostPosted: Thu Mar 19, 2015 1:33 pm 
Offline
Release Manager, Design
User avatar

Joined: Wed Nov 16, 2011 12:56 pm
Posts: 4288
Location: Sol III
I've updated the OP due to some things already done/no longer necessary to do, and some things I overlooked/didn't think of, but are probably important enough to be incorporated into the procedure.

Quick summary of my edits: Marked steps already done or rendered unnecessary by things we did in the meantime, added new (3rd) step, added several cleanup steps.

As there hasn't been any major complaints/objections, I assume that the procedure as outlined meets more or less general consensus. Which is great, as we can go ahead. :D

So, I propose to schedule the switch for coming Sunday (March 22nd). Set a deadline for final commits to the SF SVN repo at 12am UTC, I will then proceed with the proposed procedure: revoke commit access (step 3) from everyone except the project admins (who I ask to refrain from committing anything after the deadline ;)) and begin importing the SVN repo into the new "freeorion" repo within the freeorion account (step 4).

I intend to post a global announcement (I hope I've sufficient rights for that) on the forum informing about the deadline and asking everyone to commit everything they want to have committed before the switch. I'll do that either today, later in the night, or tomorrow morning (to give some opportunity to raise objections, offer corrections etc.). Once the SVN repo has been successfully imported into the new github repo, I'll post another announcement that the official repo has been moved. From that point on, our dear old SVN repo is history and can enjoy retirement. :D All work shall continue with the new repo, the following days however should be dedicated to the cleanup steps of course.

Please, give any comments, suggestions, corrections, objections etc. ASAP (until the deadline at the latest of course ;)).


Top
 Profile  
 
PostPosted: Fri Mar 20, 2015 12:33 pm 
Offline
AI Contributor
User avatar

Joined: Tue Jun 24, 2014 9:55 pm
Posts: 444
Vezzra wrote:
Please, give any comments, suggestions, corrections, objections etc. ASAP (until the deadline at the latest of course ;)).


Turn off issue tracker
Add .gitignore and README.md (I can do it.)

_________________
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0


Top
 Profile  
 
PostPosted: Fri Mar 20, 2015 3:40 pm 
Offline
Release Manager, Design
User avatar

Joined: Wed Nov 16, 2011 12:56 pm
Posts: 4288
Location: Sol III
Cjkjvfnby wrote:
Turn off issue tracker
That would be my preference too, but I want to hear Dilvish' and Geoffs opinion on that also.
Quote:
Add .gitignore
Ah yes, of course! During my tests I've already compiled a .gitignore, I've a few more adjustments I want to do, then I can post it and have you take a look at it.
Quote:
and README.md
Right, the readme. What exactly should that contain?

Also, isn't a LICENCE file also recommended?


Top
 Profile  
 
PostPosted: Fri Mar 20, 2015 4:17 pm 
Offline
AI Lead, Programmer
User avatar

Joined: Sat Sep 22, 2012 6:25 pm
Posts: 4390
Vezzra wrote:
Cjkjvfnby wrote:
Turn off issue tracker
That would be my preference too, but I want to hear Dilvish' and Geoffs opinion on that also.
Above you mentioned turning off the SourceForge feature/bug tracker and directing people to the GitHub issue tracker; if that's what you mean then yes that sounds right to me. If you mean turn off the GitHub issue tracker then I'm not understanding the reason to do that.

On a related note, are we going to leave the SDK and executable downloads at SourceForge or move them to GitHub also? (oh, I see now that was one of Vezzra's questions re releases.) I think the latter would be possible, but this is one area that SourceForge does appear to me to have better handling and reporting (but perhaps that's just a familiarity issue for me). Can anyone point us to a GitHub project that handles their executable releases through GitHub in a fairly good way, for us to see an example of what's possible?

I would slightly favor leaving the FO repository up as a read-only backup, but do not have a strong opinion on it.

_________________
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0


Top
 Profile  
 
PostPosted: Fri Mar 20, 2015 6:08 pm 
Offline
Designer and Programmer
User avatar

Joined: Tue Aug 14, 2007 6:33 pm
Posts: 2058
Location: Orion
Vezzra wrote:
Quote:
Add .gitignore
Ah yes, of course! During my tests I've already compiled a .gitignore, I've a few more adjustments I want to do, then I can post it and have you take a look at it.

This repo contains a number of standard .gitignores, which we could probably use as a reference for our own.

_________________
Warning: Antarans in dimensional portal are closer than they appear.


Top
 Profile  
 
PostPosted: Fri Mar 20, 2015 8:04 pm 
Offline
Release Manager, Design
User avatar

Joined: Wed Nov 16, 2011 12:56 pm
Posts: 4288
Location: Sol III
Dilvish wrote:
Above you mentioned turning off the SourceForge feature/bug tracker and directing people to the GitHub issue tracker; if that's what you mean then yes that sounds right to me.
Yes, of course, that's what I meant. The other way round would indeed not make any sense.


Top
 Profile  
 
PostPosted: Sat Mar 21, 2015 8:44 am 
Offline
AI Contributor
User avatar

Joined: Tue Jun 24, 2014 9:55 pm
Posts: 444
Quote:
Quote:
README.md
Right, the readme. What exactly should that contain?

bla bla bla https://github.com/Cjkjvfnby/freeorion/ ... me_example
If you are not common with github markdown (https://help.github.com/articles/github ... -markdown/) you can use preview.

1) create *.md file
2) click on it in github browser
3) click on edit icon
4) see preview tab in editing window

Quote:
Also, isn't a LICENCE file also recommended?

yes. I always miss that part :)

_________________
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0


Top
 Profile  
 
PostPosted: Sun Mar 22, 2015 2:50 pm 
Offline
Programming, Design, Admin
User avatar

Joined: Wed Oct 08, 2003 1:33 am
Posts: 12040
Location: Munich
How do I claim commits on this new repository? It just lists "Geoff" as the author, and I can't see any email address to add to my git account to claim them as I think I did for the mirror repository, and hovering on the ? icon says the email address is invalid.

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?


Top
 Profile  
 
PostPosted: Sun Mar 22, 2015 3:16 pm 
Offline
AI Contributor
User avatar

Joined: Tue Jun 24, 2014 9:55 pm
Posts: 444
Geoff the Medio wrote:
How do I claim commits on this new repository? It just lists "Geoff" as the author, and I can't see any email address to add to my git account to claim them as I think I did for the mirror repository, and hovering on the ? icon says the email address is invalid.
I can't clone repo because my internet connection is bad today. Can you check Author in
Code:
git log
output?

May be we will need this.
https://help.github.com/articles/changing-author-info/

_________________
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 210 posts ]  Go to page 1, 2, 3, 4, 5 ... 14  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group