doc:git
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
doc:git [2011/12/07 00:20] – Formatting frozenfire | doc:git [2017/09/22 13:28] – external edit 127.0.0.1 | ||
---|---|---|---|
Line 3: | Line 3: | ||
=== Current Project Structure === | === Current Project Structure === | ||
+ | The Subversion repository for the PHP Documentation project is currently stored in the | ||
+ | [[https:// | ||
+ | It is divided into two main subsections, | ||
== Main Subsections == | == Main Subsections == | ||
Line 8: | Line 11: | ||
- [[https:// | - [[https:// | ||
* [[https:// | * [[https:// | ||
- | svn: | ||
- | doc-base https:// | ||
- | en https:// | ||
- | |||
* // | * // | ||
Line 17: | Line 16: | ||
- [[https:// | - [[https:// | ||
- [[https:// | - [[https:// | ||
+ | - [[https:// | ||
- [[https:// | - [[https:// | ||
- [[https:// | - [[https:// | ||
Line 28: | Line 28: | ||
- // | - // | ||
+ | == Properties == | ||
+ | |||
+ | **svn: | ||
+ | Modules are achieved using the Subversion property known as svn: | ||
+ | Subversion paths to be linked into the project by URL. | ||
+ | |||
+ | '' | ||
+ | doc-base https:// | ||
+ | en https:// | ||
+ | |||
+ | **svn: | ||
+ | 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, | ||
+ | of the English translation their file is based upon. | ||
+ | |||
+ | '' | ||
+ | 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, | ||
+ | repositories whose function is to define a set of submodules that make up each translation' | ||
+ | |||
+ | == 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. | ||
+ | |||
+ | == " | ||
+ | Each wrapper repository will include doc-base and its respective translation project as submodules. | ||
+ | |||
+ | '' | ||
+ | git init phpdoc-en | ||
+ | git submodule add phpdoc-en/ | ||
+ | git submodule add phpdoc-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:// | ||
+ | |||
+ | '' | ||
+ | git clone git:// | ||
+ | git init phpdoc-en | ||
+ | cat git-rcs-keywords/ | ||
+ | echo '*.xml filter=rcs-keywords' | ||
+ | cp -R git-rcs-keywords/ |
doc/git.txt · Last modified: 2020/09/03 01:18 by avenger