Pacman development

From ArchWiki

Interested in Pacman Development? This page should help you get started.

Remember that if you think something belongs on this page, add it! The current pacman developers are not likely to know what people need to know and should be on this page.

References and Links

Developer Repositories

A handful of the "regulars" have their own repositories with work in progress, working and feature branches, etc. Several are listed here, but feel free to add more that you may know about.

Git Tips

Before using these tips, it is highly recommended to read the Git article.

Clone git repo - only needed once

$ git clone https://gitlab.archlinux.org/pacman/pacman pacman

Enable useful hooks

$ mv .git/hooks/applypatch-msg.sample .git/hooks/applypatch-msg
$ mv .git/hooks/commit-msg.sample .git/hooks/commit-msg
$ mv .git/hooks/pre-commit.sample .git/hooks/pre-commit
$ mv .git/hooks/pre-rebase.sample .git/hooks/pre-rebase

or

$ rename .sample "" .git/hooks/*.sample

Always do your work on a new local branch to save yourself headaches.

Make patch to master branch

$ git format-patch master

Amend patch (do not use it after a push)

$ git commit -a --amend -s

Update master branch

$ git checkout master
$ git pull

Merge changes on master with "<branch>"

$ git rebase master <branch>

Get maint branch

$ git checkout -b maint origin/maint

Add a remote repository

$ git remote add toofishes git://code.toofishes.net/dan/pacman.git

Get toofishes working branch

$ git branch -r
$ git checkout -b toofishes-working toofishes/working