egl: avoid local modifications for eglext.h Khronos standard header file
[mesa.git] / docs / repository.html
index 95d274a7a2c70bf3b635b4cda07bc6c495af01ad..6f8d65ce366a4399fac3bf6ae5afa78b2f1e2d70 100644 (file)
@@ -1,20 +1,29 @@
-<HTML>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+  <meta http-equiv="content-type" content="text/html; charset=utf-8">
+  <title>Source Code Repository</title>
+  <link rel="stylesheet" type="text/css" href="mesa.css">
+</head>
+<body>
 
-<TITLE>Code Repository</TITLE>
+<div class="header">
+  The Mesa 3D Graphics Library
+</div>
 
-<link rel="stylesheet" type="text/css" href="mesa.css"></head>
+<iframe src="contents.html"></iframe>
+<div class="content">
 
-<BODY>
-
-<h1>Code Repository</h1>
+<h1>Source Code Repository</h1>
 
 <p>
-Mesa uses <a href="http://git.or.cz/"target="_parent">git</a>
+Mesa uses <a href="https://git-scm.com">git</a>
 as its source code management system.
 </p>
 
+<p>
 The master git repository is hosted on
-<a href="http://www.freedesktop.org" target="_parent">freedesktop.org</a>.
+<a href="https://www.freedesktop.org">freedesktop.org</a>.
 </p>
 
 <p>
@@ -26,66 +35,80 @@ You may access the repository either as an
 
 <p>
 You may also 
-<a href="http://gitweb.freedesktop.org/?p=mesa/mesa.git"
-target="_parent">browse the git repository</a>.
+<a href="https://gitlab.freedesktop.org/mesa/mesa"
+>browse the main Mesa git repository</a> and the
+<a href="https://gitlab.freedesktop.org/mesa/demos"
+>Mesa demos and tests git repository</a>.
 </p>
 
 
-<a name="anonymous">
-<H2>Anonymous git Access</H2>
+<h2 id="anonymous">Anonymous git Access</h2>
 
 <p>
 To get the Mesa sources anonymously (read-only):
 </p>
 
 <ol>
-<li>Install the git software on your computer if needed.<br><br>
+<li>Install the git software on your computer if needed.
 <li>Get an initial, local copy of the repository with:
-    <pre>
-    git clone git://anongit.freedesktop.org/git/mesa/mesa
-    </pre>
+    <pre>git clone https://gitlab.freedesktop.org/mesa/mesa.git</pre>
 <li>Later, you can update your tree from the master repository with:
-    <pre>
-    git pull origin
-    </pre>
+    <pre>git pull origin</pre>
+<li>If you also want the Mesa demos/tests repository:
+    <pre>git clone https://gitlab.freedesktop.org/mesa/demos.git</pre>
 </ol>
 
 
-<a name="developer">
-<H2>Developer git Access</H2>
+<h2 id="developer">Developer git Access</h2>
 
 <p>
-Mesa developers need to first have an account on
-<a href="http://www.freedesktop.org" target="_parent">freedesktop.org</a>.
-To get an account, please ask Brian or the other Mesa developers for
-permission.
-Then, if there are no objections, follow this
-<a href="http://www.freedesktop.org/wiki/AccountRequests" target="_parent">
-procedure</a>.
+If you wish to become a Mesa developer with git-write privilege, please
+follow this procedure:
 </p>
+<ol>
+<li>Subscribe to the
+<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev">mesa-dev</a>
+mailing list.
+<li>Start contributing to the project by
+<a href="submittingpatches.html" target="_parent">submitting patches</a> to
+the mesa-dev list.  Specifically,
+<ul>
+<li>Use <code>git send-mail</code> to post your patches to mesa-dev.
+<li>Wait for someone to review the code and give you a <code>Reviewed-by</code>
+statement.
+<li>You'll have to rely on another Mesa developer to push your initial patches
+after they've been reviewed.
+</ul>
+<li>After you've demonstrated the ability to write good code and have had
+a dozen or so patches accepted you can apply for an account.
+<li>Occasionally, but rarely, someone may be given a git account sooner, but
+only if they're being supervised by another Mesa developer at the same
+organization and planning to work in a limited area of the code or on a
+separate branch.
+<li>To apply for an account, follow
+<a href="https://www.freedesktop.org/wiki/AccountRequests">these directions</a>.
+It's also appreciated if you briefly describe what you intend to do (work
+on a particular driver, add a new extension, etc.) in the bugzilla record.
+</ol>
 
 <p>
