rfc:dvcs
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
rfc:dvcs [2011/08/12 08:52] – [Discussion] dsp | rfc:dvcs [2011/09/05 09:39] – dsp | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Request for Comments: Choosing a distributed version control system for PHP ====== | ====== Request for Comments: Choosing a distributed version control system for PHP ====== | ||
- | * Version: | + | * Version: 1.0 |
* Date: 2011-07-30 | * Date: 2011-07-30 | ||
* Author: David Soria Parra <dsp at php dot net> | * Author: David Soria Parra <dsp at php dot net> | ||
- | * Status: | + | * Status: |
* First Published at: http:// | * First Published at: http:// | ||
Line 273: | Line 273: | ||
Windows. This situation is slowly improving. | Windows. This situation is slowly improving. | ||
- | ==== CLRF -> LF ==== | + | ==== CRLF -> LF ==== |
Git supports CRLF to LF conversion. This can be configured using the variables | Git supports CRLF to LF conversion. This can be configured using the variables | ||
core.autocrlf, | core.autocrlf, | ||
Line 312: | Line 312: | ||
An implementation of the PHP karma system as a Mercurial plugin exists. It can be found here: | An implementation of the PHP karma system as a Mercurial plugin exists. It can be found here: | ||
https:// | https:// | ||
+ | |||
+ | ==== General Server Layout ==== | ||
+ | | ||
+ | user <-- KARMA CHECK --> hg/ | ||
+ | | ||
===== Unqiue features ===== | ===== Unqiue features ===== | ||
==== Git ==== | ==== Git ==== | ||
Line 440: | Line 445: | ||
not allow checkouts of subdirectories, | not allow checkouts of subdirectories, | ||
modules, a move which is already desired. To guarantee minimal downtimes and a | modules, a move which is already desired. To guarantee minimal downtimes and a | ||
- | smooth transition, we will move one module at at ime. The first module will | + | smooth transition, we will move one module at a time. The first module will |
be php-src and the karma system. Other modules like systems will follow. | be php-src and the karma system. Other modules like systems will follow. | ||
+ | |||
+ | As DVCS does not support cloning of subtrees of a repository, we will split the | ||
+ | repository similar to the old CVS structure. References to other repositories can | ||
+ | be maintained using the submodules/ | ||
+ | subtree merges will be done to maintain better history and easier cloning. | ||
+ | |||
+ | For every module like phpdoc, php-src, web and so on an own implementation RFC will be written. | ||
+ | |||
+ | In general, modules will be accessible via HTTP on git/ | ||
+ | http:// | ||
+ | A web interface to browse the code will be available. Note that a combined checkout of PECL modules or similar | ||
+ | SVN directories will not be available. If necessary, we can create meta repositories that have | ||
+ | references to those repositories manually. | ||
+ | |||
+ | ==== php-src ==== | ||
+ | The first source to be moved to the chosen DVCS will be php-src. Other modules, such as web, | ||
+ | pecl and phpdoc will follow later. | ||
+ | |||
+ | ==== PECL, PHPdoc and co ==== | ||
+ | Modules like PECL can use submodules/ | ||
+ | modules moves to php-src it will be either done as a submodules/ | ||
+ | to maintain a combined history and ease the cloning process. To easy the process, if PECL modules are | ||
+ | maintained outside of php.net they should try to use the same VCS as PHP. | ||
==== Migration RFC ==== | ==== Migration RFC ==== | ||
Line 447: | Line 475: | ||
- Migration of php-src | - Migration of php-src | ||
+ | - Migration of phpdoc | ||
+ | - Migration of PECL | ||
more to follow. | more to follow. | ||
- | ===== Discussion ==== | + | ===== Discussion |
In this section I'll try to outline some qualitative evaluation based on | In this section I'll try to outline some qualitative evaluation based on | ||
discussions that I had about this topic with people from the PHP community and | discussions that I had about this topic with people from the PHP community and | ||
Line 490: | Line 520: | ||
Further Readings: | Further Readings: | ||
+ | * a successful git branching model http:// | ||
* http:// | * http:// | ||
* http:// | * http:// | ||
* http:// | * http:// | ||
* http:// | * http:// | ||
+ | * http:// | ||
Discussion on internals: | Discussion on internals: | ||
Line 509: | Line 541: | ||
* 2011-07-30: initial revision | * 2011-07-30: initial revision | ||
* 2011-08-07: general cleanup and a small amount of Bazaar information | * 2011-08-07: general cleanup and a small amount of Bazaar information | ||
+ | * 2011-08-26: add reference to hginit.com |
rfc/dvcs.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1