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 <henr...@braju.com>
j...@foo.com = John Doe <j...@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.tur...@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@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel



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

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to