Hi Mike,
So I was about to finish my ongoing server work in the next few days and
then push for a move to Git on the mailing lists. Thanks for spoiling
those plans! :)
I totally agree with all your raised points. I'm using Git every day at
work now, so do several of our developers. For some of us, ReactOS
remains the only project still using SVN.
While Git's usability under Windows has long been a problem (check
ros-dev from April 2009), TortoiseGit and GitHub have greatly simplified
things here.
I also got introduced into Git submodules recently. They're perfectly
suited for a large project like ReactOS that should be split up into
multiple smaller subprojects. Having several easily hackable
subprojects, and then having them on GitHub, gives us way more exposure
and probably more contributors.
So why hasn't this move happened earlier? Especially when some of our
developers are already actively using the git-svn mirror?
One reason is definitely trying to get a smooth transition done. You
already mentioned git-svn being buggy, and missing SVN branches are one
part of the problem. Reposurgeon looks interesting to do the right thing
here.
Given that I'm used to Git by now, I also wouldn't mind if we fix a
date, make SVN read-only on that date and do all development in Git from
then on. AFAIK, the same has also worked for the CVS to SVN transition.
But I could imagine that there are still developers tied to the SVN way
of doing things. We would at least need a detailed Wiki page explaining
some common SVN tasks and how they're now done in Git/TortoiseGit.
There has also been the idea of employing a two-way mirror solution like
SubGit for 6 months to ease the transition. While I'm not fully opposed
to that idea, I fear that some people won't even give up SVN after that
time. But even more important, this would prevent us from making use of
features like Git submodules.
Answering one of your other questions inline.
Am 24.02.2016 um 12:59 schrieb Mike Swanson:
* Old versions of RosBE are under /tags. Is RosBE
maintained
elsewhere?
We used to have everything in the one big "reactos" repository. First,
the website and media split off as the "web" and "press-media" repos,
then some tools followed as the "project-tools" repo. This one is also
where RosBE is now maintained.
When doing a proper transition to Git, all remnants of these
repositories should be removed from the history wherever possible.
Reposurgeon may be helpful here.
Cheers,
Colin