Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This blog post is designed

...

as a

...

central place

...

information on the GENIVI repo transition from git.projects.genivi.org to GENIVI's GitHub account and to a new GENIVI-hosted git mirror and archive. 

This post is for the "how" of the migration, not the "why". There are a number of reasons for this move which I won't cover here. You can also view these email threads for reference and background: http://lists.genivi.org/pipermail/genivi-projects/2016-April/002039.html and http://lists.genivi.org/pipermail/genivi-projects/2016-May/002216.html 

What is the status of the transition?

Update  – A IP address change over is scheduled for Friday 12:00 AM PST. Follow the issue tracker here: 

Jira
serverJIRA
serverId121ddff2-c571-320f-9e4d-d5b9371533bd
keyOSSINFR-62

Info

Transition is near complete. Only a few repositories remaining.

What happens to the git.projects.genivi.org repos? 

These repos are going to get mirrored on a new server . That work has begun with the installation of equipment in JLR's Portland facility and the hiring of a dedicated GENIVI IT person. That person will be joining the Tools Team meetings so you can send questions to the Tools Team should you have them, though hopefully I can answer questions here as well. The repos will be switched to "read only" so that we do not get updates to separate git repos. New development should happen at GitHub, the old repos remain only for two years to provide a link that provides source code for older versions of the GENIVI Compliance Specification and for convenience for automated software builds. As we turn the git repos from write to read only, we'll also be deactivating the public ssh keys associated with the accounts on the repositories. This is for security purposes

Is it necessary to change Yocto recipes?

No, it shouldn't be. The point of making the GENIVI mirror use the same URLs was to preserve access for Yocto layers and recipes, as well as other tooling like baserock. If you want the latest and greatest GENIVI code, it might be best to look at GENIVI's GitHub account.

How do we mark GitHub projects as being part of GENIVI?

When repos are put onto GENIVI's GitHub account they automatically become part of the GENIVI GitHub space as it were. This is reflected in the URL for example, as well as other places: https://github.com/GENIVI/capic-poc Everything under https://github.com/GENIVI/ is part of GENIVI. GENIVI has an organizational account at GitHub and is responsible for the terms of service agreement with GitHub.

Will everything work the same as before the migration?

No. Pushing to git repos, that is to say developing new code, will be done at GitHub. There may be a way for GENIVI to set up push access but this is only for certain situations where GitHub's terms and conditions are unacceptable.

Is there a common GENIVI "look & feel" for GitHub projects?

 No, we inherit GitHub's look and feel. There is a substantial API however so we may be able to create our own look and feel if wanted.

Is it possible to transfer a GitHub account to a new maintainer?

Yes. I wouldn't conflate the terms "account" and "maintainer" though since GitHub uses those terms differently than we do. We can create numerous accounts and transfer maintainership between them as well as use team based access control, in fact we're doing that now.

How should a GitHub account be handled, if the project has more than one maintainer? Is it allowed to have more than one maintainer?

Yes, you can have more than one maintainer. The best practice is likely through team maintainership. By adding multiple maintainers to a team you can easily have more than one maintainer. You can also limit each team member to a specific set of functionality, like read-only, or write and push, and even able to create new team repos. Teams can be created around any repo, or set of repos, and can contain one or more GitHub accounts.

What else should we do?

It might be nice if you made your membership in the GENIVI organization 'public' – it is by default private when you are added as a member in the GENIVI Organization in GitHub.  Making the association public makes your belonging to GENIVI visible on your personal GitHub page.  Also, adding two factor authentication is a good idea for protecting both your account and GENIVI. Add an avatar as well to easily identify contributors.