Code Repository
+Source Code Repository
Mesa uses git @@ -49,26 +49,20 @@ 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 https://gitlab.freedesktop.org/mesa/mesa.git -
+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 https://gitlab.freedesktop.org/mesa/demos.git -
+git clone https://gitlab.freedesktop.org/mesa/demos.git
Developer git Access
-If you wish to become a Mesa developer with git-write privilege, please +If you wish to become a Mesa developer with gitlab merge privilege, please follow this procedure:
-
@@ -76,41 +70,30 @@ follow this procedure:
mesa-dev
mailing list.
- Start contributing to the project by
-submitting patches to
-the mesa-dev list. Specifically,
+submitting patches. Specifically,
-
-
- Use
git send-mail
to post your patches to mesa-dev. + - Use gitlab to create your merge requests.
- 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. +a dozen or so patches accepted, a maintainer may use their discretion to give +you access to merge your own code.
-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 -+
Pushing code to your gitlab account via HTTPS
+ +Useful for people behind strict proxies
-You can also use personal access tokens -to push over HTTPS instead (useful for people behind strict proxies). +You can use personal access tokens +to push over HTTPS if ssh will does not suit your needs. In this case, create a token, and put it in the url as shown here:-git remote set-url --push origin https://USER:TOKEN@gitlab.freedesktop.org/mesa/mesa.git +git remote set-url --push origin https://USER:TOKEN@gitlab.freedesktop.org/your~user~name/mesa.git-
Windows Users
@@ -119,7 +102,7 @@ using git on Windows you'll want to enable automatic CR/LF conversion in your local copy of the repository:
- git config --global core.autocrlf true +git config --global core.autocrlf true
@@ -129,7 +112,6 @@ and to LF on commit.
Unix users don't need to set this option.
-Development Branches
@@ -137,7 +119,7 @@ Unix users don't need to set this option.
At any given time, there may be several active branches in Mesa's
repository.
-Generally, master contains the latest development (unstable)
+Generally, master
contains the latest development (unstable)
code while a branch has the latest stable code.
git pull
and git complains that you have not specified a
branch, try:
- git config branch.master.remote origin - git config branch.master.merge master +git config branch.master.remote origin +git config branch.master.merge master
Otherwise, you have to say git pull origin master
@@ -179,7 +161,7 @@ unnecessary and distracting branch in master.
If it has been awhile since you've done the initial clone, try
- git pull +git pull
to get the latest files before you start working. @@ -187,8 +169,8 @@ to get the latest files before you start working.
Make your changes and use
- git add <files to commit> - git commit +git add <files to commit> +git commit
to get your changes ready to push back into the fd.o repository. @@ -203,8 +185,8 @@ where you did your last pull and merging it to a point after the other changes.
To avoid this,
- git pull --rebase - git push +git pull --rebase +git push
If you are familiar with CVS or similar system, this is similar to doing a
@@ -212,7 +194,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.
@@ -224,8 +207,8 @@ those before doing the push.If you want the rebase action to be the default action, then
- git config branch.master.rebase true - git config --global branch.autosetuprebase=always +git config branch.master.rebase true +git config --global branch.autosetuprebase=always
See Understanding Git Conceptually for a fairly clear explanation about all of this.