Re: Git for Windows for Unix?
On Fri, Sep 28 2018, Jonathan Nieder wrote: > Ævar Arnfjörð Bjarmason wrote: >> On Thu, Sep 27 2018, Jonathan Nieder wrote: > >>> That said, that seems to me like a lot of work to avoid adding some >>> patches to "next" that belong in "next" anyway. I understand why the >>> Git for Windows maintainer does not always have time to upstream >>> promptly, which is why I suggest working with him to find a way to >>> help with that. >>> >>> If there's something I'm missing and Git is actually an uncooperative >>> upstream like the cases you've mentioned, then I'd be happy to learn >>> about that so we can fix it, too. >> >> That's one and valid way to look at it, convergence would be ideal. >> >> Another way to look at it, which is closer to what I was thinking about, >> is to just view GFW as some alternate universe "next" branch (which by >> my count is ~2-3k commits ahead of master[1]). > > You could view it that way, but I don't. Many Git for Windows patches > have never even visited the Git mailing list. Not to beat this point to death, just replying because I'm not sure if we're talking past each other, or if you're just vehemently making the point that these patches *really* should be sent to the ML (which I don't disagree with at all). I meant "alternative universe 'next'" in the sense that it's a published branch that's shipped to people and is consistently ahead of master, not that the same process of sending patches to git@vger.kernel.org has been used to generate it. In the case of GFW they have their own internal contribution mechanism, GitHub PRs etc., and only eventually submit things to the ML.
Re: Git for Windows for Unix?
On Fri, Sep 28, 2018 at 09:57:11PM +0200, Ævar Arnfjörð Bjarmason wrote: > Another way to look at it, which is closer to what I was thinking about, > is to just view GFW as some alternate universe "next" branch (which by > my count is ~2-3k commits ahead of master[1]). > 1. $ git log --max-parents=1 --pretty=format:%s > v2.19.0...v2.19.0.windows.1|sort|uniq|wc -l >2346 This command is missing a grep -v -i -E '(^fixup!|^squash!|mingw|vcxproj|msvc|win32|vs2015|windows)' from the middle of the pipe, then it's "only" ~1500.
Re: Git for Windows for Unix?
Ævar Arnfjörð Bjarmason wrote: > On Thu, Sep 27 2018, Jonathan Nieder wrote: >> That said, that seems to me like a lot of work to avoid adding some >> patches to "next" that belong in "next" anyway. I understand why the >> Git for Windows maintainer does not always have time to upstream >> promptly, which is why I suggest working with him to find a way to >> help with that. >> >> If there's something I'm missing and Git is actually an uncooperative >> upstream like the cases you've mentioned, then I'd be happy to learn >> about that so we can fix it, too. > > That's one and valid way to look at it, convergence would be ideal. > > Another way to look at it, which is closer to what I was thinking about, > is to just view GFW as some alternate universe "next" branch (which by > my count is ~2-3k commits ahead of master[1]). You could view it that way, but I don't. Many Git for Windows patches have never even visited the Git mailing list. Thanks, Jonathan
Re: Git for Windows for Unix?
On Thu, Sep 27 2018, Jonathan Nieder wrote: > Hi, > > Ævar Arnfjörð Bjarmason wrote: > >> So it's similar to various packages that have "alternates" and are semi >> or permanently forked, like emacs & xemacs, JDK etc., although I can't >> recall one offhand that's quite similar to GFW v.s. git.git. >> >> My only stake in this is I thought it would be neat to be able to "apt >> install git-for-windows", but I understand there's a support burden, but >> if some *nix packagers are interested, maybe never taking it out of the >> Debian equivalent of "experimental" and saying "this is unsupported, go >> to the GFW tracker..." when bugs are filed would cut down on the support >> burden. > > If someone else wants to package git-for-windows for Debian, I am > happy to offer them advice and will not stop them. Thanks, presumably this is going to be more involved than just downloading the source .deb, replacing the source tarball & s/2.19.0/2.19.0.windows.../, since presumably both would need to be aware of each other not to conflict, or would need update-alternatives integration. > That said, that seems to me like a lot of work to avoid adding some > patches to "next" that belong in "next" anyway. I understand why the > Git for Windows maintainer does not always have time to upstream > promptly, which is why I suggest working with him to find a way to > help with that. > > If there's something I'm missing and Git is actually an uncooperative > upstream like the cases you've mentioned, then I'd be happy to learn > about that so we can fix it, too. That's one and valid way to look at it, convergence would be ideal. Another way to look at it, which is closer to what I was thinking about, is to just view GFW as some alternate universe "next" branch (which by my count is ~2-3k commits ahead of master[1]). >From that perspective if/how/when it's all converging is just inside baseball. I can install git from "testing" in Debian, and get the same version that's probably stress tested by tens of thousands of users, or "experimental" (next) that's probably run by tens or hundreds of people, maybe thousands. I'd just like to have some easy way to install the gfw, which I'm assuming is used by a lot more users than any of those. One reason to do that these days is to get git-stash and git-rebase that's a lot faster, yeah I could just pick those from the ML or build from "pu", but I'm betting the GFW version has been tested a lot more. I can just build it for myself, the reason I sent this mail was just to a) see if there were some packagers that were interested in making non-windows packages for it (e.g. some linux distros) b) it wasn't clear to me before what the extent of the divergence with vanilla git was, and that there wasn't much Windows-specific about GFW, it's just a fork whose maintainer happens to just make releases on that OS (but as I've learned, also tests them on Linux VMs). 1. $ git log --max-parents=1 --pretty=format:%s v2.19.0...v2.19.0.windows.1|sort|uniq|wc -l 2346 sort|uniq because without that we get ~27k commits, a lot of these seem to be automated commits made by some bots.
Re: Git for Windows for Unix?
On Thu, Sep 27, 2018 at 6:24 PM Ævar Arnfjörð Bjarmason wrote: > My only stake in this is I thought it would be neat to be able to "apt > install git-for-windows", That's what private builds are for (or "PPA" if debian has an equivalent). I already largely ignore any Windows reports because I don't know the differences in the fork. What's next? If a linux bug report comes, will I have to double check with the reporter whether it's GFW build or git.git? -- Duy
Re: Git for Windows for Unix?
Hi, Ævar Arnfjörð Bjarmason wrote: > So it's similar to various packages that have "alternates" and are semi > or permanently forked, like emacs & xemacs, JDK etc., although I can't > recall one offhand that's quite similar to GFW v.s. git.git. > > My only stake in this is I thought it would be neat to be able to "apt > install git-for-windows", but I understand there's a support burden, but > if some *nix packagers are interested, maybe never taking it out of the > Debian equivalent of "experimental" and saying "this is unsupported, go > to the GFW tracker..." when bugs are filed would cut down on the support > burden. If someone else wants to package git-for-windows for Debian, I am happy to offer them advice and will not stop them. That said, that seems to me like a lot of work to avoid adding some patches to "next" that belong in "next" anyway. I understand why the Git for Windows maintainer does not always have time to upstream promptly, which is why I suggest working with him to find a way to help with that. If there's something I'm missing and Git is actually an uncooperative upstream like the cases you've mentioned, then I'd be happy to learn about that so we can fix it, too. Sincerely, Jonathan
Re: Git for Windows for Unix?
On Thu, Sep 27 2018, Jonathan Nieder wrote: > Ævar Arnfjörð Bjarmason wrote: > >> GFW is a "friendly fork", but a permanent one it seems. The diff between >> it and 2.19.0 proper is ~10k lines, and e.g. this last release had >> experimental stash/rebase in C that 2.19.0 didn't. >> >> So it would be great if this were packaged up by linux distro as some >> "alterate" package of git. I'm putting Jonathan in the "To" line because >> I'm mainly interested in this for Debian, but maybe there's wider >> interest at git-packagers... > > Please coordinate with Dscho to get these patches into "next" upstream. I understand that this happens at some trickle, but how up-to-date that is goes back & forth, here's the history of differences for all major releases since 2.0.0 to 2.19.0: $ for rel in {0..19} ; do echo 2.$rel.0 vanilla v.s. gfw: && git diff --stat v2.$rel.0..$(git tag -l | grep v2.$rel.0.windows) -- '*.[ch]' '*.txt' '*.sh' |grep 'files changed'; done 2.0.0 vanilla v.s. gfw: 1790 files changed, 242271 insertions(+), 76973 deletions(-) 2.1.0 vanilla v.s. gfw: 1757 files changed, 231844 insertions(+), 75560 deletions(-) 2.2.0 vanilla v.s. gfw: 1733 files changed, 222517 insertions(+), 74745 deletions(-) 2.3.0 vanilla v.s. gfw: 66 files changed, 1612 insertions(+), 234 deletions(-) 2.4.0 vanilla v.s. gfw: 83 files changed, 2483 insertions(+), 299 deletions(-) 2.5.0 vanilla v.s. gfw: 89 files changed, 3150 insertions(+), 512 deletions(-) 2.6.0 vanilla v.s. gfw: 94 files changed, 3327 insertions(+), 538 deletions(-) 2.7.0 vanilla v.s. gfw: 95 files changed, 3616 insertions(+), 590 deletions(-) 2.8.0 vanilla v.s. gfw: 60 files changed, 3091 insertions(+), 497 deletions(-) 2.9.0 vanilla v.s. gfw: 60 files changed, 2945 insertions(+), 482 deletions(-) 2.10.0 vanilla v.s. gfw: 79 files changed, 6053 insertions(+), 1271 deletions(-) 2.11.0 vanilla v.s. gfw: 113 files changed, 6337 insertions(+), 1051 deletions(-) 2.12.0 vanilla v.s. gfw: 110 files changed, 4509 insertions(+), 868 deletions(-) 2.13.0 vanilla v.s. gfw: 122 files changed, 4217 insertions(+), 919 deletions(-) 2.14.0 vanilla v.s. gfw: 151 files changed, 5237 insertions(+), 1093 deletions(-) 2.15.0 vanilla v.s. gfw: 178 files changed, 4903 insertions(+), 912 deletions(-) 2.16.0 vanilla v.s. gfw: 172 files changed, 4614 insertions(+), 940 deletions(-) 2.17.0 vanilla v.s. gfw: 163 files changed, 4574 insertions(+), 882 deletions(-) 2.18.0 vanilla v.s. gfw: 163 files changed, 4688 insertions(+), 883 deletions(-) 2.19.0 vanilla v.s. gfw: 184 files changed, 9197 insertions(+), 1271 deletions(-) So it's similar to various packages that have "alternates" and are semi or permanently forked, like emacs & xemacs, JDK etc., although I can't recall one offhand that's quite similar to GFW v.s. git.git. My only stake in this is I thought it would be neat to be able to "apt install git-for-windows", but I understand there's a support burden, but if some *nix packagers are interested, maybe never taking it out of the Debian equivalent of "experimental" and saying "this is unsupported, go to the GFW tracker..." when bugs are filed would cut down on the support burden.
Re: Git for Windows for Unix?
On 9/27/2018 12:01 PM, Ævar Arnfjörð Bjarmason wrote: I had an IRC conversation with Johannes saying I didn't know Git For Windows builds perfectly well for Linux, this just isn't advertised in the ANNOUNCE E-Mails, so I hadn't tried. We run CI to ensure it builds and tests on Mac OSX, too. This is important to the VFS for Git group, as we work on making that work for Mac clients. We have our fork of Git for Windows at https://github.com/microsoft/git. GFW is a "friendly fork", but a permanent one it seems. The diff between it and 2.19.0 proper is ~10k lines, and e.g. this last release had experimental stash/rebase in C that 2.19.0 didn't. Hopefully we can learn from having this experimental feature in the wild and improve the patches on-list by fixing issues. We do have a desire to move as much as possible upstream. It's difficult to find time to pay down that "fork debt". Thanks, -Stolee
Re: Git for Windows for Unix?
Ævar Arnfjörð Bjarmason wrote: > GFW is a "friendly fork", but a permanent one it seems. The diff between > it and 2.19.0 proper is ~10k lines, and e.g. this last release had > experimental stash/rebase in C that 2.19.0 didn't. > > So it would be great if this were packaged up by linux distro as some > "alterate" package of git. I'm putting Jonathan in the "To" line because > I'm mainly interested in this for Debian, but maybe there's wider > interest at git-packagers... Please coordinate with Dscho to get these patches into "next" upstream. Thanks and hope that helps, Jonathan
Git for Windows for Unix?
I had an IRC conversation with Johannes saying I didn't know Git For Windows builds perfectly well for Linux, this just isn't advertised in the ANNOUNCE E-Mails, so I hadn't tried. Johannes doesn't build his own tarballs, but these are provided at: https://github.com/git-for-windows/git/tags diffing https://github.com/git/git/tags v.s. what Junio releases shows: $ diff -ru git-2.19.0 git-2.19.0.gh Only in git-2.19.0: configure Only in git-2.19.0/git-gui: version Only in git-2.19.0: version So to use these you need to grab the GitHub tarball, create a "version" file saying e.g. 2.19.0.windows.1 or whatever it is (derived from the name of the tarball), and if applicable make your own configure script. GFW is a "friendly fork", but a permanent one it seems. The diff between it and 2.19.0 proper is ~10k lines, and e.g. this last release had experimental stash/rebase in C that 2.19.0 didn't. So it would be great if this were packaged up by linux distro as some "alterate" package of git. I'm putting Jonathan in the "To" line because I'm mainly interested in this for Debian, but maybe there's wider interest at git-packagers...