diff options
author | Jeffrey Yasskin <jyasskin@google.com> | 2011-07-19 00:20:54 +0000 |
---|---|---|
committer | Jeffrey Yasskin <jyasskin@google.com> | 2011-07-19 00:20:54 +0000 |
commit | 343c3a5005fd354aa84e7dbebd663f4fd5011a82 (patch) | |
tree | 00550cbf4d8ab0c53970ac54d77d2b9ecd536783 /docs | |
parent | 6c2f7e2398d5424e80e2d23a6622d76c921dd361 (diff) | |
download | external_llvm-343c3a5005fd354aa84e7dbebd663f4fd5011a82.zip external_llvm-343c3a5005fd354aa84e7dbebd663f4fd5011a82.tar.gz external_llvm-343c3a5005fd354aa84e7dbebd663f4fd5011a82.tar.bz2 |
Document how to maintain a git-svn clone of the LLVM git repositories.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135453 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r-- | docs/GettingStarted.html | 57 |
1 files changed, 56 insertions, 1 deletions
diff --git a/docs/GettingStarted.html b/docs/GettingStarted.html index 7360893..d608a13 100644 --- a/docs/GettingStarted.html +++ b/docs/GettingStarted.html @@ -803,7 +803,62 @@ instructions</a> to successfully get and build the LLVM GCC front-end.</p> read-only GIT clone of LLVM via:</p> <pre> -% git clone http://llvm.org/git/llvm.git +git clone http://llvm.org/git/llvm.git +</pre> + +<p>If you want to check out clang too, run:</p> + +<pre> +git clone http://llvm.org/git/llvm.git +cd llvm/tools +git clone http://llvm.org/git/clang.git +</pre> + +<p>To set up clone from which you can submit code using + <tt>git-svn</tt>, run:</p> + +<pre> +git clone http://llvm.org/git/llvm +cd llvm +git svn init https://llvm.org/svn/llvm-project/llvm/trunk --username=<username> +git config svn-remote.svn.fetch :refs/remotes/origin/master +git svn rebase -l # -l avoids fetching ahead of the git mirror. + +# If you have clang too: +cd tools +git clone http://llvm.org/git/clang.git clang +cd clang +git svn init https://llvm.org/svn/llvm-project/cfe/trunk --username=<username> +git config svn-remote.svn.fetch :refs/remotes/origin/master +git svn rebase -l +</pre> + +<p>To update this clone without generating git-svn tags that conflict +with the upstream git repo, run:</p> + +<pre> +git fetch && (cd tools/clang && git fetch) # Get matching revisions of both trees. +git checkout master +git svn rebase -l +(cd tools/clang && + git checkout master && + git svn rebase -l) +</pre> + +<p>This leaves your working directories on their master branches, so +you'll need to <tt>checkout</tt> each working branch individually and +<tt>rebase</tt> it on top of its parent branch. (Note: This script is +intended for relative newbies to git. If you have more experience, +you can likely improve on it.)</p> + +<p>The git-svn metadata can get out of sync after you mess around with +branches and <code>dcommit</code>. When that happens, <code>git svn +dcommit</code> stops working, complaining about files with uncommitted +changes. The fix is to rebuild the metadata:</p> + +<pre> +rm -rf .git/svn +git svn rebase -l </pre> </div> |