Difference between revisions of "Pacman Development"

From ArchWiki
Jump to: navigation, search
(External References and Links: update/refresh links)
(GIT Cheat Sheet)
Line 45: Line 45:
 
Clone: http://code.toofishes.net/git/xavier/pacman.git
 
Clone: http://code.toofishes.net/git/xavier/pacman.git
  
==GIT Cheat Sheet==
+
==GIT Tips==
  
Before using the git cheat sheet, it is highly recommended to read the [[Super_Quick_Git_Guide]]
+
Before using these tips, it is highly recommended to read the [[Super Quick Git Guide]].
  
 
Clone git repo - only needed once
 
Clone git repo - only needed once
Line 53: Line 53:
  
 
Enable useful hooks
 
Enable useful hooks
   chmod +x .git/hooks/{applypatch-msg,commit-msg,pre-commit,pre-rebase}
+
   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
  
Create branch "<branch>"
+
Always do your work on a new local branch to save yourself headaches.
  git branch <branch>
+
  
Work with branch "<branch>"
+
Make patch to master branch
  git checkout <branch>
+
 
+
Commit changes on current branch and make patch to master branch
+
  git commit -a -s
+
 
   git format-patch master
 
   git format-patch master
  
 
Amend patch (Don't use it after a push)
 
Amend patch (Don't use it after a push)
 
   git commit -a --amend -s
 
   git commit -a --amend -s
 
Add file "<file>"
 
  git add <file>
 
 
Remove file "<file>"
 
  git rm <file>
 
 
Remove branch "<branch>"
 
  git branch -D <branch>
 
  
 
Update master branch
 
Update master branch
Line 85: Line 74:
  
 
Get maint branch
 
Get maint branch
  git branch -r
 
 
   git checkout -b maint origin/maint
 
   git checkout -b maint origin/maint
  
 
Add a remote repository
 
Add a remote repository
   git remote add toofishes http://code.toofishes.net/gitprojects/pacman.git
+
   git remote add toofishes git://code.toofishes.net/dan/pacman.git
  
 
Get toofishes working branch
 
Get toofishes working branch
 
   git branch -r
 
   git branch -r
 
   git checkout -b toofishes-working toofishes/working
 
   git checkout -b toofishes-working toofishes/working

Revision as of 16:23, 14 June 2011

Tango-document-new.pngThis article is a stub.Tango-document-new.png

Notes: please use the first argument of the template to provide more detailed indications. (Discuss in Talk:Pacman Development#)

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.

External 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