Message ID | e5d884e5-8093-f7da-d365-af2d2dd7a426@arm.com |
---|---|
State | New |
Headers | show |
Series | wwwdocs: Document the gcc git repository layout | expand |
On Wed, 22 Jan 2020, Richard Earnshaw (lists) wrote:
> Joseph, have I got all of these right?
refs/meta in that list should be refs/meta/config, there isn't anything
else under refs/meta/ at present.
--
Joseph S. Myers
joseph@codesourcery.com
On 22/01/2020 22:15, Joseph Myers wrote: > On Wed, 22 Jan 2020, Richard Earnshaw (lists) wrote: > >> Joseph, have I got all of these right? > > refs/meta in that list should be refs/meta/config, there isn't anything > else under refs/meta/ at present. > I've pushed this version... diff --git a/htdocs/git.html b/htdocs/git.html index 6100146e..66d68ebc 100644 --- a/htdocs/git.html +++ b/htdocs/git.html @@ -197,6 +197,61 @@ To create a worktree for a new project branch based on master, do git worktree add -b <em>project</em> ../project master </pre></blockquote> +<h3 id="repolayout">Repository Layout</h3> + +<p>By default, a <code>git clone</code> operation will only fetch the +main development, release branches and their associated tags from the +server. This will be sufficient for most users, but a number of +additional branches can also be fetched if necessary.</p> + +<p>The following areas exist on the server:</p> +<ul> + <li><i>refs/heads/master</i> - The active development version of the + compiler.</li> + <li><i>refs/heads/releases/*</i> - Release branches.</li> + <li><i>refs/heads/devel/*</i> - topic-specific development branches + - see <a href="#devbranches">Active Development Branches</a>. + Branches and tags in this space may be moved to refs/dead once active + development is completed or abandoned.</li> + <li><i>refs/tags/*</i> - tags for all of the above branches.</li> + <li><i>refs/vendors/*/{heads,tags}/*</i> - vendor-specific branches and + tags. These are owned and maintained by the respective + vendor, but made available publicly. Non-fast-forward pushes + are permitted on these branches.</li> + <li><i>refs/users/*/{heads,tags}/*</i> - personal developer branches and + tags. These are owned and maintained by the individual developer. + Non-fast-forward pushes are permitted on these branches.</li> + <li><i>refs/dead/heads/*</i> - completed or abandoned development + branches.</li> + <li><i>refs/meta/config</i> - local configuration data for the + commit hooks on the server.</li> + <li><i>refs/deleted/*/{heads,tags}/*</i> - old branches and tags + from the SVN repository that were deleted before the conversion to + git.</li> + <li><i>refs/git-svn-old/*</i> - various branches and tags from the + git-svn pre-conversion git mirror.</li> + <li><i>refs/git-old/*</i> - various branches and tags from the + git-svn pre-conversion git mirror that were local to that git + repository.</li> +</ul> + +<p>You can download any of the additional branches by adding a suitable +fetch specification to your local copy of the git repostiory. For +example, if your remote is called 'origin' (the default with git +clone) you can add the 'dead' development branches by running:</p> + +<blockquote><pre> + git config --add remote.origin.fetch "+refs/dead/heads/*:refs/remotes/origin/dead/*" + git config --add remote.origin.fetch "+refs/dead/tags/*:refs/tags/dead/*" + git fetch origin +</pre></blockquote> + +<p>which will place the dead branches in <code>remotes/origin/dead</code> + and the tags in <code>tags/dead</code>.</p> + +<p>You can use <code>git ls-remote</code> to get a complete list of +refs that the server holds.</p> + <h3 id="devbranches">Active Development Branches</h3> <ul>
diff --git a/htdocs/git.html b/htdocs/git.html index 6100146e..6d3778af 100644 --- a/htdocs/git.html +++ b/htdocs/git.html @@ -197,6 +197,61 @@ To create a worktree for a new project branch based on master, do git worktree add -b <em>project</em> ../project master </pre></blockquote> +<h3 id="repolayout">Repository Layout</h3> + +<p>By default, a <code>git clone</code> operation will only fetch the +main development, release branches and their associated tags from the +server. This will be sufficient for most users, but a number of +additional branches can also be fetched if necessary.</p> + +<p>The following areas exist on the server:</p> +<ul> + <li><i>refs/heads/master</i> - The active development version of the + compiler.</li> + <li><i>refs/heads/releases/*</i> - Release branches.</li> + <li><i>refs/heads/devel/*</i> - topic-specific development branches + - see <a href="#devbranches">Active Development Branches</a>. + Branches and tags in this space may be moved to refs/dead once active + development is completed or abandoned.</li> + <li><i>refs/tags/*</i> - tags for all of the above branches.</li> + <li><i>refs/vendors/*/{heads,tags}/*</i> - vendor-specific branches and + tags. These are owned and maintained by the respective + vendor, but made available publicly. Non-fast-forward pushes + are permitted on these branches.</li> + <li><i>refs/users/*/{heads,tags}/*</i> - personal developer branches and + tags. These are owned and maintained by the individual developer. + Non-fast-forward pushes are permitted on these branches.</li> + <li><i>refs/dead/heads/*</i> - completed or abandoned development + branches.</li> + <li><i>refs/meta</i> - local configuration data for the commit hooks + on the server.</li> + <li><i>refs/deleted/*/{heads,tags}/*</i> - old branches and tags + from the SVN repository that were deleted before the conversion to + git.</li> + <li><i>refs/git-svn-old/*</i> - various branches and tags from the + git-svn pre-conversion git mirror.</li> + <li><i>refs/git-old/*</i> - various branches and tags from the + git-svn pre-conversion git mirror that were local to that git + repository.</li> +</ul> + +<p>You can download any of the additional branches by adding a suitable +fetch specification to your local copy of the git repostiory. For +example, if your remote is called 'origin' (the default with git +clone) you can add the 'dead' development branches by running:</p> + +<blockquote><pre> + git config --add remote.origin.fetch "+refs/dead/heads/*:refs/remotes/origin/dead/*" + git config --add remote.origin.fetch "+refs/dead/tags/*:refs/tags/dead/*" + git fetch origin +</pre></blockquote> + +<p>which will place the dead branches in <code>remotes/origin/dead</code> + and the tags in <code>tags/dead</code>.</p> + +<p>You can use <code>git ls-remote</code> to get a complete list of +refs that the server holds.</p> + <h3 id="devbranches">Active Development Branches</h3> <ul>