[cfe-dev] [llvm-dev] [Openmp-dev] Updates on SVN to GitHub migration

David Greene via cfe-dev cfe-dev at lists.llvm.org
Tue Oct 23 07:56:51 PDT 2018


Thanks!  In our case we have a branch off master for each component and
we've developed there, merging from master from time to time (but never
our local branch to master).  I guess that puts us in the "multirepo
with merges" category.  We don't really care about maintaining the
history of merges from master.  Even rebasing our changes on the curent
monorepo master would probably be fine (understanding that there will be
merge conflicts we'll need to resolve).

The biggest challenge will be corrdinating changes to subprojects that
depend on each other.  We don't want to just rebase all changes from
subproject X and then all changes from subproject Y, because we'll end
up with unbuildable history for most of the resulting commits.  In the
foggy days of the past, I did our svn-to-git conversion and we had
similar needs, merging multiple svn repositories into one git
repository.  I had to carefully craft scripts to get the commit ordering
right.  I could probably do the same much more easily with git.

I've not used subtree merges in quite the way described so we'll have to
experiment a bit and see what works.

                               -David

Justin Lebar <jlebar at google.com> writes:

>> It would be helpful to have instructions about the best way to move
> local branches in those repositories to the monorepo and some scripts
> to help with the transition. 
>
> I put together https://reviews.llvm.org/D53414.
>
> On Mon, Oct 22, 2018 at 8:31 AM David Greene via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
>
>     I had a short side-conversation at one of the roundtables about
>     existing
>     users of the subproject repositories. It would be helpful to have
>     instructions about the best way to move local branches in those
>     repositories to the monorepo and some scripts to help with the
>     transition. I know someone posted an example project a while ago
>     with
>     some scripts but my sense is that those scripts were particular to
>     that
>     project and maybe not generally applicable.
>     
>     Once the monorepo goes live (tomorrow?), what happens to the
>     existing
>     subproject mirrors? Do they get wiped away and replaced with
>     history
>     from the monorepo? Or are entirely new mirrors created? Or do they
>     just continue to mirror SVN until SVN becomes read-only?
>     
>     The first option would essentially be a rewrite of history for the
>     subproject repositories. We'll need to know if/when that is going
>     to
>     happen.
>     
>     -David
>     
>     Jonas Hahnfeld via Openmp-dev <openmp-dev at lists.llvm.org> writes:
>     
>     > (+openmp-dev, they should know about this!)
>     >
>     > Recapping the "Concerns"
>     > (https://llvm.org/docs/Proposals/GitHubMove.html#id12) there is
>     a
>     > proposal of "single-subproject Git mirrors" for people who are
>     only
>     > contributing to standalone subprojects. I think this will be
>     easy in
>     > the transition period, we can just continue to move the current
>     > official git mirrors. Will this "service" be continued after
>     GitHub
>     > becomes the 'one source of truth'? I'd strongly vote for yes,
>     but I'm
>     > not sure how that's going to work on a technical level.
>     >
>     > Thanks,
>     > Jonas
>     >
>     > On 2018-10-20 03:14, Tom Stellard via llvm-dev wrote:
>     >> On 10/19/2018 05:47 PM, Tom Stellard via lldb-dev wrote:
>     >>> TLDR: Official monorepo repository will be published on
>     >>> Tuesday, Oct 23, 2018. After this date, you should modify
>     >>> your workflows to use the monorepo ASAP. Current workflows
>     >>> will be supported for at most 1 more year.
>     >>>
>     >>> Hi,
>     >>>
>     >>> We had 2 round-tables this week at the Developer Meeting to
>     >>> discuss the SVN to GitHub migration, and I wanted to update
>     >>> the rest of the community on what we discussed.
>     >>>
>     >>> The most important outcome from that meeting is that we
>     >>> now have a timeline for completing the transition which looks
>     >>> like this:
>     >>>
>     >>
>     >> Step 1:
>     >>> Tues Oct 23, 2018:
>     >>>
>     >>> The latest monorepo prototype[1] will be moved over to the
>     LLVM
>     >>> organization github project[2] and will begin mirroring the
>     current
>     >>> SVN repository. Commits will still be made to the SVN
>     repository
>     >>> just as they are today.
>     >>>
>     >>> All community members should begin migrating their workflows
>     that
>     >>> rely on SVN or the current git mirrors to use the new
>     monorepo.
>     >>>
>     >>> For CI jobs or internal mirrors pulling from SVN or
>     >>> http://llvm.org/git/*.git you should modify them to pull from
>     >>> the new monorepo and also to deal with the new repository
>     >>> layout.
>     >>>
>     >>> For Developers, you should begin using the new monorepo
>     >>> for your development and using the provided scripts[3]
>     >>> to commit your code. These scripts will allow to commit
>     >>> to SVN from the monorepo without using git-svn
>     >>>
>     >>>
>     >>
>     >> Sorry hit send before I was done. Here is the rest of the mail:
>     >>
>     >> Step 2:
>     >>
>     >> Around the time of next year's developer meeting (1 year at the
>     most),
>     >> we will turn off commit access to the SVN server and enable
>     commit
>     >> access to the monorepo. At this point the monorepo will become
>     the
>     >> 'one source of truth' for the project. Community members *must*
>     have
>     >> updated their workflows by this date and are encouraged to
>     begin
>     >> updating workflows ASAP.
>     >>
>     >> A lot of people asked at the developer meeting about the future
>     >> of bugzilla and phabricator and whether or not we will use
>     >> github issues and pull requests. These are important questions,
>     >> but are unrelated to the migration of the code.
>     >>
>     >> We also came up with a TODO list for things we want to
>     accomplish
>     >> as a community in the next year and beyond related to github. I
>     >> am working on putting these into bugzilla so we can track
>     progress
>     >> better and I will send a follow-up email about this.
>     >>
>     >> -Tom
>     >>
>     >>>
>     >>>
>     >>>
>     >>>
>     >>> [1] https://github.com/llvm-git-prototype/llvm>> [2]
>     https://github.com/llvm/>> [3]
>     >>>
>     https://llvm.org/docs/GettingStarted.html#for-developers-to-work-with-
>     a-git-monorepo>>
>     >>>
>     >>> _______________________________________________
>     >>> lldb-dev mailing list
>     >>> lldb-dev at lists.llvm.org
>     >>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev>>
>     >>
>     >> _______________________________________________
>     >> LLVM Developers mailing list
>     >> llvm-dev at lists.llvm.org
>     >>
>     http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev____________
>     ___________________________________
>     > Openmp-dev mailing list
>     > Openmp-dev at lists.llvm.org
>     > http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev
>     _______________________________________________
>     LLVM Developers mailing list
>     llvm-dev at lists.llvm.org
>     http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


More information about the cfe-dev mailing list