-
Notifications
You must be signed in to change notification settings - Fork 613
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
Add column.exe to the installed files #92
Conversation
column.exe is included for the benefit of https://github.com/tj/git-extras which uses column.exe in git line-summary, git summary and git ignore-io. It's a 25kb file with no additional dependencies (msys-intl-8.dll, msys-iconv-2.dll and msys-2.0.dll are all included already). From the util-linux package... Closes: git-for-windows/git#586 Signed-off-by: Jan Schulz <[email protected]>
I built a portable installer and column.exe is included. On the other hand, I had to copy |
Just to understand what I did wrong here:
As far as I understand the subtree problem: The mingw-w64-x86_64-git-doc-html package specially installs the subtree docs into the git-doc dir: https://github.com/git-for-windows/MINGW-packages/blob/master/mingw-w64-git/PKGBUILD#L187 From there the
On the other hand, neither the Documentation makefile nor the normal install procedure seem to call the contrib/subtree makefile, which installs the docs there. Does this need a
after the
|
That should not be necessary if you have |
Then I think the problem is, that
|
Whoa. Indeed. Bummer... I thought that I did not even install the documentation as part of the installation of the SDK... |
And indeed: I don't. Only the binaries are installed, the documentation is left as-is, so after installing a Git for Windows SDK, things should be ready to go... 😄 |
Add column.exe to the installed files
Thanks! |
But e.g. the wiki page for the portable installer recommends to run both |
column.exe will be available in the next git release: git-for-windows/build-extra#92
column.exe will be available in the next git release: git-for-windows/build-extra#92 Also convert tabs to spaces... Was mixed up to now :-/
Ouch. Would you terribly mind fixing that wiki page? |
No, no problem. I can also fix the makefile:
|
No, that would be incorrect. |
Ok, updated the wiki: https://github.com/git-for-windows/git/wiki/Making-a-portable-Git. That page could probably be renamed to "Making a git package (portable or with installer)", at least the only difference I found was that I had to call |
I refrained from doing that because I'd rather risk redundant information than to confuse users. Seeing as we target Windows users, and seeing as we use quite a bit of Unix-y workflows, it is confusing enough as it is. I hope you agree? |
BTW what I meant by "redundant information" is that we have the description how to make an installer in a different wiki page: https://github.com/git-for-windows/git/wiki/Making-an-installer |
Oh, i didn't find that page (probably because I just found the "Making a portable installer" as a last entry in the right side box). I will update that page as well... [Update: ok, just found your edit. Thanks! :-)] Regarding the split: this is actually a good point to merge the pages: only one place to add the info, not multiple places with duplicated instructions. But just correcting it there is probably easy enough. :-) An idea for merging both pages would be this: The process to build installer is made easy via the
Installing the SDKDownload the SDK and run it. You will end up with a console window running the You can open the As the installer is made by putting together files from the Git SDK, it is advisable to update those files first. To update the packages, call Hacking on gitIf you only want an installer of the latest version of git (master), then you can skip this step. The sources of git are checked out in Afterwards you need to install git to make it available to the installer build: If you made any documentation changes, you need to install the documentation too: Building an installerYou can build both a normal setup installer and a portable one. The installers are basically created by collecting files from the As a one time step, you need to prepare the extra files which contain the helper scripts: cd /usr/src/build-extra
git fetch
git checkout master The next step depends on whether you want a normal setup-based installer or a portable installer: To build a setup based one: ./installer/release.sh <version>-test where To build a portable installer, use: ./portable/release.sh <version>-test The last line of the log shows where the installer packages were created (usually in your user directory: See also: Updating the SDK |
BTW: as a python user who had to deal with building installer with native code and native external dependencies, I was pleasantly surprised how easy and painless the git build process was... |
Hmm. Your suggested merged page definitely has more information. On the other hand, it lacks the simplicity of the current two pages. Besides, I re-worked the way I build the installers and portable Gits myself, by introducing a higher-level script. My idea was to extend said script to perform common tasks, in the future including those that are typically performed by contributors. For example, a future revision of that script could add support to install the SDK and to build the installer in one go. Something like Another idea is to extend it to be able to test Pull Requests quickly: |
With my short experience here, I would have been happier if such a "overview" document like above (+ the overview how the Mingw/Msys packages have to be updated to get into the installer: didn't figure that out yet) would be linked from the "do you want to contribute" page. re I think it's more worth to document how all the bits fit together (that's why I included the overview and the background explanations above) so that someone newcomer has a guideline how to make something work... |
Regarding building PRs (and to come full circle): git-extras has a
|
In Git for Windows' context, it gets much more complicated, though. Imagine for example a PR to msys2-runtime. To build that PR,
I highly doubt that |
Oh, by all means, go wild on the wiki! Should I have ideas how to improve on your work, I will present them here. Deal?
Makes sense! |
No, it doesn't do that, only fetching and checking out a PR from github into the current git repo.
Ok, I will add my above versions (with links to the individual version, if necessary) to the wiki and try to get a link to that doc from the installer page. Looking at your comment about updating packages, it seems that would also be worthwhile to add to the wiki. |
Ok, I've created a "getting started" page: https://github.com/git-for-windows/git/wiki/Getting-started:-building-your-own-git-package. IMO it would be nice if that could be added to the https://git-for-windows.github.io/#contribute section: [pseudo diff] <p>The <i>Git for Windows SDK</i> is a build environment that includes all the tools necessary for developers who want to contribute by writing code for Git for Windows.
+ Please look at the
+ <a href="https://github.com/git-for-windows/git/wiki/Getting-started:-building-your-own-git-package>
+getting started documentation</a> to get an overview about the git for windows packaging
+and how to include your changes in your own installer packages.</p>
<a name="download-sdk" /><a class="button" href="https://github.com/git-for-windows/build-extra/releases/latest" target="_blank">Download <span class="gittext">Git for Windows SDK</span></a> Also another question: shouldn't the launch ssh agent page content be replaced by
At least my installer warned my that I have to kill |
I had to rename the page so I could check it out on NTFS (the file name contained a colon), and I added the link.
I think you're correct. |
column.exe will be available in the next git release: git-for-windows/build-extra#92 Also convert tabs to spaces... Was mixed up to now :-/
column.exe will be available in the next git release: git-for-windows/build-extra#92 Also convert tabs to spaces... Was mixed up to now :-/
column.exe is included for the benefit of https://github.com/tj/git-extras
which uses column.exe in git line-summary, git summary and git ignore-io.
It's a 25kb file with no additional dependencies (msys-intl-8.dll,
msys-iconv-2.dll and msys-2.0.dll are all included already). From the
util-linux package...
Closes: git-for-windows/git#586