Skip to content

Conversation

@bk2204
Copy link
Member

@bk2204 bk2204 commented Jul 12, 2021

On most Unix systems, the stat constants (S_IFMT and friends) that Git uses are the same: that is, the system values are the same ones that Git uses. However, on zOS, this isn't the case, and the system constants are different.

Let's add a set of our constants that are used by Git to determine the type of an object that will be right on all platforms instead of using the system constants. Note that the tests already cover this case; they'll just now pass on additional systems.

Fixes #24

On most Unix systems, the stat constants (S_IFMT and friends) that Git
uses are the same: that is, the system values are the same ones that Git
uses.  However, on zOS, this isn't the case, and the system constants
are different.

Let's add a set of our constants that are used by Git to determine the
type of an object that will be right on all platforms instead of using
the system constants.  Note that the tests already cover this case;
they'll just now pass on additional systems.
@bk2204 bk2204 requested a review from a team July 12, 2021 12:26
Copy link
Member

@chrisd8088 chrisd8088 left a comment

Choose a reason for hiding this comment

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

Seems sane and helpful, thanks!

@bk2204 bk2204 merged commit 57c3fe4 into git-lfs:main Jul 12, 2021
@bk2204 bk2204 deleted the zos-ifmt branch July 12, 2021 17:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Filemode data type does not support operating systems with 32bit S_IFMT

2 participants