Difference between revisions of "Pacman Development"

From ArchWiki
Jump to: navigation, search
m (References and Links: removed dead link)
Line 12: Line 12:
* [http://mailman.archlinux.org/pipermail/pacman-dev/ Mailing List Archives]
* [http://mailman.archlinux.org/pipermail/pacman-dev/ Mailing List Archives]
* [http://www.nabble.com/pacman-dev-f16443.html ML Archives with search engine]{{Linkrot|2011|09|05}}
* [http://archlinux.org/pacman/HACKING.html HACKING]
* [http://archlinux.org/pacman/HACKING.html HACKING]

Revision as of 10:09, 30 November 2011

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.

Allan McRae

Web: http://projects.archlinux.org/users/allan/pacman.git/
Clone: git://projects.archlinux.org/users/allan/pacman.git
Clone: http://projects.archlinux.org/git/users/allan/pacman.git

Dan McGee

Web: http://code.toofishes.net/cgit/dan/pacman.git/
Clone: git://code.toofishes.net/dan/pacman.git
Clone: http://code.toofishes.net/git/dan/pacman.git

Dave Reisner

Web: https://github.com/falconindy/pacman
Clone: git://github.com/falconindy/pacman.git
Clone: https://github.com/falconindy/pacman.git

Nagy Gabor

Web: http://repo.or.cz/w/pacman-ng.git
Clone: git://repo.or.cz/pacman-ng.git
Clone: http://repo.or.cz/r/pacman-ng.git

Xavier Chantry

Web: http://code.toofishes.net/cgit/xavier/pacman.git/
Clone: git://code.toofishes.net/xavier/pacman.git
Clone: http://code.toofishes.net/git/xavier/pacman.git

GIT Tips

Before using these tips, it is highly recommended to read the Super Quick Git Guide.

Clone git repo - only needed once

 git clone git://projects.archlinux.org/pacman.git 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

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

Make patch to master branch

 git format-patch master

Amend patch (Don't 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