Skip to content

git: set reasonable default features#207831

Merged
andir merged 1 commit intoNixOS:stagingfrom
andir:sane-git-defaults
Dec 27, 2022
Merged

git: set reasonable default features#207831
andir merged 1 commit intoNixOS:stagingfrom
andir:sane-git-defaults

Conversation

@andir
Copy link
Member

@andir andir commented Dec 26, 2022

Description of changes

Git should come with a reasonable set of baseline features. Arguable git-send-email is one of them. Development flows, such as those of Linux, depend on the tool being available.

The difference in closure size between this and the previous version is is negligible. There are no additional build-time dependencies pulled in and the runtime closure difference is about 1%.

Estimating rebuild amount by counting changed Hydra jobs (parallel=unset).
    470 x86_64-darwin
    493 x86_64-linux
Things done
  • Built on platform(s)
    • x86_64-linux

@andir andir requested a review from mweinelt December 26, 2022 13:31
Copy link
Member

@mweinelt mweinelt left a comment

Choose a reason for hiding this comment

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

Allowing the send-email workflow in the default package seems very reasonable to me. I don't understand why it was disabled in the first place.

@andir andir force-pushed the sane-git-defaults branch from 027ff16 to 36fa1f1 Compare December 26, 2022 13:46
@ofborg ofborg bot requested review from globin, primeos and wmertens December 26, 2022 13:57
@ofborg ofborg bot added 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. labels Dec 26, 2022
@bjornfor
Copy link
Contributor

Mass rebuild -> target staging branch.

Git should come with a reasonable set of baseline features. Arguable
git-send-email is one of them. Development flows, such as those of
Linux, depend on the tool being available.

The difference in closure size between this and the previous version
is is negligible. There are no additional build-time dependencies
pulled in and the runtime closure difference is about 1%.
@andir andir changed the base branch from master to staging December 26, 2022 17:25
@andir andir force-pushed the sane-git-defaults branch from 36fa1f1 to 37a44b4 Compare December 26, 2022 17:25
@andir
Copy link
Member Author

andir commented Dec 26, 2022

Mass rebuild -> target staging branch.

That is surprising in multiple ways.

I did run the old maintainers script that supposedly checks rebuild amounts. It didn't look too bad.

Apparently fetchgit is using this "fuller" featured git executable instead of a minimal variant that doesn't ship things like git-send-email. There I'd fully agree that it is not needed and shouldn't be required. Maybe worth some follow-up work...

@andir
Copy link
Member Author

andir commented Dec 26, 2022

Actually, this change is a no-op for gitMinimal which is used as git in fetchgit. Probably some other packages are picking a fully featured git for no good reason? I'll dive deeper but this shouldn't block this PR.

@ajs124
Copy link
Member

ajs124 commented Dec 26, 2022

Probably some other packages are picking a fully featured git for no good reason

#206195 might be related

@Mindavi
Copy link
Contributor

Mindavi commented Dec 27, 2022

LGTM, cross-compiled git won't enable send-email but that's fine. Otherwise it wasn't building properly anyway :)

@andir andir merged commit a22b816 into NixOS:staging Dec 27, 2022
@andir andir deleted the sane-git-defaults branch December 27, 2022 14:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

Comments