wiki:UsingGitWithWebKit

Version 9 (modified by ddkilzer@apple.com, 14 years ago) (diff)

--

Tips and Tricks for using Git with WebKit

Install

If you're using Fink:

   fink install git

or if you're using MacPorts:

   port install git-core

or if you're using MacPorts and you are a committer:

   port install git-core +svn

Checkout

   git clone git://git.webkit.org/WebKit.git

WebKit Script support for Git

The various scripts in WebKitTools/Scripts have been made to work pretty well with Git. Here are some of the specific things you can do with them:

  • Telling the various scripts to append the git branch name to every build. This is especially useful so you don't clobber your previous branch's build when you switch branches
      git config core.webKitBranchBuild (true|false) //the default is off
    
  • Overriding the core.webKitBranchBuild setting for a specific branch
      git config branch.$branchName.webKitBranchBuild (true|false)
    
  • Using prepare-Changelog with git
      WebKitTools/Scripts/prepare-Changelog --git-commit=$committish --git-reviewer="Foo Reviewer"
    
  • Using resolve-ChangeLog with git
      PLEASE FILL ME IN
    
  • Using commit-log-editor with git
      git config core.editor commit-log-editor
    

Misc. Tips and Tricks

  • You can setup Git shell completion and branch name in your bash prompt. In your /path/to/git/source/contrib/completion directory you will find a 'git-completion.bash' file. Follow the instructions in that file to enable shell completion. Here is a nice bash prompt for instance
    PS1='\[\033[41;1;37m\]\u@\h:\[\033[40;1;33m\]\W$(__git_ps1 " (%s)")>\[\033[0m\] '
    
  • You can set up multiple working directories to work on more than one branch at a time. In your /path/to/git/source/contrib/workdir directory you will find a 'git-new-workdir' script that can create new working directories. The usage is
    ./git-new-workdir <repository> <new_workdir> [<branch>]
    
  • Colorize various git commands
    git config --global color.status auto
    git config --global color.diff auto
    git config --global color.branch auto
    
  • Important git config settings
    git config --global user.name "Foo Bar"
    git config --global user.email "foo@webkit.org"