Using Git within the Xfce development workflow


Introduction

Xfce uses Git as distributed version control system (DCVS) for all the code contributed by developers. On this page, we will explain the basics and initial setup needed to get started developing for Xfce. However, if you want to know it all about Git, look at the following websites for a more in depth examination of Git and its usage:


Git resources


Setting your Git credentials

Before you even think about committing changes, you must set your name and email address to something valid in your local Git config:

git config --global user.name "J. Random Hacker"
git config --global user.email "jrandom@example.com"

Make sure the email address is a valid address, there is a hook on the server that checks the address of every new commit.

Back To Top


Git usage example on an Xfce project

The intention, here, is not to fully explain Git; but, only provide a short introduction on how it works to get you started working with Xfce's development workflow. You can find the clone URL in the summary page of each repository in the Git browser.

In the example below, we do some tasks in the xfwm4 repository.

# Make a local clone of the upstream repository
git clone https://gitlab.xfce.org/xfce/xfwm4.git
 
# To keep the local copy updated with upstream you can run this from time to time
# Possibly append --rebase to fetch upstream changes and apply you modifications on
# top of those, instead of trying to merge them
git pull
 
# If you made some small modifications in the code you can view them in a unified patch
git diff
git status

In order to propose your changes you can fork the repository in question and then push your code to it and propose it via a merge request to the maintainers.

What ever you do, keep commits clean:

Back To Top


Commit Guidelines

Back To Top


GitLab Forks and Merge Requests

If you want to contribute code, the best way is to get a contributor's account and fork the project you would like to contribute to and file a merge request.

  1. Fork the project via the GitLab UI
  2. Clone your fork locally
  3. Create a new branch (try to use a descriptive name), don't use “master” (otherwise we cannot rebase and merge your branch)
  4. Change and push your code to your fork/branch
  5. Start a merge request and allow maintainers to change your branch (this means maintainers can rebase your branch on top of master using the GitLab Web UI)
  6. Wait patiently

Back To Top


Git rules on gitlab.xfce.org

The following rules apply:

Back To Top


Git repository description

The repository description shall be set via a Readme markdown file. See the Gitlab flavored markdown documentation for reference.

Back To Top


Back to main Xfce Development Information page