Tags:
create new tag
, view all tags

GitForTWikiDevelopment

2018-03-20 - 20:11:00 by HaraldJoerg in Development
For a long time now, TWiki has been developed in Subversion, also known as SVN. However, since some years I'm using Git for other projects, and it has some features I really would like to use for TWiki as well. For example, in SVN it is pretty inefficient to run several branches in parallel with the monolith that is TWiki core, because in SVN every branch is a complete copy. Git handles this much better. So, all that stands in the way of moving to Git is the migration of the code (easy), the history (possible) and the twiki.org infrastructure (tedious).

On the other hand, it is rather easy to run Git and Subversion in parallel on the same source tree, and I'm using this especially for experimental stuff where creating, merging and dropping branches happens every now and then. For the Git branches, I use a Raspberry Pi as a "central repository", and every time when I merge some stuff into Git's "master" branch, I commit the stuff to twiki.org's Subversion repository.

I keep Git's metadata out of Subversion's reach in my file ~/.subversion.config. In this file, there's a section titled [miscellany], and in this section there's a lengthy line starting with global-ignores. This line lists file patterns which are ignored by Subversion, and I simply added .git* to that line so that neither the .git directory nor the .gitignore file are ever considered by Subversion.

In the other direction, I also use my user-specific Git configuration file which is located at ~/.config/git/ignore. This file has the same syntax as your usual .gitignore file, so I added the pattern **/.svn on a separate line. Remember that Subversion creates its metadata in every directory, the two asterisks take care for that.

This could also be used as a step-by-step migration path for TWiki as a whole, only then one would use a central repository like e.g. GitHub instead of my Raspberry Pi smile

Comments

.

Topic revision: r1 - 2018-03-20 - HaraldJoerg
 

Twitter Delicious Facebook Digg Google Bookmarks E-mail LinkedIn Reddit StumbleUpon    
  • Help
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.