Subversion repository now READ ONLY

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Subversion repository now READ ONLY

George (Foswiki)
Attention Foswiki developers,

The Foswiki project subversion repository is now read only.  This has been done in preparation for the migration to github.   If you have not done so, please sign up for a github account and add your account information to your <WikiName>WouldLikeToCheckIn  topic.

Please do not yet push to github!  There is still a bit of work left to complete before we are ready to accept commits into github:

1)  An audit to ensure that all github repositories are up to date with subversion
2) Installation of a webhook into each repository to notify the Tasks web of each commit.
3) Update the scripts to pull from github for updates.

The project decided during the last release meeting to proceed using git submodules for the core + default extensions.   See for details.

Quickstart steps:   To set up a Foswiki development environment from github

  • Change to the directory where you'll want the checkout to live
  • run:  "git clone [hidden email] foswiki"  (This will create a "foswiki" directory)
    • _allFoswiki is an umbrella repository that links to the foswiki core and all default extensions.
  • Change to the foswiki directory
  • run:  git checkout master     (or git checkout Release01x01)      Master is where 1.2 currently lives - similar to trunk
  • run:  git submodule update --init            (Initializes all the default extensions)
  • run:  git submodule update --remote      (Makes sure all the extensions are at latest version of the branch)
  • Change to core directory.    You are all set to pseudo-install your configuration
  • pseudo-install of any non-default extensions will automatically clone the github repository for any missing extensions.
  • To switch branches:   (master to Release01x01 for ex.)  From the top "foswiki" directory
    • run: git checkout Release01x01
    • run: git submodule --init      (This is only needed the first time using the branch)
    • run: git submodule update --remote     (re-fetches the latest extensions.  If you don't need the latest,  drop the --remote
If you run into problems,  please send an email to foswiki-discuss and/or contact us on #foswiki IRC channel.

For now, pseudo-install is still establishing a subversion pointer for the extensions.  This allows some limited read-only action with subversion until the migration is completed. 

Other points to know:
  • We will continue to use the Tasks web, not github issues for tracking.
  • Continue to use ItemXXXX: prefix for commit messages,  the local git hooks will enforce this.
  • Continue to use perltidy, local git hooks will enforce this as well.
  • Each extension has it's own github repository.  Here are the URLs
  • The core, default extensions and the superprojects have 3 branches,  master, Release01x01 and Release01x00.  Other extensions just have a master branch.

The development workflow,  If you have commit rights:

  • Establish a github environment as above.
  • Create a new branch where your development will happen.   (It's generally best to not make major changes directly to our established branches)
    • git checkout Release01x01   (Development in this example will be based upon 1.1.)
    • git checkout -b mynewfeature   (Created a new branch for your work, based on 1.1 )
    • ...  make changes,  ... test ... and when satisfied
    • git checkout Release01x01 (Switch back to the production branch)
    • git merge mynewfeature    (Merge your work back into production)
  • Working this way keeps our release branches as clean as possible, so we could build a release anytime with a stable base of code.
  • If you want others to test your code,  you can push your "mynewfeature" branch to github

If you do not have commit rights,  the process is quite similar except:

  • Instead of working in the foswiki account,  you will "fork" the foswiki account/repo into your own github account
  • Instead of doing the git merge,  you'll create a git pull request asking a core developer to merge in your work.

Happy coding, and please have patience as we make this conversion.

George Clark

Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
Foswiki-discuss mailing list
[hidden email]