doc:git

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
doc:git [2011/12/07 00:09]
frozenfire created
doc:git [2020/09/03 01:18] (current)
avenger
Line 3: Line 3:
  
 === Current Project Structure === === Current Project Structure ===
 +The Subversion repository for the PHP Documentation project is currently stored in the
 +[[https://svn.php.net/viewvc/|main PHP repository]] under [[https://svn.php.net/viewvc/phpdoc/|phpdoc]].
 +It is divided into two main subsections, and a number of active and inactive translations.
  
 == Main Subsections == == Main Subsections ==
Line 8: Line 11:
   - [[https://svn.php.net/viewvc/phpdoc/modules/|Modules]]   - [[https://svn.php.net/viewvc/phpdoc/modules/|Modules]]
     * [[https://svn.php.net/viewvc/phpdoc/modules/doc-en/|Doc-En]]     * [[https://svn.php.net/viewvc/phpdoc/modules/doc-en/|Doc-En]]
-    * [[https://svn.php.net/viewvc/phpdoc/modules/doc-all/|Doc-All]] +    * //[[https://svn.php.net/viewvc/phpdoc/modules/|Others]]//
-    * [[https://svn.php.net/viewvc/phpdoc/modules/|*Others*]]+
  
 == Translations == == Translations ==
   - [[https://svn.php.net/viewvc/phpdoc/pt_BR/|Brazilian Portuguese]]   - [[https://svn.php.net/viewvc/phpdoc/pt_BR/|Brazilian Portuguese]]
   - [[https://svn.php.net/viewvc/phpdoc/zh/|Chinese (simplified)]]   - [[https://svn.php.net/viewvc/phpdoc/zh/|Chinese (simplified)]]
 +  - [[https://svn.php.net/viewvc/phpdoc/en/|English]]
   - [[https://svn.php.net/viewvc/phpdoc/fr/|French]]   - [[https://svn.php.net/viewvc/phpdoc/fr/|French]]
   - [[https://svn.php.net/viewvc/phpdoc/de/|German]]   - [[https://svn.php.net/viewvc/phpdoc/de/|German]]
Line 23: Line 26:
   - [[https://svn.php.net/viewvc/phpdoc/es/|Spanish]]   - [[https://svn.php.net/viewvc/phpdoc/es/|Spanish]]
   - [[https://svn.php.net/viewvc/phpdoc/tr/|Turkish]]   - [[https://svn.php.net/viewvc/phpdoc/tr/|Turkish]]
-  - [[https://svn.php.net/viewvc/phpdoc/|Other Inactive]]+  - //[[https://svn.php.net/viewvc/phpdoc/|Other Inactive]]// 
 + 
 +== Properties == 
 + 
 +**svn:externals** 
 +Modules are achieved using the Subversion property known as svn:externals. This prop allows external 
 +Subversion paths to be linked into the project by URL. 
 + 
 +''doc-en Module Example'' 
 +  doc-base https://svn.php.net/repository/phpdoc/doc-base/trunk 
 +  en https://svn.php.net/repository/phpdoc/en/trunk 
 + 
 +**svn:keywords** 
 +Each xml file in the repository contains a set of keywords which are automatically substituted when 
 +checked out. These allow certain terms to be automatically updated for each commit, rather than 
 +maintained manually. Importantly, the Revision keyword allows translations to track what version 
 +of the English translation their file is based upon. 
 + 
 +''svn:keywords Example'' 
 +  Id Rev Revision Date LastChangedDate LastChangedRevision Author LastChangedBy HeadURL URL 
 + 
 +=== Proposed Git Structure === 
 +Because of a few technical limitations of the Git version control system, some major structural changes 
 +are required for the transition to Git from Subversion. First and foremost, Git does not support 
 +partial check-outs of a subsection of the repository. 
 +Because of this, the project must be split into several independent repositories, and "wrapper" 
 +repositories whose function is to define a set of submodules that make up each translation's project. 
 + 
 +== Doc-Base == 
 +Since the doc-base path of the PHP Documentation project is a global dependency for all builds, it 
 +makes up its own major project, which all wrapper repositories will include as a submodule. 
 + 
 +== "Wrapper" Repositories == 
 +Each wrapper repository will include doc-base and its respective translation project as submodules. 
 + 
 +''doc-en Wrapper Repository Example'' 
 +  git init phpdoc-en 
 +  git submodule add git://github.com/php/doc-base.git phpdoc-en/doc-base 
 +  git submodule add git://github.com/php/doc-en.git phpdoc-en/en 
 + 
 +== Attributes == 
 +Because Git does not support keywords in the same way that Subversion does, some changes may need to be 
 +made, or it may be necessary to create hackish dependencies in order to 
 +[[https://github.com/turon/git-rcs-keywords|maintain the current scheme]]. 
 + 
 +''RCS Keywords Example'' 
 +  git clone git://github.com/turon/git-rcs-keywords.git 
 +  git init phpdoc-en 
 +  cat git-rcs-keywords/.gitconfig >> phpdoc-en/.git/config 
 +  echo '*.xml filter=rcs-keywords' >> phpdoc-en/.gitattributes 
 +  cp -R git-rcs-keywords/.git_filters phpdoc-en/
doc/git.1323216549.txt.gz · Last modified: 2017/09/22 13:28 (external edit)