threads / discuss / 23253

Are the patches used to build git on cygwin available in a git repo somewhere?

Subject: Are the patches used to build git on cygwin available in a git repo somewhere?

## tl;dr

9 messages between Mar 30, 2010 and Apr 1, 2010.

replies: 8people: 3as markdown or json

Jon Seymour· Mar 30, 2010, 16:16 UTC · lore

I notice that certain tools, such as gitk, won't run correctly if git is built from the master branch.

Does anyone maintain a git repo with the patches used to successfully build the cygwin git packages?

jon.
Jonathan Nieder· Mar 31, 2010, 02:56 UTC · re: Jon Seymour · lore

Re: Are the patches used to build git on cygwin available in a git repo somewhere?

[adding a few relevant cc's]
Jon Seymour wrote:
> Does anyone maintain a git repo with the patches used to successfully
> build the cygwin git packages?

I think git.git is the canonical repo. On cygwin.com I don’t see any package more recent than 1.6.6.1 so I suspect no one has packaged a recent version yet.

I assume reports and patches would be welcome.

HTH, Jonathan

Jonathan Nieder· Mar 31, 2010, 02:58 UTC · re: Jonathan Nieder · lore

Re: Are the patches used to build git on cygwin available in a git repo somewhere?

Jonathan Nieder wrote:
Show 10 quoted lines
> [adding a few relevant cc's]
> 
> Jon Seymour wrote:
> 
> > Does anyone maintain a git repo with the patches used to successfully
> > build the cygwin git packages?
> 
> I think git.git is the canonical repo.  On cygwin.com I don’t see any
> package more recent than 1.6.6.1 so I suspect no one has packaged a
> recent version yet.
s/recent/more recent/
Sorry for the noise.
Jon Seymour· Mar 31, 2010, 07:55 UTC · re: Jonathan Nieder · lore

Re: Are the patches used to build git on cygwin available in a git repo somewhere?

What I was looking for was a git repo that contains a branch with the patches that the cygwin folks mutate the official git release with. Such a repo would be quite useful because people could, in theory, use these to produce their own cygwin git builds at arbitrary commits instead of having to wait for cygwin to catch up.

Admittedly, it is not a big deal to build such a branch using the patch from the cygwin package source, but I was just wondering whether there was a well-known repo that contained the patches already.

jon.
On Wed, Mar 31, 2010 at 1:58 PM, Jonathan Nieder <jrnieder@gmail.com> wrote:
Show 15 quoted lines
> Jonathan Nieder wrote:
>> [adding a few relevant cc's]
>>
>> Jon Seymour wrote:
>>
>> > Does anyone maintain a git repo with the patches used to successfully
>> > build the cygwin git packages?
>>
>> I think git.git is the canonical repo.  On cygwin.com I don’t see any
>> package more recent than 1.6.6.1 so I suspect no one has packaged a
>> recent version yet.
> s/recent/more recent/
>
> Sorry for the noise.
>
Eric Blake· Mar 31, 2010, 11:49 UTC · re: Jon Seymour · lore

Re: Are the patches used to build git on cygwin available in a git repo somewhere?

According to Jon Seymour on 3/31/2010 1:55 AM:
Show 9 quoted lines
> What I was looking for was a git repo that contains a branch with the
> patches that the cygwin folks mutate the official git release with.
> Such a repo would be quite useful because people could, in theory, use
> these to produce their own cygwin git builds at arbitrary commits
> instead of having to wait for cygwin to catch up.
> 
> Admittedly, it is not a big deal to build such a branch using the
> patch from the cygwin package source, but I was just wondering whether
> there was a well-known repo that contained the patches already.

Nope - the patchset that I apply when building the cygwin port is so small that so far I have just maintained it manually, rather than publishing a git repo. But if you want me to make it more public, I can certainly look into doing that. And yes, now that 1.7.x is out for some time now, I should probably advance the cygwin port beyond 1.6.6.1.

-- 
Eric Blake   eblake@redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org
Jon Seymour· Mar 31, 2010, 11:58 UTC · re: Eric Blake · lore

Re: Are the patches used to build git on cygwin available in a git repo somewhere?

On Wed, Mar 31, 2010 at 11:49 PM, Eric Blake <eblake@redhat.com> wrote:
Show 17 quoted lines
> According to Jon Seymour on 3/31/2010 1:55 AM:
>> What I was looking for was a git repo that contains a branch with the
>> patches that the cygwin folks mutate the official git release with.
>> Such a repo would be quite useful because people could, in theory, use
>> these to produce their own cygwin git builds at arbitrary commits
>> instead of having to wait for cygwin to catch up.
>>
>> Admittedly, it is not a big deal to build such a branch using the
>> patch from the cygwin package source, but I was just wondering whether
>> there was a well-known repo that contained the patches already.
>
> Nope - the patchset that I apply when building the cygwin port is so small
> that so far I have just maintained it manually, rather than publishing a
> git repo.  But if you want me to make it more public, I can certainly look
> into doing that.  And yes, now that 1.7.x is out for some time now, I
> should probably advance the cygwin port beyond 1.6.6.1.
>

As you say, it's probably not worth the effort, but if you ever do decide to set such a thing up, do let me know.

jon.
Show 5 quoted lines
> --
> Eric Blake   eblake@redhat.com    +1-801-349-2682
> Libvirt virtualization library http://libvirt.org
>
>
Jonathan Nieder· Apr 1, 2010, 02:35 UTC · re: Jon Seymour · lore

Re: Are the patches used to build git on cygwin available in a git repo somewhere?

Jon Seymour wrote:
> What I was looking for was a git repo that contains a branch with the
> patches that the cygwin folks mutate the official git release with.

To clarify, I didn’t realize the Cygwin folks needed a patch at all. Oh well, theory and practice.

I just fetched the packaging.
  http://mirror.mcs.anl.gov/cygwin/release/git/git-1.6.6.1-1-src.tar.bz2
gitk - work around stderr redirection on Cygwin
  The description of this patch suggests it is meant to work around
  the old Tcl/Tk version.  In that case, maybe stock gitk should learn
  a workaround.  I don’t think it is supposed to require more recent
  Tcl/Tk than 8.4.
  Unfortunately, I cannot find a relevant changelog entry.  Maybe
  this is a Windows-specific bug?  http://wiki.tcl.tk/2620
  describes a similar problem.
gitk - convert gitk-path to Windows if on Cygwin
  This patch seems reasonable, and it only affects Cygwin.  I think it
  looks reasonable for inclusion in stock gitk, though others might
  disagree.
Documentation/Makefile
  Adds --unsafe to the asciidoc command line.  Why?
Makefile
  Stops disabling so many features, since Cygwin has come a long way.
  This looks worth applying upstream.  The conservative thing to do
  would be to test $(uname -r), but since it is easy to bring a
  Cygwin installation up to date and hard to figure out the appropriate
  versions, it might make sense to make this change unconditionally.
  A worrisome one is NO_MMAP.  Was that problem ever understood?  Maybe
  v1.6.3-rc0~133 (MinGW: implement mmap, 2009-03-13) contains some clues
  (just a hope).  The message for v1.5.0-rc1~182 (Set NO_MMAP for Cygwin
  by default, 2006-12-27) indicates that it’s filesystem-specific, 
Makefile: all:: perl/perl.mak
  Should be unnecessary. The scripts should pull it in already.
Makefile: setting INSTALLDIRS=vendor in the perl/perl.mak target
  Should be unnecessary.  Make passes on variable settings from the
  command line to submakes already.
git-gui/Makefile:
  Change to Cygwin-specific part.  Probably applicable upstream.

Thoughts? Jonathan

Eric Blake· Apr 1, 2010, 20:59 UTC · re: Jonathan Nieder · lore

Re: Are the patches used to build git on cygwin available in a git repo somewhere?

On 03/31/2010 08:35 PM, Jonathan Nieder wrote:
Show 14 quoted lines
> I just fetched the packaging.
> 
>   http://mirror.mcs.anl.gov/cygwin/release/git/git-1.6.6.1-1-src.tar.bz2
> 
> gitk - work around stderr redirection on Cygwin
> 
>   The description of this patch suggests it is meant to work around
>   the old Tcl/Tk version.  In that case, maybe stock gitk should learn
>   a workaround.  I don’t think it is supposed to require more recent
>   Tcl/Tk than 8.4.
> 
>   Unfortunately, I cannot find a relevant changelog entry.  Maybe
>   this is a Windows-specific bug?  http://wiki.tcl.tk/2620
>   describes a similar problem.

More of a problem of the fact that cygwin tcl is _still_ stuck with a bastardized implementation that is not quite a true cygwin app, and therefore doesn't handle file redirections as gracefully as it could. Mark Levedahl proposed the patch upstream on 14 Jun 2008, but it was never accepted. http://marc.info/?t=121346288300001&r=1&w=2

Show 6 quoted lines
> 
> gitk - convert gitk-path to Windows if on Cygwin
> 
>   This patch seems reasonable, and it only affects Cygwin.  I think it
>   looks reasonable for inclusion in stock gitk, though others might
>   disagree.

OK, I'll find time to re-submit it upstream. It was modified from this original post, also by Mark Levedahl: http://marc.info/?l=git&m=121349005001446&w=2

> 
> Documentation/Makefile
> 
>   Adds --unsafe to the asciidoc command line.  Why?

Because VPATH builds of the documentation make asciidoc fail otherwise, due to a complaint about an unsafe use of ../ referencing to find the source dir outside of the build dir.

Show 8 quoted lines
> 
> Makefile
> 
>   Stops disabling so many features, since Cygwin has come a long way.
>   This looks worth applying upstream.  The conservative thing to do
>   would be to test $(uname -r), but since it is easy to bring a
>   Cygwin installation up to date and hard to figure out the appropriate
>   versions, it might make sense to make this change unconditionally.

Most of those defaults cater to cygwin 1.5, which was released several years ago. Cygwin 1.7 is the only supported version now, but it was only released late 2009. I'll try to find time to submit the less-controversial of these upstream.

Show 5 quoted lines
> 
>   A worrisome one is NO_MMAP.  Was that problem ever understood?  Maybe
>   v1.6.3-rc0~133 (MinGW: implement mmap, 2009-03-13) contains some clues
>   (just a hope).  The message for v1.5.0-rc1~182 (Set NO_MMAP for Cygwin
>   by default, 2006-12-27) indicates that it’s filesystem-specific, 

No one has ever demonstrated to me why NO_MMAP was needed on cygwin. I'd rather get mmap fixed on cygwin, if it really is a bug (and if it still exists; it is highly likely that the bug was against 1.5 but has been fixed in the meantime).

> 
> Makefile: all:: perl/perl.mak
> 
>   Should be unnecessary. The scripts should pull it in already.

It made a difference for me when packaging for cygwin. But if there's a way to make it work without that line, I'm all ears.

Show 5 quoted lines
> 
> Makefile: setting INSTALLDIRS=vendor in the perl/perl.mak target
> 
>   Should be unnecessary.  Make passes on variable settings from the
>   command line to submakes already.

Again, I could never get it to work without this patch; but I'm all ears if there's a better way.

> 
> git-gui/Makefile:
> 
>   Change to Cygwin-specific part.  Probably applicable upstream.
OK, I'll try and find time to send an upstream patch submission.

Meanwhile, I'm trying to package git 1.7.0.4 for cygwin, so this is a good chance to review all of those patches in the cygwin port.

-- 
Eric Blake   eblake@redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org
Jon Seymour· Apr 1, 2010, 23:41 UTC · re: Eric Blake · lore

Re: Are the patches used to build git on cygwin available in a git repo somewhere?

Eric,

Just in case it helps, I have taken the cygwin-1.6.6.1-1 patches and split them up according to the discussions in this note and published them as a tag (v1.6.6.1.cygwin-patch) in my fork of the github git/git repo.

      git://github.com/jonseymour/git.git
Feel free to clone this and do with it as you will.

If there any interest, I can post them to the list as patches, but I figured it would probably be less confusing if Eric did that himself, should that be required, especially since he has already started a new series.

jon.
On Fri, Apr 2, 2010 at 7:59 AM, Eric Blake <eblake@redhat.com> wrote:
Show 100 quoted lines
> On 03/31/2010 08:35 PM, Jonathan Nieder wrote:
>> I just fetched the packaging.
>>
>>   http://mirror.mcs.anl.gov/cygwin/release/git/git-1.6.6.1-1-src.tar.bz2
>>
>> gitk - work around stderr redirection on Cygwin
>>
>>   The description of this patch suggests it is meant to work around
>>   the old Tcl/Tk version.  In that case, maybe stock gitk should learn
>>   a workaround.  I don’t think it is supposed to require more recent
>>   Tcl/Tk than 8.4.
>>
>>   Unfortunately, I cannot find a relevant changelog entry.  Maybe
>>   this is a Windows-specific bug?  http://wiki.tcl.tk/2620
>>   describes a similar problem.
>
> More of a problem of the fact that cygwin tcl is _still_ stuck with a
> bastardized implementation that is not quite a true cygwin app, and
> therefore doesn't handle file redirections as gracefully as it could.
> Mark Levedahl proposed the patch upstream on 14 Jun 2008, but it was
> never accepted.
> http://marc.info/?t=121346288300001&r=1&w=2
>
>>
>> gitk - convert gitk-path to Windows if on Cygwin
>>
>>   This patch seems reasonable, and it only affects Cygwin.  I think it
>>   looks reasonable for inclusion in stock gitk, though others might
>>   disagree.
>
> OK, I'll find time to re-submit it upstream.   It was modified from this
> original post, also by Mark Levedahl:
> http://marc.info/?l=git&m=121349005001446&w=2
>
>>
>> Documentation/Makefile
>>
>>   Adds --unsafe to the asciidoc command line.  Why?
>
> Because VPATH builds of the documentation make asciidoc fail otherwise,
> due to a complaint about an unsafe use of ../ referencing to find the
> source dir outside of the build dir.
>
>>
>> Makefile
>>
>>   Stops disabling so many features, since Cygwin has come a long way.
>>   This looks worth applying upstream.  The conservative thing to do
>>   would be to test $(uname -r), but since it is easy to bring a
>>   Cygwin installation up to date and hard to figure out the appropriate
>>   versions, it might make sense to make this change unconditionally.
>
> Most of those defaults cater to cygwin 1.5, which was released several
> years ago.  Cygwin 1.7 is the only supported version now, but it was
> only released late 2009.  I'll try to find time to submit the
> less-controversial of these upstream.
>
>>
>>   A worrisome one is NO_MMAP.  Was that problem ever understood?  Maybe
>>   v1.6.3-rc0~133 (MinGW: implement mmap, 2009-03-13) contains some clues
>>   (just a hope).  The message for v1.5.0-rc1~182 (Set NO_MMAP for Cygwin
>>   by default, 2006-12-27) indicates that it’s filesystem-specific,
>
> No one has ever demonstrated to me why NO_MMAP was needed on cygwin.
> I'd rather get mmap fixed on cygwin, if it really is a bug (and if it
> still exists; it is highly likely that the bug was against 1.5 but has
> been fixed in the meantime).
>
>>
>> Makefile: all:: perl/perl.mak
>>
>>   Should be unnecessary. The scripts should pull it in already.
>
> It made a difference for me when packaging for cygwin.  But if there's a
> way to make it work without that line, I'm all ears.
>
>>
>> Makefile: setting INSTALLDIRS=vendor in the perl/perl.mak target
>>
>>   Should be unnecessary.  Make passes on variable settings from the
>>   command line to submakes already.
>
> Again, I could never get it to work without this patch; but I'm all ears
> if there's a better way.
>
>>
>> git-gui/Makefile:
>>
>>   Change to Cygwin-specific part.  Probably applicable upstream.
>
> OK, I'll try and find time to send an upstream patch submission.
>
> Meanwhile, I'm trying to package git 1.7.0.4 for cygwin, so this is a
> good chance to review all of those patches in the cygwin port.
>
> --
> Eric Blake   eblake@redhat.com    +1-801-349-2682
> Libvirt virtualization library http://libvirt.org
>
>

← back to recent threads