CiviCRM Community Forums (archive)

*

News:

Have a question about CiviCRM?
Get it answered quickly at the new
CiviCRM Stack Exchange Q+A site

This forum was archived on 25 November 2017. Learn more.
How to get involved.
What to do if you think you've found a bug.



  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Developer Discussion »
  • Scalability (Moderator: Donald Lobo) »
  • thoughts on moving toward using a 'distributed revision control' system
Pages: [1]

Author Topic: thoughts on moving toward using a 'distributed revision control' system  (Read 2321 times)

Erich Schulz

  • I post frequently
  • ***
  • Posts: 142
  • Karma: 5
    • When no-one understands what you are going on about its time to start a blog
  • CiviCRM version: 4.4
  • CMS version: Drupal 7
  • MySQL version: 5.somthing
  • PHP version: 5.3.3
thoughts on moving toward using a 'distributed revision control' system
August 15, 2011, 12:17:29 am
Following up some recent chats with Lobo I've been doing a spot more research on <a href="http://en.wikipedia.org/wiki/Distributed_revision_control_system">'distributed revision control' systems</a> (git, hg, bzr etc),  which seem to be the next generation after the CVS/SVN family.

As for "is it worth the effort", my googling suggests "very likely, but possibly not, and definitely no need to rush to ditch svn"

Note: I'm no expert and not claiming to be, and have only spent several hours at the University of Google. But I thought I'd try and summarise my findings. The nice thing about being an ignorant noob is I come without preconceptions and biases, so sometime its handy to be ignorant (I keep telling myself).

The main thing to note is the tools are rapidly evolving so probably only worth reading anything that was posted this year. Anything older is just too out-of-date.

Overall havent found a compelling basis to say that git is superior to hg or bzr, but git is most popular by a fair bit- see http://stackoverflow.com/questions/995636/popularity-of-git-mercurial-bazaar-vs-which-to-recommend

A good balance view is presented here:

http://www.slideshare.net/lornajane/subversion-in-a-distributed-world

points:
- steep learning curve (so something to be said for gradual transition)
- hybrid rcs configs are very very doable - especially idea of keeping central svn repo,
- toitoisegit is a new devopment (last 12 months) so may have lessened cost of transition
- plenty of comments in blogosphere supporting notion of any distributed rcs better than svn for development by "distributed team of expert geeks" - this seems to fit the civicrm model from what I can sense (as ignorant noob)

When I went looking for how these systems work practically the best illustration i found on a rapid scan was here:http://whygitisbetterthanx.com/#any-workflow

How to proceed? well from the above reading it seems to me like a good way forward would simply be to discourage posting code in the wiki and forum and encourage people to use github - as Xavier kindly did to me a few weeks ago... then just see if the alleged benefits do seem worth the effort... the next step would be an active program of cutting contributed codes snippets out of the wiki and pasting into git-hub

all of this is simply by way of putting a toe in the water and seeing if the temperature is right... if the benefits did seem real after that a gradual process of evolution would seem.

A key question tho, is: is 'git hub' the best bath to stick a toe into?

xavier

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4453
  • Karma: 161
    • Tech To The People
  • CiviCRM version: yes probably
  • CMS version: drupal
Re: thoughts on moving toward using a 'distributed revision control' system
August 15, 2011, 12:28:49 am
Hi,

That point has been discussed previously, and I think the consensus is that git is the best solution, and that it's offering various benefits over svn indeed.

This being said, it would need someone (or group of) from the community to test, do the migration...). Drupal did this a while ago, and it seems it was a process that was quite time consuming, and so far none has been prepared to commit the needed time to lead that.

X+
-Hackathon and data journalism about the European parliament 24-26 jan. Watch out the result

Erich Schulz

  • I post frequently
  • ***
  • Posts: 142
  • Karma: 5
    • When no-one understands what you are going on about its time to start a blog
  • CiviCRM version: 4.4
  • CMS version: Drupal 7
  • MySQL version: 5.somthing
  • PHP version: 5.3.3
Re: thoughts on moving toward using a 'distributed revision control' system
August 15, 2011, 01:34:09 am
Hi Xavier! thanks for the reply :-)

cool - i did get the sense that it was a bit of work - and there were a few opinions that it was more trouble than it was worth (i think that was the minority view, but still expressed often enough to act as a warning! )

but it useful to know that git is the 'preferred drcs tool'... that gives a starting point

so i guess the question for discussion becomes:

is it reasonable to adopt a policy of actively discouraging posting code snippets in the wiki, and putting them in git-hub instead?


Dave Greenberg

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 5760
  • Karma: 226
    • My CiviCRM Blog
Re: thoughts on moving toward using a 'distributed revision control' system
August 16, 2011, 12:08:15 pm
Encouraging folks to use github seems like a good step to me. We are also working on bringing up a searchable directory of extensions, modules and snippets (listing would point to the posters repository -e.g. github or ... -  for actual code). Hopefully have something to share w/ the community soon.
Protect your investment in CiviCRM by  becoming a Member!

Pages: [1]
  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Developer Discussion »
  • Scalability (Moderator: Donald Lobo) »
  • thoughts on moving toward using a 'distributed revision control' system

This forum was archived on 2017-11-26.