Migration considerations

Compatibility with existing remote repositories that rely on working-tree-encoding extensions

If you are using Git provided by another vendor, and that vendor supports the extensions for zos-working-tree-encoding, working-tree-encoding in the .gitattributes, then that is compatible with Open Enterprise Foundation's Git. Before you integrate Open Enterprise Foundation into production, we recommend that you validate your scenario.

Compatibility with existing local repositories

Existing repositories cloned by Git provided by other vendors are compatible with Open Enterprise Foundation's Git as long as the local repository's .git directory is readable and not corrupted. Git maintains compatibility by maintaining the version information for backwards compatibility. For more details, visit https://www.git-scm.com/.

You will be able to continue to manage your existing Git repositories with Open Enterprise Foundation's Git.

Migrating from a Git that supports untagged files

If you are using Git from a different vendor, then that version of Git may support managing untagged files in a Git repository.

To confirm if you have untagged files, use the ls -lRT | grep untagged command.

Untagged files are not supported in Open Enterprise Foundation's Git.

Instead, we recommend that you tag your files either manually using the chtag command, documented here or by leveraging tagfile from the zopen community.

Migrating from a Git that tags files as ISO8859-1 by default

If you are using _BPXK_AUTOCVT=ON and rely on the file tag ISO8859-1 to represent all UTF-8 encoded files, then you will need to change the default Git behavior.

The default tag for UTF-8 encoded files is UTF-8 (or CCSID 1208).

To adjust the default tag to be ISO8859-1 or ASCII, you can configure the Git setting core.utf8ccsid to 819 by using the following commands.

  • git config --global core.utf8ccsid 819: Global setting, 819 represents the CCSID for the UTF8 file tag
  • git config core.utf8ccsid 819: Local settings affecting the current repository

Alternatively, you can set the GIT_UTF8_CCSID environment variable.

  • export GIT_UTF8_CCSID=819: Environment variable

The environment variable takes precedence over the git config setting.