Skip to content
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

git-extra: link executables as terminal server aware #429

Merged
merged 1 commit into from
Jul 27, 2022

Conversation

rimrul
Copy link
Member

@rimrul rimrul commented Jul 10, 2022

With Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

This partially addresses git-for-windows/git#3935

@dscho
Copy link
Member

dscho commented Jul 10, 2022

Hmm. Seems as if there is a new problem: apparently WhoUses.o is not being built, but it is needed for WhoUses.exe. @rimrul would you happen to have time to investigate? It would help me a lot.

Copy link
Member

@dscho dscho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apart from the build failure, the change looks good to me, but I haven't really completely wrapped my head around the implications of that tsaware flag yet.

@rimrul
Copy link
Member Author

rimrul commented Jul 11, 2022

would you happen to have time to investigate? It would help me a lot.

I'll take a look.

Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

This partially addresses git-for-windows/git#3935

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
@rimrul
Copy link
Member Author

rimrul commented Jul 11, 2022

Ok, I've got it to build again. I had messed up some of the makefile syntax.

@dscho dscho merged commit 3b355f4 into git-for-windows:main Jul 27, 2022
dscho added a commit that referenced this pull request Jul 27, 2022
Git's executables are
[now](#429)
marked [Terminal
Server-aware](git-for-windows/git#3942),
meaning: Git will be slightly faster when being run using Remote
Desktop Services.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
@dscho
Copy link
Member

dscho commented Jul 27, 2022

The updated git-extra package is being built as we speak.

@dscho
Copy link
Member

dscho commented Jul 27, 2022

The updated git-extra package is being built as we speak.

The build was successful. Before I synchronize git-sdk-32/git-sdk-64, I want to finalize the Perl upgrade to v5.36.

@dscho
Copy link
Member

dscho commented Jul 27, 2022

The newest snapshot has these changes.

@rimrul rimrul deleted the git-extra-tsaware branch July 27, 2022 21:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants