# The state and future of the git/mingw** reposiories?

3 messages from 2008-08-20 to 2008-08-20. Participants: Petr Baudis, Johannes Sixt, Steffen Prohaska.
Thread: https://gitlist.dev/t/15105

## Petr Baudis, 2008-08-20 11:23

Subject: The state and future of the git/mingw** reposiories?
Message-ID: <20080820112309.GH10544@machine.or.cz>
URL: https://gitlist.dev/e/20080820112309.GH10544%40machine.or.cz

```
  Hi,

  I'm currently doing some MSysGit hacking (mostly git-gui-related) and
I'm wondering what should I actually base my work on, considering the
statement of 1.6.0 release notes:

	Source changes needed for porting to MinGW environment are now
	all in the main git.git codebase.

However, git diff junio/master...mingw/master shows quite a few
differences - is there any plan to merge these? If so, do you plan to
maintain the mingw fork indefinitely anyway as a staging area for your
patches that you plan to push upstream, or is it going to be phased out
eventually?

I'm even more confused about the git/mingw/4msysgit.git repository,
though. The branches here seem to be ... *insert 10 minutes of clicking
through dense gitk graphs* ... random mix of git.git and git/mingw.git
merges, but git diff mingw/master...origin/devel turns out to be fairly
minimal - still, some of the changes look quite generic. Again, is there
any upstream merge plan?

What is the branch structure of git/mingw/4msysgit.git? The 'master'
branch still points to 1.5.6, the 'next' branch points to something...
I can't quite pinpoint and the 'devel' branch seems to be 1.6.0 +
mingw/master. Who is supposed to use which one?

Overally, the situation seems to be quite confusing - I would appreciate
a lot if you could clarify the relationship between all the forks and
their branches. It would be great to have this in the project READMEs at
repo.or.cz so that casual visitors get this knowledge. I tried to look
around quite a bit, but could not find any up-to-date description of
this; if I missed it, please point me at the right place.

Thanks,

-- 
				Petr "Pasky" Baudis
The next generation of interesting software will be done
on the Macintosh, not the IBM PC.  -- Bill Gates

```

## Johannes Sixt, 2008-08-20 20:18

Subject: Re: The state and future of the git/mingw** reposiories?
Message-ID: <200808202218.35626.johannes.sixt@telecom.at>
URL: https://gitlist.dev/e/200808202218.35626.johannes.sixt%40telecom.at
In-Reply-To: <20080820112309.GH10544@machine.or.cz>

```
On Mittwoch, 20. August 2008, Petr Baudis wrote:
>   Hi,
>
>   I'm currently doing some MSysGit hacking (mostly git-gui-related) and
> I'm wondering what should I actually base my work on, considering the
> statement of 1.6.0 release notes:
>
> 	Source changes needed for porting to MinGW environment are now
> 	all in the main git.git codebase.

If all you need is a mostly working git, you can build off of git.git 
(assuming you have the build environment that msysgit provides).

> However, git diff junio/master...mingw/master shows quite a few
> differences - is there any plan to merge these?

You see three kinds of differences:

- Changes in the test suite.
- Perl related changes (most notably, git-add--interactive in git.git does not 
work on MinGW without these changes).
- One or two gitk related fixes.

All of them will be sent upstream some day.

If you need one of the areas that these changes touches, then you can work off 
of mingw.git.

> If so, do you plan to 
> maintain the mingw fork indefinitely anyway as a staging area for your
> patches that you plan to push upstream, or is it going to be phased out
> eventually?

I hope I can reset mingw.git to git.git some day. But I plan to keep it as 
staging area for patches.

-- Hannes

```

## Steffen Prohaska, 2008-08-20 21:22

Subject: Re: The state and future of the git/mingw** reposiories?
Message-ID: <1CB66104-4E38-4402-BF9F-2AB1284D76D6@zib.de>
URL: https://gitlist.dev/e/1CB66104-4E38-4402-BF9F-2AB1284D76D6%40zib.de
In-Reply-To: <200808202218.35626.johannes.sixt@telecom.at>

```

On Aug 20, 2008, at 10:18 PM, Johannes Sixt wrote:

> On Mittwoch, 20. August 2008, Petr Baudis wrote:
>>
>>
>>  I'm currently doing some MSysGit hacking (mostly git-gui-related)  
>> and
>> I'm wondering what should I actually base my work on, considering the
>> statement of 1.6.0 release notes:
>>
>> 	Source changes needed for porting to MinGW environment are now
>> 	all in the main git.git codebase.
>
> If all you need is a mostly working git, you can build off of git.git
> (assuming you have the build environment that msysgit provides).

I agree.  I suggest that you start branches from Junio's master, unless
this is not possible.

Unfortunately, I am not convinced of our current solution for handling
the installation prefix on Windows.  Hence, I won't create a 1.6.0
installer.  I have recently proposed a patch series that addresses the
issues I see:

   http://article.gmane.org/gmane.comp.version-control.git/92605

But this patch series is not yet ready for Junio's master.

Note also that I'll be completely offline for the next three weeks,
so you won't see any progress from my side.


>> However, git diff junio/master...mingw/master shows quite a few
>> differences - is there any plan to merge these?
>
> You see three kinds of differences:
>
> - Changes in the test suite.
> - Perl related changes (most notably, git-add--interactive in  
> git.git does not
> work on MinGW without these changes).
> - One or two gitk related fixes.

In 4msysgit.git we have, in addition, the Putty related change that
was not accepted by Junio.  I haven't decided what to do with
this change.  See

   http://article.gmane.org/gmane.comp.version-control.msysgit/2560

and replies.


> All of them will be sent upstream some day.
>
> If you need one of the areas that these changes touche, then you can  
> work off
> of mingw.git.
>
>> If so, do you plan to
>> maintain the mingw fork indefinitely anyway as a staging area for  
>> your
>> patches that you plan to push upstream, or is it going to be phased  
>> out
>> eventually?
>
> I hope I can reset mingw.git to git.git some day. But I plan to keep  
> it as
> staging area for patches.
>
>
>> I'm even more confused about the git/mingw/4msysgit.git repository,
>> though. The branches here seem to be ... *insert 10 minutes of  
>> clicking
>> through dense gitk graphs* ... random mix of git.git and git/ 
>> mingw.git
>> merges, but git diff mingw/master...origin/devel turns out to be  
>> fairly
>> minimal - still, some of the changes look quite generic. Again, is  
>> there
>> any upstream merge plan?

I merge from Hannes if he has already merged from Junio.  If Hannes'
master is not up-to-date I merge directly from Junio.  I even merged
a few times directly from Shawn's git-gui master if I needed fixes from
there to create a release.



>> What is the branch structure of git/mingw/4msysgit.git? The 'master'
>> branch still points to 1.5.6, the 'next' branch points to  
>> something...
>> I can't quite pinpoint and the 'devel' branch seems to be 1.6.0 +
>> mingw/master. Who is supposed to use which one?

I plan to stop supporting 4msysgit asap and replace it with Junio's
git.git.  Until then:

  - 'master' points to the last stable version (typically the last
    release).  The reason is that msysGit will checkout and compile
    master, so it is required to work.

  - 'devel' is the branch that has all changes planned for the next
    release.

  - 'next' contains Junio's next + 'devel', so that people could test
    Junio's next branch.

In addition to these toplevel branches we have a couple of topic  
branches.
 From time to time someone cleans up topic branches; but for some of the
topic branches I do not remember (if I ever knew) what they are about.

	Steffen

```
