threads / discuss / 15105

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

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

## tl;dr

3 messages between Aug 20, 2008 and Aug 20, 2008.

replies: 2people: 3as markdown or json

Petr Baudis· Aug 20, 2008, 11:23 UTC · lore
  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· Aug 20, 2008, 20:18 UTC · re: Petr Baudis · lore

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

On Mittwoch, 20. August 2008, Petr Baudis wrote:
Show 8 quoted lines
>   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· Aug 20, 2008, 21:22 UTC · re: Johannes Sixt · lore

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

On Aug 20, 2008, at 10:18 PM, Johannes Sixt wrote:
Show 13 quoted lines
> 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.

Show 10 quoted lines
>> 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.
Show 28 quoted lines
> 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.

Show 5 quoted lines
>> 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

← back to recent threads