# Transition to GitHub

**URL:** <https://discourse.slicer.org/t/transition-to-github/10358>\
**Category:** Development\
**Created:** [February 20, 2020, 12:01am UTC](https://discourse.slicer.org/t/transition-to-github/10358 "2020-02-20T00:01:02Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [February 20, 2020, 12:01am UTC](https://discourse.slicer.org/t/transition-to-github/10358/1 "2020-02-20T00:01:02Z")

</div>

* * *

~~Here is a preview of what will be the final GitHub repository hosting Slicer sources: [https://github.com/jcfr/Slicer-Git](https://github.com/jcfr/Slicer-Git)~~  
**Update:** Preview repository has been removed. Sources are now available at [https://github.com/Slicer/Slicer](https://github.com/Slicer/Slicer)

* * *

Next steps:

- see details at [https://projectweek.na-mic.org/PW33\_2020\_GranCanaria/Breakouts/Slicer5/#github-transition](https://projectweek.na-mic.org/PW33_2020_GranCanaria/Breakouts/Slicer5/#github-transition)

Waiting we officially transition, please consider reviewing the history and reporting here if authorship or committer is incorrect.

For future reference, scripts and instructions are archived at [https://github.com/jcfr/Slicer-github-transition-scripts](https://github.com/jcfr/Slicer-github-transition-scripts)

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [February 20, 2020, 4:46am UTC](https://discourse.slicer.org/t/transition-to-github/10358/2 "2020-02-20T04:46:01Z")

</div>

This will help us in so many ways, thank you for working on this!

Are you going to add stubs for issues in the bugtracker? (just the subject line, a link to the issue tracker, maybe first N lines of the issue description)

A few tweaks (none of them very important):  
-Maybe we could fix links to the SVN repository (e.g., the commit comment contains “git-svn-id: [http://svn.slicer.org/Slicer4/trunk@28773](http://svn.slicer.org/Slicer4/trunk@28773)” but this URL is not valid)

- Maybe add a url to the corresponding commit in the old repository (so that we can easily find a commit based on the old hash)

---

<div class="post-metadata">

**Author:** ![Davide\_Punzo](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/davide_punzo/32/66104_2.png) [@Davide\_Punzo](https://discourse.slicer.org/u/Davide_Punzo)\
**Post date:** [February 20, 2020, 7:52am UTC](https://discourse.slicer.org/t/transition-to-github/10358/3 "2020-02-20T07:52:41Z")

</div>

That will be great!

not complelty related this, but I was wandering if it would be possible to fix the co-authorship for the following commits:

1. markups  
[https://github.com/jcfr/Slicer-Git/commit/b4098a06bdcbb4ccf33d44c0afc1e201d3590682](https://github.com/jcfr/Slicer-Git/commit/b4098a06bdcbb4ccf33d44c0afc1e201d3590682)  
[https://github.com/Slicer/Slicer/commit/23d076495be731efe23cfa1ffdd8a920524a489e](https://github.com/Slicer/Slicer/commit/23d076495be731efe23cfa1ffdd8a920524a489e)

2. 3d views linking  
[https://github.com/jcfr/Slicer-Git/commit/5c04e5c286760eeccf5f02a1eaff8efc77102dd1](https://github.com/jcfr/Slicer-Git/commit/5c04e5c286760eeccf5f02a1eaff8efc77102dd1)  
[https://github.com/Slicer/Slicer/commit/3bf8417efd7b949610a8a3765d058e8d3997135f](https://github.com/Slicer/Slicer/commit/3bf8417efd7b949610a8a3765d058e8d3997135f)

Andras can confirm my co-authorship for the two commits which I think it was lost in the review/merge process. If it is not possible to add the co-authorship anymore, no problem.  
Thanks!

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [February 22, 2020, 7:41pm UTC](https://discourse.slicer.org/t/transition-to-github/10358/4 "2020-02-22T19:41:36Z")

</div>

> [@lassoan](#):
>
> Are you going to add stubs for issues in the bugtracker? (just the subject line, a link to the issue tracker, maybe first N lines of the issue description)

yes

> Maybe we could fix links to the SVN repository (e.g., the commit comment contains “git-svn-id: [http://svn.slicer.org/Slicer4/trunk@28773”](http://svn.slicer.org/Slicer4/trunk@28773%E2%80%9D) but this URL is not valid)

Good point. Instead I was thinking to add an other line of the form:

```auto
svn-url: http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=24838

```

> [@Davide\_Punzo](#):
>
> fix the co-authorship for the following commits:

Of course, I will do.

Note that I will resume work on the transitioning to GitHub when back from traveling after March 1st.

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [February 22, 2020, 8:07pm UTC](https://discourse.slicer.org/t/transition-to-github/10358/5 "2020-02-22T20:07:10Z")

</div>

> [@jcfr](#):
>
> Instead I was thinking to add an other line of the form

Sounds good. Thanks for all your hard work on this.

---

<div class="post-metadata">

**Author:** ![hjmjohnson](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/hjmjohnson/32/173_2.png) [@hjmjohnson](https://discourse.slicer.org/u/hjmjohnson)\
**Post date:** [March 6, 2020, 2:58am UTC](https://discourse.slicer.org/t/transition-to-github/10358/6 "2020-03-06T02:58:44Z")

</div>

Any progress on moving to git. It is a bit annoying that contributions to svn to not retain attributions very well.

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [March 6, 2020, 12:51pm UTC](https://discourse.slicer.org/t/transition-to-github/10358/7 "2020-03-06T12:51:06Z")

</div>

I really hope that @jcfr completes this within days and not weeks.

We save original author in commit comments and use it to look up author when converting the repository to git.

---

<div class="post-metadata">

**Author:** ![hjmjohnson](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/hjmjohnson/32/173_2.png) [@hjmjohnson](https://discourse.slicer.org/u/hjmjohnson)\
**Post date:** [March 6, 2020, 1:17pm UTC](https://discourse.slicer.org/t/transition-to-github/10358/8 "2020-03-06T13:17:13Z")

</div>

Thanks @lassoan I appreciate your support.

Sometimes attribution is the only compensation contributors get!

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [March 6, 2020, 3:34pm UTC](https://discourse.slicer.org/t/transition-to-github/10358/9 "2020-03-06T15:34:06Z")

</div>

> [@lassoan](#):
>
> completes this within days and not weeks.

Yess, I re-ran all scripts yesterday and will plan on wrapping up next week. (Note: I am out of the office today and Monday)

---

<div class="post-metadata">

**Author:** ![hjmjohnson](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/hjmjohnson/32/173_2.png) [@hjmjohnson](https://discourse.slicer.org/u/hjmjohnson)\
**Post date:** [March 11, 2020, 2:34pm UTC](https://discourse.slicer.org/t/transition-to-github/10358/10 "2020-03-11T14:34:47Z")

</div>

Has there been any progress on this transition?

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [March 11, 2020, 3:04pm UTC](https://discourse.slicer.org/t/transition-to-github/10358/11 "2020-03-11T15:04:16Z")

</div>

Working on this today. Stay tuned 🚀

Waiting this is complete, do not commit on either SVN or GitHub

cc: @lassoan @pieper @Sam_Horvath @fedorov @cpinter

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [March 11, 2020, 11:28pm UTC](https://discourse.slicer.org/t/transition-to-github/10358/12 "2020-03-11T23:28:59Z")

</div>

The current repository has been renamed to [https://github.com/Slicer/SlicerGitSVNArchive](https://github.com/Slicer/SlicerGitSVNArchive) and a new repository called Slicer has been created.

- The new `Slicer/Slicer` is **NOT** yet ready for usage, the history will likely be updated tonight.
- Preview build will be disabled tonight and re-enabled tomorrow.

Thanks for your patience

---

<div class="post-metadata">

**Author:** ![hjmjohnson](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/hjmjohnson/32/173_2.png) [@hjmjohnson](https://discourse.slicer.org/u/hjmjohnson)\
**Post date:** [March 12, 2020, 2:24pm UTC](https://discourse.slicer.org/t/transition-to-github/10358/13 "2020-03-12T14:24:54Z")

</div>

Can we get an update on this process?

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [March 12, 2020, 2:25pm UTC](https://discourse.slicer.org/t/transition-to-github/10358/14 "2020-03-12T14:25:36Z")

</div>

Stub issues mapping with the mantis ones are being created.

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [March 12, 2020, 10:00pm UTC](https://discourse.slicer.org/t/transition-to-github/10358/15 "2020-03-12T22:00:29Z")

</div>

Waiting all stub issues are created do `NOT` follow the Slicer repository on GitHub, it will spam your inbox.

Cc: @cpinter @lassoan @pieper

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [March 13, 2020, 2:01am UTC](https://discourse.slicer.org/t/transition-to-github/10358/16 "2020-03-13T02:01:02Z")

</div>

The new repo will be ready to accept contribution (Pull requests, new issue, comments, …) **tomorrow**

Nightly build will be re-enabled tonight.

Thanks for your patience

* * *

In the mean time, what should you do ?

- Star the new [https://github.com/Slicer/Slicer](https://github.com/Slicer/Slicer) repository 🙏 🌞
- Re-fork. See [How to update the forked origin of your online Slicer fork ?](https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/FAQ#How_to_update_the_forked_origin_of_your_online_Slicer_fork_.3F)

* * *

Details:

- Updated repository is now available at [https://github.com/Slicer/Slicer](https://github.com/Slicer/Slicer)🎉
  - We now have 112 identified GitHub contributors ❤
  - Issue tracker links used in commit message have all been consolidated to use `https://issues.slicer.org`
  - Pull request links used in commit message have been updated to reference `Slicer/SlicerGitSVNArchive`
  - Contributors are properly acknowledged by leveraging the `Co-authored-by:` git trailer
  - Link to svn repository has been added using `svn-url:` git trailer.
  - More details available at [https://github.com/jcfr/Slicer-github-transition-scripts#readme](https://github.com/jcfr/Slicer-github-transition-scripts#readme)

- Original repository has been renamed to [SlicerGitSVNArchive](https://github.com/Slicer/SlicerGitSVNArchive)
- A new FAQ has been created.
  - See [https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/FAQ#Developer\_FAQ:\_SVN\_to\_GitHub](https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/FAQ#Developer_FAQ:_SVN_to_GitHub)

- Issue tracker:
  - All issues from Mantis have a corresponding [issue in GitHub](https://github.com/Slicer/Slicer/issues)
  - Creation of Mantis issue has been **disabled**
  - Moving forward, we will be using GitHub issue tracker

- SVN server:
  - commit access has been disabled to all expect @jcfr and @Sam_Horvath

* * *

Next steps:

- Update dashboard scripts ✅
- Re-enable nightly dashboard ✅
- Re-enable CircleCI to build PR ✅
- Update script publishing `nightly-master` branch ✅
- Setup check for commit message prefix. ✅ (see [https://www.commitcheck.com/](https://www.commitcheck.com/))
- Setup `kwrobot-v1/ghostflow-check-master`. See [https://github.com/apps/kwrobot-v1](https://github.com/apps/kwrobot-v1)
- Wiki
  - Update [Checkout instructions](https://www.slicer.org/wiki/Documentation/Nightly/Developers/Build_Instructions#CHECKOUT_slicer_source_files) ✅
  - Mark[git-svn instructions](https://www.slicer.org/wiki/Slicer:git-svn) as obsolete. ✅ Added Historical template.
  - Update [ReleaseProcess](https://www.slicer.org/wiki/Documentation/Nightly/Developers/ReleaseProcess)✅
    - Update the maintenance guide [Rename and update release scripts](https://github.com/Slicer/DashboardScripts/blob/master/maintenance/guides/rename-and-update-release-scripts.md) ✅

  - Update [Source tutorials](https://www.slicer.org/wiki/Documentation/Nightly/Developers/Tutorials/Source) ✅

- Update [CONTRIBUTING.md](https://github.com/Slicer/Slicer/blob/master/CONTRIBUTING.md)✅
- Finalize setup of redirects associated with mantis. Will be done by @freephile and is tracked in [https://discourse.equality-tech.com/t/update-issue-tracker-redirects/1077](https://discourse.equality-tech.com/t/update-issue-tracker-redirects/1077) (private link) ✅
- Enable build of documentation using readthedocs

---

<div class="post-metadata">

**Author:** ![cpinter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/cpinter/32/7995_2.png) [@cpinter](https://discourse.slicer.org/u/cpinter)\
**Post date:** [March 13, 2020, 8:40am UTC](https://discourse.slicer.org/t/transition-to-github/10358/17 "2020-03-13T08:40:36Z")

</div>

Thank you so much @jcfr for working on the migration! 🙏 This was very important and delicate, so also thanks for doing it with such care 🙂

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [March 13, 2020, 4:10pm UTC](https://discourse.slicer.org/t/transition-to-github/10358/18 "2020-03-13T16:10:56Z")

</div>

This is awesome! 🍾

Thank you @jcfr for performing this migration with so much attention to all details. Preserving all the various links, history, contributions, etc. will be very valuable.

Can we start submitting pull requests (and rebase&merge them)?

---

<div class="post-metadata">

**Author:** ![hjmjohnson](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/hjmjohnson/32/173_2.png) [@hjmjohnson](https://discourse.slicer.org/u/hjmjohnson)\
**Post date:** [March 13, 2020, 4:23pm UTC](https://discourse.slicer.org/t/transition-to-github/10358/19 "2020-03-13T16:23:38Z")

</div>

@jcfr Awesome! Waiting for the green light ot make PR’s.

Hans

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [March 13, 2020, 5:34pm UTC](https://discourse.slicer.org/t/transition-to-github/10358/20 "2020-03-13T17:34:29Z")

</div>

Few more things to set up:

1. We should make master branch protected

- “Allow force pushes” and “Allow deletions” unchecked: This make things safer and simpler (at the cost of not being able to cover up potential missteps). It also allows us to use commit count as a monotonously increasing counter for easier revision tracking (instead of SVN revision). It is a minor inconvenience that merge count does not appear in github GUI, but we can determine it quite easily at project build time.
- Require pull request reviews before merging: checked (we should try this at least and disable if we find it too annoying or it slows things down too much)
- Require status checks to pass before merging: unchecked (for now, until we are confident that checks work very reliably)
- Require signed commits: unchecked (I have never used this, but probably not necessary)
- Require linear history: checked (non-linear history is just too complicated)
- Include administrators: unchecked (there is a warning displayed anyway if you exercise this right, that should be enough)
- Restrict who can push to matching branches: checked (have a CoreDevelopers or similar sub category who are allowed to merge changes)

1. Disable “Create a merge commit” option (only allow “Squash and merge” and “Rebase and merge”). Merge commits make reviewing change history a very complicated task.

2. Create Developers group and add people who we want to be able to assign issues to.

[Next page](https://discourse.slicer.org/t/transition-to-github/10358.md?page=2)
