2014-04-28 13:30 GMT+02:00 Kai Tietz <[email protected]>:

> Hi,
>
> as JonY said, do we think about switching to git.  Of couse such a
> step might shows side-effects to our users.  So we would like to get
> your opinion and thoughts for this step.
> As svn-repository works a bit different as git, we will need to
> restructure our branches, tags, trunk, and experimental.  We need a
> plan how we might do transition here.
>
> Open questions from my POV are:
> - How do we maintain different branches?  Well, this shouldn't be the
> big problem, just naming and how to handle them we should agree on.
>
- Where stuff from experimental should do, which aren't fitting to a
> branch of master-repository.  So how many separate repositories we
> might neeed?  (ironcrate, tools, POSIX-emulation stuff like getrusage,
> etc)
>

Different repositories may sound like a nice idea, but keeping them in sync
can be a pain, depending on the complexity of the subprojects. I believe
stuff like ironcrate, winpthreads and perhaps the mingw-w64-tools folder
deserve their own repo, as they are very seperate from the headers+crt.
These latter two I'd suggest to keep together, as that will reduce the
chances of wrong versions being used together and allow 1 commit to change
both to keep them aligned without any hassle. In contrast, I would try to
move away from a seperate "experimental" directory, and instead inject
these changes into a branch (or several, so that each finished feature can
be merged easily). Branches and merging are the git way, and rebasing
allows for clean merges.

The simplest setup would be to have these branches:
- master
|- 1.x
|- 2.x
|- 3.x
|- experimental_feature_x
|- experimental_feature_y
...
And each release's git tag is in its release branch. Note a git tag is not
a full copy of a branch as with SVN, but just a ref to a certain commit.
One can easily and quickly diff branches and cherry-pick particular commits
between them, which will allow for simple git-based backporting of changes
as far as the different branches are similar)
A new release branch is as easy as

git branch --track 4.x origin/master

Same for a new feature branch. This ensures changes in the master branch
are automatically pulled in when you do a "git pull".

As a start for the conversion, check out this step-by-step plan:
http://stackoverflow.com/a/11918337/256138

I haven't tested it myself, but this should provide the cleanest transition
possible, removing unnecessary svn stuff and transforming that as much as
possible into git structure. The good thing is you can try it locally
without touching the original repo.

I could give it a whirl myself and push to github so you can see what the
result would be if you think this would be useful.

Cheers,

Ruben


>
> For sure there are other things too.
>
> Thanks for you thoughts, and opinion.
>
> Regards,
> Kai
>
> 2014-04-28 13:17 GMT+02:00 JonY <[email protected]>:
> > Hi,
> >
> > mingw-w64 may migrate from svn to git in the future, seeing that sf can
> > now do multiple repos per project.
> >
> > Structure wise, everything under trunk will still stay together in the
> > new repo, but any externals, /experimental/* and /web may move into its
> > own repo.
> >
> > Discuss.
> >
> >
> >
> ------------------------------------------------------------------------------
> > "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> > Instantly run your Selenium tests across 300+ browser/OS combos.  Get
> > unparalleled scalability from the best Selenium testing platform
> available.
> > Simple to use. Nothing to install. Get started now for free."
> > http://p.sf.net/sfu/SauceLabs
> > _______________________________________________
> > Mingw-w64-public mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
> >
>
>
> ------------------------------------------------------------------------------
> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> Instantly run your Selenium tests across 300+ browser/OS combos.  Get
> unparalleled scalability from the best Selenium testing platform available.
> Simple to use. Nothing to install. Get started now for free."
> http://p.sf.net/sfu/SauceLabs
> _______________________________________________
> Mingw-w64-public mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>
------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to