mirror of
https://github.com/QubesOS/qubes-doc.git
synced 2024-12-29 01:06:24 -05:00
8acbf3f563
Decreases support overhead in case users run into trouble by following these commands.
2.7 KiB
2.7 KiB
layout | title | permalink | redirect_from | |||
---|---|---|---|---|---|---|
doc | Source Code | /doc/source-code/ |
|
Qubes Source Code Repositories
All the Qubes code is kept in Git repositories. We have divided the project into several components, each of which has its own separate repository, for example:
core-admin.git
-- The core Qubes infrastructure, responsible for VM management, VM templates, fs sharing, etc.gui-daemon.git
-- GUI virtualization, Dom0 side.gui-agent-linux.git
-- GUI virtualization, Linux VM side.linux-template-builder.git
-- Scripts and other files used to create Qubes template images.
All of our repositories are available under the QubesOS GitHub account.
To clone a repository:
git clone https://github.com/QubesOS/<repo_name>.git <repo_name>
e.g.:
git clone https://github.com/QubesOS/qubes-core-admin.git core-admin
To clone all of our repositories in a single command:
curl "https://api.github.com/orgs/QubesOS/repos?page=1&per_page=100" | grep -e 'clone_url*' | cut -d \" -f 4 | xargs -L1 git clone
To update (git fetch) all of these repositories in a single command:
find . -mindepth 1 -maxdepth 1 -type d -exec git -C {} fetch --tags --recurse-submodules=on-demand --all \;
(Alternatively, you can pull instead of just fetching.)
How to Send Patches
If you want to contribute code to the project, there are two ways. Whichever method you choose, you must sign your code before it can be accepted.
-
Preferred: Use GitHub's fork & pull requests.
-
Send a patch to our developer mailing list (
git format-patch
).- Make all the changes in your working directory, i.e. edit files, move them around (you can use 'git mv' for this), etc.
- Add the changes and commit them (
git add
,git commit
). Never mix different changes into one commit! Write a good description of the commit. The first line should contain a short summary, and then, if you feel like more explanations are needed, enter an empty new line, and then start the long, detailed description (optional). - Test your changes NOW: check if RPMs build fine, etc.
- Create the patch using
git format-patch
. This has an advantage overgit diff
, because the former will also include your commit message, your name and email, so that your name will be used as a commit's author. - Send your patch to
qubes-devel
. Start the message subject with[PATCH]
.