[Bioc-devel] Git Transition Plan

Martin Morgan martin.morgan at roswellpark.org
Sat Apr 1 15:14:33 CEST 2017


On 03/29/2017 03:55 PM, Henrik Bengtsson wrote:
> Thanks.  I have a few thoughts and questions in order to plan ahead:
>
>> - Our plan is to make a 'clean' transition from SVN to git, approximately one month after the next Bioconductor release. Developers or users will not have access to the SVN system after the date of transition.
>
> In order to preserve commit authorship, what's your plan for mapping
> SVN username to Git 'user.email' and 'user.name'?  The 'user.email' is
> what GitHub uses to associate commits and contributions to GitHub
> accounts.

The svn administrators kept a comprehensive (but not complete) record of 
svn id, real user name, and contact email at the time the svn id was 
create. We use this to map between svn commits and git user name and 
email address.

The information is not entirely consistent, with some fields for some 
records 'missing' (e.g., my record doesn't contain my real name) and of 
course out of date (e.g., my email address).

Our intention is NOT to re-write history, but to map the information 
that we have to the git repositories. So my svn commits appear without a 
proper name, and with an outdated email address. Of course, new commits 
after the transition will contain whatever info git provides.

>
> BTW, using obsolete email addresses may prevent people from being
> associated with those email addresses on GitHub and other online
> services that require authentication of authorship claims (which go
> out via those email addresses).
>
> When I SVN-to-Git exported my Bioconductor packages a few years ago, I
> could handle manually because there were not too many contributors in
> the SVN logs and I reached out to each of them and asked what email
> addresses they would prefer to have in the Git commits.  That approach
> is obviously not feasible to automate for all Bioconductor packages.
> Maybe this can be handled optionally by each package maintainers by
> adding a .gitauthors file to the package root (or possibly via a
> global Bioc one that everyone can commit to), e.g.
> ```r
> hb = Henrik Bengtsson <henrikb at braju.com>
> joe at foo.com = John Doe <jd at someone.org>
> ```
> and then Bioc can use this mapping when exporting to Git?
>
> Finally, will people like me who already done the SVN-to-Git migration
> be able to use that instead of the Bioc generated one? (I assume not,
> but worth asking)

No, we'll make a git snapshots of svn at the time of transition, and 
these git repositories will be the cannonical version -- developers will 
need to sync with these as they see fit.

Martin

>
> Thanks,
>
> Henrik
>
> On Wed, Mar 29, 2017 at 9:51 AM, Turaga, Nitesh
> <Nitesh.Turaga at roswellpark.org> wrote:
>> Dear Bioconductor Developers,
>>
>> More news about the Git transition plan. We are coming close to our transition date and have made significant progress in getting our new server ready for the Bioconductor community.
>>
>> 1. Overall plan:
>>
>> - Bioconductor hosts each package as a distinct repository at git.bioconductor.org<http://git.bioconductor.org/>. From Bioconductor's perspective, this is the canonical location. Nightly builds will be based on these repositories, release branches will be created in these repositories, etc. The naming convention for branches remains the same.
>>
>> - Developers clone or otherwise sync their code base to these repositories. Each developer will be able to push to and pull from (e.g., during branching and version bumps at package release) their git.bioconductor.org<http://git.bioconductor.org/> repository. Version bumps and new branches(during Bioconductor release) will be handled by the core team.
>>
>> - Developers are encouraged to host and develop their source code on Github or other git-based social platforms. This promotes community involvement, and empowers developers to adopt best practices related to issue tracking, continuous integration, bug fixes, pull requests from their community, etc.
>>
>> - All bioconductor infrastructure code will also be available on Github, through our organization page(https://github.com/Bioconductor). Community members are encouraged to send us pull requests for all our public repositories.
>>
>> 2. Timing:
>>
>> - Our plan is to make a 'clean' transition from SVN to git, approximately one month after the next Bioconductor release. Developers or users will not have access to the SVN system after the date of transition.
>>
>> 3. Repositories:
>>
>> - The git repositories will be derived from a 'snapshot' of the latest SVN repository at the time of the transition. After the date of transition, further commits to SVN will not be reflected in the new git repositories.
>>
>> - Each repository will capture the full SVN commit history of the package. Releases will be included as branches in the repository.
>>
>> - We anticipate that software and experiment data packages will be hosted at git.bioconductor.org<http://git.bioconductor.org/>. Experiment data packages will use git-lfs to manage large data.
>>
>> - The Github Bioconductor-mirror repository will be removed.
>>
>> 4. Test phases:
>>
>> - We anticipate two test periods.
>>
>> - A private 'alpha' test phase is starting shortly. Alpha testers will initially have pull access to their repository, and will follow tentative work flows for gaining push access, for maintaining clones of their packages, for committing to the git.bioconductor.org<http://git.bioconductor.org/> repositories, and for pulling from (e.g., version bumps and release branches) the repositories.
>>
>> - A public 'beta' test phase will start after the next Bioconductor release, and last for approximately four weeks. Beta testers will have pull access to all Bioconductor package repositories, and push access to packages that they maintain. Commits will be visible, but NOT synced with SVN or incorporated into nightly builds.
>>
>> - An essential activity during test periods is to verify that the SVN commit history has been captured in the git repositories. This will be available in your git log.
>>
>> 5. Resources:
>>
>> - We will be developing resources to help developers in the transition.
>>
>> - As an addition to the resources, we also recommend the excellent tutorials provided at gittutorial<https://git-scm.com/docs/gittutorial>, try.github.io<https://try.github.io/>.
>>
>> Best,
>>
>> Nitesh Turaga
>> Bioconductor Core Team
>>
>>
>> This email message may contain legally privileged and/or confidential information.  If you are not the intended recipient(s), or the employee or agent responsible for the delivery of this message to the intended recipient(s), you are hereby notified that any disclosure, copying, distribution, or use of this email message is prohibited.  If you have received this message in error, please notify the sender immediately by e-mail and delete this email message from your computer. Thank you.
>>         [[alternative HTML version deleted]]
>>
>> _______________________________________________
>> Bioc-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>
> _______________________________________________
> Bioc-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>


This email message may contain legally privileged and/or...{{dropped:2}}



More information about the Bioc-devel mailing list