Page 1 of 1

GIT and GITHUB Migration

PostPosted: Tue Dec 02, 2014 8:42 pm
by LegacyKing
Hi Folks,

Please direct all replies to the PCGen Experimental Y! group or the Forum where this is located ( This first message is basically to let everyone know our plans.

As some folks may, or may not, know, during the last Board of Directors meeting we had discussed moving to using GIT and GITHUB as our repository. This would be a migration from SVN, our current main repository.

Here is the summary of our migration plan:

  • PCGen 6.4.1 would be the last release from SVN - once we have the final commits in, this will mark our time to migrate to GIT.
  • We will use GITHUB as it has the wonderful Pull Request and other nice features to make using GIT much easier. (We've been using it for some time, and most of us are comfortable with it)
  • Our monolithic SVN repo will be split into more manageable repo due to the fact that in GIT you get the entire copy and cannot isolate the specific parts you want as you could in SVN
  • We will have a "Main" (actual name TBA) repo which is the current Trunk/pcgen directory (This is where we do the majority of code development, and what we release from)
  • We will have a "NewSource" repo - which is where the data team will produce new books
  • We will have an "Archive" repo, for much older items that we no longer use
  • We will have a "Utilities" repo for the tools that support PCGen

Adopting a best practices but a simplistic approach we are adopting a minimalist git work flow to make contributing easier:
  • Master will be our normal 'active development' branch
  • We will have a release branch (we are determining whether to give unique branch names or just call it release), this would be the items we feel are ready for the current releases (6.5.0, through 6.6.0, etc.)
  • Contributors will use best practices of making each feature or bug fix it's own branch and submit it to Master using the Pull Request method to isolate work.
  • Since Pull Requests "PRs" allow for review of work, we would relax the rules on what can be altered. Our main developers would review the PRs and approve the ones affecting their respective scopes.
We do want to encourage users to adopt either learning the command line (If you want serious control) or using a GUI or Shell Integration program, but not GITHUB for Window/Mac if possible. Our experience from the GITHUB tool is it can cause confusion, and lacks some of the finer tools for collaboration.

Our recommendations for Windows users are Atlassian's SourceTree (Windows 7 or higher), or TortoiseGIT. SourceTree is a complete GUI program and offers many capabilities. TortoiseGIT integrates with the Shell, and can be used directly from some Text Editors (Editplus is an example of this). For Linux, the only GUI I've found (Using Zorin) was RabbitVCS which is a shell integration like TortoiseGIT. For Mac, they have a few offerings, but we haven't had any feedback from the Mac developers yet.

At this point, we are making final adjustments, and nothing is written in stone. If you have any concerns, comments, or questions, please direct your questions to the pcgen_experimental group or the pcgen forum. We want to make sure everyone understands that this is meant to include more developers, and encourage community involvement.
Andrew Maitland
PCGen Content Silverback

Re: GIT and GITHUB Migration

PostPosted: Wed Dec 03, 2014 12:21 am
by Nylanfs
I started my latest PL review using Git. :)

Re: GIT and GITHUB Migration

PostPosted: Thu Mar 02, 2017 9:43 am
by maureenash
GIT and GITHUB Migration