-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrate into Git for Windows proper #1
Comments
If you are interested in that, we could definitely look into that. It is important to note that this setup takes a different approach than the current Git for Windows setup. It has different "opinions" about how to do an install and might not work well for everyone. It doesn't try to please everyone. :) How would you best like to proceed? |
I am.
This is interesting. What is this "opinion" thing? How does it work? Who does it target?
That depends whether I could interest you to integrate your WiX script into Git for Windows' standard release cycle or not... 😜 |
That would be a "win-win" 👍 |
@dscho are you thinking about adding this as a 4th "installer type" to
gitsetup.exe is designed for Windows developers that use cmd and/or PowerShell and want to treat git as a typical Windows command-line executable. As a result, the many Unix-isms of git are not exposed.
I took a look at the build process a couple years ago. I do not envy your build dependencies. 😄 I've effectively zero bash experience (and near zero interest in extending it at this time) so I'm of minimal use adding/enhancing the existing scripts in However, I know the WiX Toolset and the Windows Installer (.msi) very well. I can explain what the current batch files do and manage the .wxs code (and continue to enhance going forward since there are certainly areas to improve). So I'm game but the question is anyone available to do the build script integration? |
Yes 😄
Perfect. That would help me a lot because I have no time to read up on WiX. Could you walk me through the process? For comparison, the Git for Windows installer is generated using a script that performs these steps:
I imagine that a very similar strategy is used to make the
Yes. Me. 😄 |
@robmen could you give us a walk-through of the basic concepts how gitsetup uses WiX to generate an |
@dscho, yes the strategy will be identical with different input file formats (.wxs files are XML) and tools being called (WiX toolset breaks the build into two steps: compile then link). I expect generating the .wxs files to be the "hardest" part of the shell files. Do you have a directory structure in mind for organizing the multiple "installers" now? There are enough files unique to each installer build that we won't want to intermingle them. For example, do you want a top level "installer-innosetup" and "installer-wix" folders or do you want sub-folders under "installer"? WIth that guidance in place, I can start bringing over code from this repo into the correct location in git-for-windows/build-extra. @bleissem very cool. Just need to get a few structural issues out of the way then should be able to start iterating and making progress. |
So far,
The last one does not concern us, of course, as its release cycle is completely independent from Git for Windows'. The other three actually share the call to I imagine that we want to add an Sounds good? |
@dscho (too funny, ships--or issue comments--passing in the night). For anyone looking at the repo here (namely At some point, it will likely be prudent to refactor the shell scripts to extract the commonalities between InnoSetup based build and WiX based build. But I'm probably stating the obvious there. 😸 |
Which files should I look at to figure out what the WiX-based build does before calling the compiler/linker? |
Sounds good. I missed the fact that
Note: this is what my comment above about not using
So two things:
|
@dscho any thoughts on moving to WiX v4? Are you for/against/neutral using pre-release WiX software? With that answered, I should be able to create a pull request to create the |
Neutral, but I trust your judgement more than mine. Thank you for all your explanations, and I look forward to seeing the progress! |
@dscho, if you're neutral then I'll go with WiX 4 since that is the branch under active development and I'll be able to take my "learnings" from Git for Windows back to improving the WiX toolset. It'll also make the code cleaner. I'll get the pull request together in the next couple days. PS: I should note I may go dark every couple days as FireGiant work takes priority. I should always respond within a week though. |
Awesome! |
@robmen |
@dscho |
I always wanted to do that, but haven't managed so far (the only VM I could use for that purpose was used by myself to develop actively, and that CI interfered rather badly, and besides, I managed to break my Jenkins instance).
Almost, but not quite. The main difference is that we still use a forked MSys2 runtime (see Alexpux/Cygwin#8 -- which I really need to update, badly). With the default MSys2 runtime, Git's regression test suite will not pass. Besides, we edit a couple of files using a dirty trick, some of which are then bundled into the Git for Windows installer (most notably, So much as I would like to, currently I do not think we can use AppVeyor as-is. The best course of action might be to push into the direction of getting the MSys2-related patches upstream (git-for-windows/git#284). |
Oh, and of course we would need a 32-bit MSys2, too. I am sure that AppVeyor would support us, there, but that still leaves the other issues I have to address first. |
So the |
FYI, I am also interested in a MSI based deployment of Git. I also work with @robmen on WiX and would be willing to contribute some time to getting this done officially. |
The was an attempt to integrate an MSI into the official Git for Windows project but there wasn't enough interest to get it over the finish line. I continue to maintain and use this project instead. You are welcome to use it as well. |
I'd love that! Please do feel free to contribute patches to https://github.com/git-for-windows/build-extra/tree/master/msi/ |
umh, what's the conclusion?
i can't connect the dots, can someone explain? |
I think you did a great job connecting the dots, @yashpalgoyal1304. I continue to maintain this fork for my own enjoyment. It builds on the fantastic work of @dscho while providing me with a very clean and simple installation. |
While I appreciate the work that has gone into the We have added and removed options from Git for Windows' installer in the meantime and I either forgot to port them to the |
It would appear that an even better way to provide all that gitsetup provides would be to integrate the enhancements into Git for Windows itself.
The text was updated successfully, but these errors were encountered: