Actions

Difference between revisions of "Dvcs"

From Joomla! Documentation

(DVCS comparison)
 
Line 52: Line 52:
 
* [http://zef.me/3369/how-git-encourages-open-source-contribution How Git Encourages Open Source Contribution]
 
* [http://zef.me/3369/how-git-encourages-open-source-contribution How Git Encourages Open Source Contribution]
 
* [http://hginit.com/00.html Subversion Re-education]
 
* [http://hginit.com/00.html Subversion Re-education]
 +
* [http://tuxychandru.blogspot.com/2010/01/how-git-shines-above-subversion-at.html How Git shines above Subversion at Merging]
  
 
=DVCS comparison=
 
=DVCS comparison=
{| class="wikitable"
+
 
|-
+
Aspects taken into account to consider both git and Mercurial:
!
+
 
! Git
+
* IDE Compatibility
! Mercurial
+
* 3rd party hosting
! Bazaar
+
* MacOS Compatibility
|-
+
* Windows Compatibility
| IDE Compatibility
+
* Linux Compatibility
|
+
* Shell integration
|
+
|
+
|-
+
| 3rd party hosting
+
|
+
|
+
|
+
|-
+
| MacOS Compatibility
+
|
+
|
+
|
+
|-
+
| Windows Compatibility
+
|
+
|
+
|
+
|-
+
| Linux Compatibility
+
|
+
|
+
|-
+
| Shell integration
+
|
+
|
+
|
+
|}
+
 
==Git==
 
==Git==
 +
===OS Binaries===
 +
* [http://git-scm.com/download Linux, MacOS X & Solaris]
 +
* [http://code.google.com/p/msysgit/downloads/list Windows]
 +
===Shell Integration===
 +
* [http://code.google.com/p/tortoisegit/ TortoiseGit]
 +
===IDE Integration===
 +
* [http://www.eclipse.org/egit/ EGit (Eclipse)]
 +
* [http://nbgit.org/ Netbeans]
 +
===Patching procedure===
 +
* [http://ariejan.net/2009/10/26/how-to-create-and-apply-a-patch-with-git/ How to create and apply a patch with Git]
 +
===Where to start===
 +
* [http://progit.org/book/ Pro Git]
 +
===Public Repository Hosting===
 +
* [https://github.com/ github]
 +
* [http://gitorious.org/ Gitorious]
 
===Pros===
 
===Pros===
 
* Has github.com, probably the most prominent online service of its type
 
* Has github.com, probably the most prominent online service of its type
 
* Lots of advanced utilities
 
* Lots of advanced utilities
 
 
===Cons===
 
===Cons===
* Hard to learn
+
* Harder to learn
* Poor Windows support
+
* Not official (but well maintained) and quirky Windows support
 
+
 
==Mercurial==
 
==Mercurial==
 +
===OS Binaries===
 +
* [http://mercurial.selenic.com/downloads/ Linux, MacOS X, Solaris & Windows]
 +
===Shell Integration===
 +
* [http://tortoisehg.bitbucket.org/ TortoiseHg]
 +
===IDE Integration===
 +
* [http://www.eclipse.org/egit/ EGit (Eclipse)]
 +
* Netbeans (built-in)
 +
* JetBrains PhpStorm (built-in since 2.0 or plugin for 1.0)
 +
===Patching procedure===
 +
* [http://shampavman.wordpress.com/2009/10/13/mercurial-patches-how-to/ Mercurial, Patches -How to?]
 +
* [http://davidherron.com/blog/topics/972-using-mercurial-patch-queues Using Mercurial patch queues]
 +
* [http://mercurial.selenic.com/wiki/MqExtension Mercurial Queues Extension]
 +
===Where to start===
 +
* [http://hginit.com/ Hg init]
 +
* [http://mercurial.selenic.com/wiki/QuickStart Quick Start]
 +
===Public Repository Hosting===
 +
* [http://www.bitbucket.org/ bitbucket]
 +
* [http://code.google.com/projecthosting/ Google Code Project Hosting]
 +
 
===Pros===
 
===Pros===
 
* Easy to learn
 
* Easy to learn
* Great Windows support
+
* Good Windows support (works the same in al OSs)
 
* Has Google Code and BitBucket.org
 
* Has Google Code and BitBucket.org
 
===Cons===
 
===Cons===
 
* Short in advanced comands in comparison with git (for example, '''git rebase''')
 
* Short in advanced comands in comparison with git (for example, '''git rebase''')
  
==Bazaar==
+
==The case for Joomla==
===Pros===
+
Git is probably the most popular DVCS to date, however, it has a relative weakness that sets it appart from Mercurial: its Windows support is not as good and straight forward.
===Cons===
+
 
 +
The possibility for adopting both DVCSs [http://groups.google.com/group/joomla-dev-framework/browse_thread/thread/d081a43545ce3cc6/e49276cf5a88585a?q=git+support+joomla#e49276cf5a88585a was discussed in the mailing list] for the reason that it is possible for Mercurial users to push to a git repository in a lossless fashion [http://hg-git.github.com/ thanks to a plugin developed by the guys at github]. Since both Git and Mercurial communities are big enough, the project would be lowering the barrier to an even broader contributor audience.
 +
 
 +
===Logistics===
 +
 
 +
* Core Repository within JoomlaCode
 +
* Official repositories in Github and Bitbucket
 +
* ...
 +
 
 +
====Patching====
 +
...
 +
 
 +
===Tutorials===
 +
* [[Contributing through git and mercurial]]
 +
* [[Starting with git]]
 +
* [[Starting with Mercurial]]
 +
* [[Integrator's guide]]
  
 
=Action Plan=
 
=Action Plan=
 +
 +
* [http://groups.google.com/group/joomla-dev-framework/browse_thread/thread/d081a43545ce3cc6/f6c9ffc64c8de31d Use Mercurial for the platform project]
 +
 +
[[Category:Core Contributions]]

Latest revision as of 10:55, 30 November 2013