Reminder: SVN will be retired on Oct 21, 2019 -- Please migrate your workflows to github ASAP.

Hi,

We are still on track to retire SVN and complete the transition to GitHub
by Oct 21, 2019 (This year's US Dev Meeting).

Even though this 3+ months away, it is very important that you begin to migrate
your workflows to GitHub as soon as possible. For developers, this means using
the git-llvm script to commit changes and for CI systems or other read-only use
cases can begin fetching code directly from GitHub.

I have created a migration status page, so you can track the progress of the migration:
http://llvm.org/GitHubMigrationStatus.html There is also a link to instructions for
how to use the git-llvm script for committing changes.

If you would like to help with any of the TODOs on that page, please comment on the
bugzilla associated with the task.

Thanks,
Tom

The migration isn't just about moving from SVN to Git. For many folks,
it's also about moving from individual component repository to the
monorepo.

What's the experience people have had with that move? What works and
what doesn't?

Cheers,
Nicolai

We are still on track to retire SVN and complete the transition to GitHub
by Oct 21, 2019 (This year's US Dev Meeting).

Even though this 3+ months away, it is very important that you begin to migrate
your workflows to GitHub as soon as possible. For developers, this means using
the git-llvm script to commit changes and for CI systems or other read-only use
cases can begin fetching code directly from GitHub.

The migration isn't just about moving from SVN to Git. For many folks,
it's also about moving from individual component repository to the
monorepo.

What's the experience people have had with that move? What works and
what doesn't?

One gotcha was the automatic blind inclusion of "clang extra tools"
when building clang (eg `-DLLVM_ENABLE_PROJECTS="clang;lld"`).

This caused linker problems (trying to build a static lib), which we
weren't able to solve in a few hours of looking.

Instead, the undocumented flag `-DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF`
can be added to the CMake line to turn off building those extra tools.

With that flag added things worked. :slight_smile:

+ Justin

Tom

I attempted to use `git llvm push` with the test-suite repository (which isn’t moving to the monorepo) and it didn’t work. I presume this was expected.

It is slightly infuriating that most of the documentation as to how to use the SVN repositories has vanished (which is still relevant to contributing to test-suite and lnt), and it seems there is little guidance about what these repos will do when the monorepo moves to git and GitHub.

More clarity on the situation for these repos, and the tooling that’s expected to be used with them, would be useful.

Sam

This got fixed by https://reviews.llvm.org/D58157, btw.

Tom

I attempted to use git llvm push with the test-suite repository (which isn’t moving to the monorepo) and it didn’t work. I presume this was expected

Sorry about that – it should work now, as of https://github.com/llvm/llvm-project/commit/541faedd6675d8e312cb11b045d2f802e289d610

It is slightly infuriating that most of the documentation as to how to use the SVN repositories has vanished (which is still relevant to contributing to test-suite and lnt), and it seems there is little guidance about what these repos will do when the monorepo moves to git and GitHub.

The plan is for these repos to live on github as well, the same way they are laid out currently in the github project. E.g. test-suite lives in https://github.com/llvm/llvm-test-suite).

Hi Tom,

Thanks for driving this! It's a big project and it's great to see
the progress being made on it. My org's adaptation to the monorepo
is in progress as we speak.

I had two hopefully easy questions.
1) Can we get a link to the status page from the llvm.org front page?
   That will make it a lot easier to find in the future.
2) I assume everyone will need to have a GitHub account; is there any
   story needing to be told about correlating a GitHub account with
   our current SVN IDs? I don't even have a GH account at this point,
   don't know what's involved in signing up.

Thanks,
--paulr

Hi Tom,

Thanks for driving this! It's a big project and it's great to see
the progress being made on it. My org's adaptation to the monorepo
is in progress as we speak.

I had two hopefully easy questions.
1) Can we get a link to the status page from the llvm.org front page?
   That will make it a lot easier to find in the future.

Sure, I just added a link.

2) I assume everyone will need to have a GitHub account; is there any
   story needing to be told about correlating a GitHub account with
   our current SVN IDs? I don't even have a GH account at this point,
   don't know what's involved in signing up.

We are still working on a process for mapping SVN accounts to GitHub accounts.
I will provide an update once we have something finalized.

-Tom

Nice, thanks!

Sam

I’ve found that for first-time users (myself included) it’s easy to accidentally commit a series of SVN commits with git llvm push. If we expect that a lot of folks will be switching over, might it be worth adding a warning to the script when more than one commit will be pushed?

I sent this tentative patch: https://reviews.llvm.org/D64893