Lines Matching full:git

22 infrastructure) will continue to work with a Git-based LLVM.
30 from SVN hosted on our own servers to Git hosted on GitHub. We are not proposing
37 Why Git, and Why GitHub?
44 and Git mirror on a voluntary basis. The LLVM Foundation sponsors the server and
54 space, Git server, code browsing, forking facilities, etc) for free.
56 Why Git?
59 Many new coders nowadays start with Git, and a lot of people have never used
64 Git is also the version control many LLVM developers use. Despite the
65 sources being stored in a SVN server, these developers are already using Git
66 through the Git-SVN integration.
68 Git allows you to:
74 * Maintain remote forks and branches on Git hosting services and
77 In addition, because Git seems to be replacing many OSS projects' version
78 control systems, there are many tools that are built over Git.
79 Future tooling may support Git first (if not only).
100 On Managing Revision Numbers with Git
107 Git does not use sequential integer revision number but instead uses a hash to
111 past discussions about Git:
124 However, Git can emulate this increasing revision number:
125 ``git rev-list --count <commit-hash>``. This identifier is unique only
131 the objections raised above with respect to this aspect of Git.
136 In contrast to SVN, Git makes branching easy. Git's commit history is
138 to mandate making merge commits illegal in our canonical Git repository.
168 Git views for the sub-projects (if the monorepo is selected).
170 Step #2 : Git Move
196 12. Mirror Git to SVN.
211 The LLVM git repository hosted at https://github.com/llvm/llvm-project contains all
226 commit enables accurate `git blame` when tracking code change history.
227 * Tooling based on `git grep` works natively across sub-projects, allowing to
265 mirrors (e.g. https://git.llvm.org/git/compiler-rt.git) will continue to
282 `git push` collisions when upstreaming. Affected contributors may be able to
283 use the SVN bridge or the single-subproject Git mirrors. However, it's
288 sub-project Git mirrors would addresses this.
321 # or using the read-only Git view, with git-svn
322 git clone https://llvm.org/git/llvm.git
324 git svn init https://llvm.org/svn/llvm-project/llvm/trunk --username=<username>
325 git config svn-remote.svn.fetch :refs/remotes/origin/main
326 git svn rebase -l # -l avoids fetching ahead of the git mirror.
328 Commits are performed using `svn commit` or with the sequence `git commit` and
329 `git svn dcommit`.
339 git clone https://github.com/llvm/llvm-project.git
347 directories using a Git sparse checkout::
349 git config core.sparseCheckout true
350 echo /compiler-rt > .git/info/sparse-checkout
351 git read-tree -mu HEAD
353 The data for all sub-projects is still in your `.git` directory, but in your
355 Before you push, you'll need to fetch and rebase (`git pull --rebase`) as
365 git log origin/main@{1}..origin/main -- libcxx
367 This command can be hidden in a script so that `git llvmpush` would perform all
371 Note that today with SVN or git-svn, this step is not possible since the
390 Or using git-svn::
392 git clone https://llvm.org/git/llvm.git
394 git svn init https://llvm.org/svn/llvm-project/llvm/trunk --username=<username>
395 git config svn-remote.svn.fetch :refs/remotes/origin/main
396 git svn rebase -l
397 git checkout `git svn find-rev -B r258109`
399 git clone https://llvm.org/git/clang.git
401 git svn init https://llvm.org/svn/llvm-project/clang/trunk --username=<username>
402 git config svn-remote.svn.fetch :refs/remotes/origin/main
403 git svn rebase -l
404 git checkout `git svn find-rev -B r258109`
406 git clone https://llvm.org/git/libcxx.git
408 git svn init https://llvm.org/svn/llvm-project/libcxx/trunk --username=<username>
409 git config svn-remote.svn.fetch :refs/remotes/origin/main
410 git svn rebase -l
411 git checkout `git svn find-rev -B r258109`
423 git clone https://github.com/llvm/llvm-project.git
425 git checkout $REVISION
436 subversion users and for git-svn users. For example, few Git users try to update
453 git-svn can do it. Let's look in practice what it means when dealing with
458 git pull
460 git pull
462 git pull
466 git checkout -b MyBranch
468 git checkout -b MyBranch
470 git checkout -b MyBranch
474 git checkout AnotherBranch
476 git checkout AnotherBranch
478 git checkout AnotherBranch
485 Regular Git commands are sufficient, because everything is in a single
490 git pull
494 git checkout -b MyBranch
498 git checkout AnotherBranch
511 Using the existing Git read-only view of the repositories, it is possible to use
512 the native Git bisection script over the llvm repository, and use some scripting
522 `git submodule update` step.
527 git bisect start releases/3.9.x releases/3.8.x
528 git bisect run ./bisect_script.sh
535 ninja clang || exit 125 # an exit code of 125 asks "git bisect"
547 Suppose you have been developing against the existing LLVM git
548 mirrors. You have one or more git branches that you want to migrate
553 https://github.com/jyknight/llvm-git-migration.
564 git -C my-monorepo init
567 git -C my-monorepo remote add upstream/monorepo https://github.com/llvm/llvm-project.git
569 # Add remotes for each git mirror you use, from upstream as well as
585 git -C my-monorepo remote add upstream/split/${p} https://github.com/llvm-mirror/${p}.git
586 git -C my-monorepo remote add local/split/${p} https://my.local.mirror.org/${p}.git
590 git -C my-monorepo fetch --all
612 git -C my-monorepo branch --no-track local/octopus/main \
613 $(git -C my-monorepo merge-base refs/remotes/upstream/monorepo/main \
615 git -C my-monorepo checkout local/octopus/${my_local_branch}
620 git -C my-monorepo branch ${subproject_branch} \
627 git -C my-monorepo merge ${subproject_branches[@]}
631 git -C my-monorepo branch -d ${subproject_branch}
635 for ref in $(git -C my-monorepo for-each-ref --format="%(refname)" \
638 git -C my-monorepo branch upstream/${upstream_branch} ${ref}
659 ``local/octopus/<local branch>`` need not use ``git-merge-base`` to
671 with some kind of "umbrella" project that imports the project git
686 https://github.com/greened/llvm-git-migration/tree/zip can be used to
713 merges from upstream. git will think that we've already merged from
747 git -C my-monorepo remote add localrepo \
748 https://my.local.mirror.org/localrepo.git
749 git fetch localrepo
758 git remote add upstream/split/${project} \
759 https://github.com/llvm-mirror/${subproject}.git
760 git fetch umbrella/split/${project}
766 git remote add local/split/${project} \
767 https://my.local.mirror.org/${subproject}.git
768 git fetch local/split/${project}
772 git -C my-monorepo remote add umbrella \
773 https://my.local.mirror.org/umbrella.git
774 git fetch umbrella
794 git -C my-monorepo branch --no-track local/zip/main refs/remotes/umbrella/main
850 git -C my-monorepo remote add localrepo \
851 https://my.local.mirror.org/localrepo.git
852 git fetch localrepo
861 git remote add upstream/split/${project} \
862 https://github.com/llvm-mirror/${subproject}.git
863 git fetch umbrella/split/${project}
869 git remote add local/split/${project} \
870 https://my.local.mirror.org/${subproject}.git
871 git fetch local/split/${project}
876 git -C my-monorepo remote add umbrella \
877 https://my.local.mirror.org/llvm.git
878 git fetch umbrella
910 git -C my-monorepo branch --no-track local/zip/main refs/remotes/umbrella/main
928 https://github.com/greened/llvm-git-migration/tree/import can help with
932 git -C my-monorepo remote add myrepo https://my.local.mirror.org/myrepo.git
933 git fetch myrepo
949 for ref in $(git -C my-monorepo for-each-ref --format="%(refname)" \
952 git -C my-monorepo branch --no-track myrepo/${branch} ${ref}
956 git -C my-monorepo branch --no-track myrepo/main refs/remotes/myrepo/main
959 git -C my-monorepo checkout local/zip/main # Or local/octopus/main
960 git -C my-monorepo merge myrepo/main
1021 clean up. The python tools use ``git-fast-import`` which leaves a lot
1025 git -C my-monorepo checkout main
1029 git -C my-monorepo branch -D local/zip/main || true
1030 git -C my-monorepo branch -D local/octopus/main || true
1033 git -C my-monorepo remote remove upstream/monorepo
1036 git -C my-monorepo remote remove upstream/split/${p}
1037 git -C my-monorepo remote remove local/split/${p}
1040 git -C my-monorepo remote remove localrepo
1041 git -C my-monorepo remote remove umbrella
1042 git -C my-monorepo remote remove myrepo
1054 git -C my-monorepo for-each-ref --format="%(refname)" ${refs_to_clean[@]} |
1055 xargs -n1 --no-run-if-empty git -C my-monorepo update-ref -d
1057 git -C my-monorepo reflog expire --all --expire=now
1060 while ! git -C my-monorepo \
1071 git -C my-monorepo repack -A -d -f --depth=250 --window=250
1073 git -C my-monorepo prune-packed
1074 git -C my-monorepo prune
1076 You should now have a trim monorepo. Upload it to your git server and