Skip to content
Helper scripts for "llvm-project" Submodules
Perl Shell
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


* Helper scripts for the submodule-based "llvm-project"

You can win with;

  - Simple (easy! sometimes not easier) and fast update.
  - Selective update. You can track a part of projects.
  - Effective git-bisect-ing.
  - svn-like tags. You can see like "r127206".
    Try "git show r127206" and "git log --decorate --online".

You won't do;

  - Integrated branch handling. merge/cherry-pick/rebase
    won't work fine with submodules.
  - Integrated git-svn-dcommit.
  - Tagging all svn revisions. 100k of tags could choke Git.
    (You may see tags since r127206..)

* Getting started

 1. git clone git://
 2. Install 2 files in llvm-project-scripts/hooks/ into .git/hooks
 3. If you have corresponding repositories loally,
    git clone ../relative/path/to/git/of/llvm llvm
    (You may also move repositories under llvm-project.)
    Then make sure the branch "master" tracks upstream.
    (Assumed "git pull" works on master)
 4. Init submodule entries. If you have submodules "llvm" and "clang",
    git submodule init llvm clang
 5. If you want to track new project;
    git submodule init dragonegg
    git submodule update

* Life with llvm-project

 1. If you were working on another branches in submodules,
    commit or stash your changes.
 2. git checkout master
 3. git pull

Something went wrong with that request. Please try again.