[cfe-dev] Introduction to git-bisect with "llvm-project.git"

NAKAMURA Takumi geek4civic at gmail.com
Wed Jun 29 20:57:38 PDT 2011


Hello guys,

I am making a submodule-based metaproject "llvm-project.git" for
bisecting clang.
I will introduce it to help you developers.
Unfortunately, submodule is not useful to manage your branches. :/

Have fun!
...Takumi

Instructions;

1. fetch two scripts from git://github.com/chapuni/llvm-project-scripts.git
  - hooks/post-merge
  - hooks/post-checkout
2. git clone git://github.com/chapuni/llvm-project.git
3. (If you have repos locally) clone projects under llvm-project
  $ cd llvm-project
  $ git clone ../path/to/your/llvm
  $ git clone ../path/to/your/clang
4. for each submodules, make sure master should track upstream.
  $ cd llvm
  $ git remote add origin http://llvm.org/git/llvm.git
  $ git fetch origin
  $ git checkout --track origin/master
  $ git pull
5. If you take clang, please symlink clang under llvm/tools :)
   On msysgit, "gitdir" feature would help you. (I will describe later)
6. for each submodule you will take, $ git submodule init llvm
7. (optional) git submodule update
8. Install too hook scripts on .git/hooks

X. on llvm-project,
    $ git checkout master; git pull
    Usually, you would not need to use "git submodule update"

ps. you would die when you tagged rXXXXXX to all commits!



More information about the cfe-dev mailing list