Code Repository
+Source Code Repository
-Mesa uses git +Mesa uses git as its source code management system.
The master git repository is hosted on -freedesktop.org. +freedesktop.org.
@@ -35,10 +35,10 @@ You may access the repository either as an
You may also -browse the main Mesa git repository and the -Mesa demos and tests git repository. +browse the main Mesa git repository and the +Mesa demos and tests git repository.
@@ -49,60 +49,66 @@ To get the Mesa sources anonymously (read-only):-
-
- Install the git software on your computer if needed.
+ - Install the git software on your computer if needed.
- Get an initial, local copy of the repository with:
-
- git clone git://anongit.freedesktop.org/git/mesa/mesa -
+git clone https://gitlab.freedesktop.org/mesa/mesa.git
- Later, you can update your tree from the master repository with:
-
- git pull origin -
+git pull origin
- If you also want the Mesa demos/tests repository:
-
- git clone git://anongit.freedesktop.org/git/mesa/demos -
+git clone https://gitlab.freedesktop.org/mesa/demos.git
Developer git Access
-Mesa developers need to first have an account on -freedesktop.org. -To get an account, please ask Brian or the other Mesa developers for -permission. -Then, if there are no objections, follow this - -procedure. +If you wish to become a Mesa developer with git-write privilege, please +follow this procedure:
+-
+
- Subscribe to the +mesa-dev +mailing list. +
- Start contributing to the project by
+submitting patches to
+the mesa-dev list. Specifically,
+
-
+
- Use
git send-mail
to post your patches to mesa-dev. + - Wait for someone to review the code and give you a
Reviewed-by
+statement. + - You'll have to rely on another Mesa developer to push your initial patches +after they've been reviewed. +
- Use
- 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. +
- 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. +
- To apply for an account, follow +these directions. +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. +
-Once your account is established: -
+Once your account is established, you can update your push url to use SSH: ++git remote set-url --push origin git@gitlab.freedesktop.org:mesa/mesa.git +-
-
-
- Install the git software on your computer if needed.
- - Get an initial, local copy of the repository with:
-
- git clone git+ssh://username@git.freedesktop.org/git/mesa/mesa -
- Replace username with your actual login name.
- - Later, you can update your tree from the master repository with:
-
- git pull origin -
- - If you also want the Mesa demos/tests repository:
-
- git clone git+ssh://username@git.freedesktop.org/git/mesa/demos -
-
+git remote set-url --push origin https://USER:TOKEN@gitlab.freedesktop.org/mesa/mesa.git +
Windows Users
-If you're +If you're using git on Windows you'll want to enable automatic CR/LF conversion in your local copy of the repository:
@@ -117,7 +123,6 @@ and to LF on commit.Unix users don't need to set this option.
-Development Branches
@@ -125,17 +130,17 @@ Unix users don't need to set this option.
At any given time, there may be several active branches in Mesa's
repository.
-Generally, the trunk contains the latest development (unstable)
+Generally, master
contains the latest development (unstable)
code while a branch has the latest stable code.
-The command git-branch
will list all available branches.
+The command git branch
will list all available branches.
Questions about branch status/activity should be posted to the -mesa3d-dev mailing list. +mesa-dev mailing list.
Developer Git Tips
@@ -156,7 +161,7 @@ each time you do a pull.
-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.
@@ -200,7 +205,8 @@ If you are familiar with CVS or similar system, this is similar to doing a
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.)
-
+
In any case, your repository now looks like you made your changes after all the other changes.
@@ -216,7 +222,7 @@ If you want the rebase action to be the default action, then git config --global branch.autosetuprebase=always-See Understanding Git Conceptually for a fairly clear explanation about all of this. +See Understanding Git Conceptually for a fairly clear explanation about all of this.