From 343c3a5005fd354aa84e7dbebd663f4fd5011a82 Mon Sep 17 00:00:00 2001
From: Jeffrey Yasskin
-% git clone http://llvm.org/git/llvm.git +git clone http://llvm.org/git/llvm.git ++ +
If you want to check out clang too, run:
+ ++git clone http://llvm.org/git/llvm.git +cd llvm/tools +git clone http://llvm.org/git/clang.git ++ +
To set up clone from which you can submit code using + git-svn, run:
+ ++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 ++ +
To update this clone without generating git-svn tags that conflict +with the upstream git repo, run:
+ ++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) ++ +
This leaves your working directories on their master branches, so +you'll need to checkout each working branch individually and +rebase 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.)
+ +The git-svn metadata can get out of sync after you mess around with
+branches and dcommit
. When that happens, git svn
+dcommit
stops working, complaining about files with uncommitted
+changes. The fix is to rebuild the metadata:
+rm -rf .git/svn +git svn rebase -l-- cgit v1.1