[PATCH] D24167: Moving to GitHub - Unified Proposal
Mehdi AMINI via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 2 01:46:25 PDT 2016
mehdi_amini marked 4 inline comments as done.
================
Comment at: docs/Proposals/GitHubMove.rst:297
@@ +296,3 @@
+
+Commits are performed using `svn commit` or with the sequence `git commit` and
+`git svn dcommit`.
----------------
rengolin wrote:
> D'oh, "with the sequence...". Ignore me.
I added "with the sequence" following your comment to make it more clear.
================
Comment at: docs/Proposals/GitHubMove.rst:424
@@ +423,3 @@
+ git checkout $REVISION
+ git submodule init
+ git submodule update clang llvm libcxx
----------------
rengolin wrote:
> "Update" would take one per project and is more cumbersome when you don't know beforehand which or how many projects you'll build (we have that problem).
>
> Conceptually the same, but recursive gives a better "impression" of simplicity. It's about the bias issue that Chris was talking about, even if totally unintended.
I'm not sure I follow: AFAIK recursive is for nested submodules, which is not part of the proposal. So to be clear I expect `--recursive` to be a no-op. I can be wrong, but I'll need some more explanation if I missed something obvious here.
If your point is about cloning *all* the sub-projects and not only just a selected list, then `--recursive` is not the right option, just doing `git submodule update` without any other flag will do it. I'll spell it out.
================
Comment at: docs/Proposals/GitHubMove.rst:617
@@ +616,3 @@
+the pieces needed for a full toolchain present in one repository. And for
+newcomers, getting and building a toolchain is easier.
+
----------------
rengolin wrote:
> That work flow example shows a changed flow for commits, so the statement that "their workflow is unchanged" is not accurate.
>
> The parentheses comment helps, but doesn't address the issue completely. A better way would be "the workflow is as described in [link] pointing above.
I'm sorry I don't follow. You mention a changed in the flow for commit. Here is what's mentioned in the section I referred to, can you clarify where is the inaccuracy?
Workflow today:
```
# direct SVN checkout
svn co https://user@llvm.org/svn/llvm-project/llvm/trunk llvm
# or using the read-only Git view, with git-svn
git clone http://llvm.org/git/llvm.git
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.
```
Workflow after (copy/paste):
```
A second option is to use svn via the GitHub svn native bridge::
svn co https://github.com/llvm/llvm-projects/trunk/compiler-rt compiler-rt —username=...
This checks out only compiler-rt and provides commit access using "svn commit",
in the same way as it would do today.
Finally, you could use *git-svn* and one of the sub-project mirrors::
# Clone from the single read-only Git repo
git clone http://llvm.org/git/llvm.git
cd llvm
# Configure the SVN remote and initialize the svn metadata
git svn init https://github.com/joker-eph/llvm-project/trunk/llvm —username=...
git config svn-remote.svn.fetch :refs/remotes/origin/master
git svn rebase -l
In this case the repository contains only a single sub-project, and commits can
be made using `git svn dcommit`, again **exactly as we do today**.
```
https://reviews.llvm.org/D24167
More information about the llvm-commits
mailing list