-Once your account is established:
-</p>
+Once your account is established, you can update your push url to use SSH:
+<pre>
+git remote set-url --push <em>origin</em> git@gitlab.freedesktop.org:mesa/mesa.git
+</pre>
 
-<ol>
-<li>Install the git software on your computer if needed.<br><br>
-<li>Get an initial, local copy of the repository with:
-    <pre>
-    git clone git+ssh://username@git.freedesktop.org/git/mesa/mesa
-    </pre>
-    Replace <em>username</em> with your actual login name.<br><br>
-<li>Later, you can update your tree from the master repository with:
-    <pre>
-    git pull origin
-    </pre>
-</ol>
+You can also use <a href="https://gitlab.freedesktop.org/profile/personal_access_tokens">personal access tokens</a>
+to push over HTTPS instead (useful for people behind strict proxies).
+In this case, create a token, and put it in the url as shown here:
+<pre>
+git remote set-url --push <em>origin</em> https://<em>USER</em>:<em>TOKEN</em>@gitlab.freedesktop.org/mesa/mesa.git
+</pre>
 
 
-<H2>Windows Users</H2>
+<h2>Windows Users</h2>
 
 <p>
-If you're <a href="http://git.or.cz/gitwiki/WindowsInstall" target="_parent">
+If you're <a href="https://git.wiki.kernel.org/index.php/WindowsInstall">
 using git on Windows</a> you'll want to enable automatic CR/LF conversion in
 your local copy of the repository:
 </p>
@@ -100,29 +123,27 @@ and to LF on commit.
 <p>
 Unix users don't need to set this option.
 </p>
-<br>
 
 
-<a name="developer">
-<H2>Development Branches</H2>
+<h2>Development Branches</h2>
 
 <p>
 At any given time, there may be several active branches in Mesa's
 repository.
-Generally, the trunk contains the latest development (unstable)
+Generally, <code>master</code> contains the latest development (unstable)
 code while a branch has the latest stable code.
 </p>
 
 <p>
-The command <code>git-branch</code> will list all available branches.
+The command <code>git branch</code> will list all available branches.
 </p>
 
 <p>
 Questions about branch status/activity should be posted to the
-mesa3d-dev mailing list.
+mesa-dev mailing list.
 </p>
 
-<H2>Developer Git Tips</H2>
+<h2>Developer Git Tips</h2>
 
 <ol>
 <li>Setting up to edit the master branch
@@ -134,12 +155,13 @@ branch, try:
     git config branch.master.remote origin
     git config branch.master.merge master
 </pre>
+<p>
 Otherwise, you have to say<code> git pull origin master </code>
 each time you do a pull.
 </p>
 <li>Small changes to master
 <p>
-If you are an experienced git user working on substancial modifications,
+If you are an experienced git user working on substantial modifications,
 you are probably
 working on a separate branch and would rebase your branch prior to
 merging with master.
@@ -152,6 +174,7 @@ If it has been awhile since you've done the initial clone, try
 <pre>
     git pull
 </pre>
+<p>
 to get the latest files before you start working.
 </p>
 <p>
@@ -160,6 +183,7 @@ Make your changes and use
     git add &lt;files to commit&gt;
     git commit
 </pre>
+<p>
 to get your changes ready to push back into the fd.o repository.
 </p>
 <p>
@@ -175,12 +199,14 @@ To avoid this,
     git pull --rebase
     git push
 </pre>
+<p>
 If you are familiar with CVS or similar system, this is similar to doing a
 <code> cvs update </code> in order to update your source tree to
 the current repository state, instead of the time you did the last update.
 (CVS doesn't work like git in this respect, but this is easiest way
 to explain it.)
-</br>
+</p>
+<p>
 In any case, your repository now looks like you made your changes after
 all the other changes.
 </p>
@@ -196,11 +222,10 @@ If you want the rebase action to be the default action, then
     git config --global branch.autosetuprebase=always
 </pre>
 <p>
-See <a href="http://www.eecs.harvard.edu/~cduan/technical/git/" target="_parent">Understanding Git Conceptually</a> for a fairly clear explanation about all of this.
+See <a href="https://www.eecs.harvard.edu/~cduan/technical/git/">Understanding Git Conceptually</a> for a fairly clear explanation about all of this.
 </p>
 </ol>
 
+</div>
 </body>
 </html>
-
-