Skip to content

[User Build V2] GRUB – Action required: declare .gitattributes for GRUB scripts (Which encoding for USS?) #644

Description

@FALLAI-Denis

Development environment used

  • Z Open Editor version: 6.7.1
  • Editor Platform
    • Visual Studio Code
    • Red Hat OpenShift Dev Spaces
    • Eclipse Che
  • Editor Platform Version: 1.137.0
  • Operating System: Windows 11
  • Java Version: JRE V11
  • Related to RSE API?
    • RSE API Plugin version:
    • Zowe CLI version:
    • Node.js version:
  • Logs attached: no

Problem Description

Using GRUB functions in IBM User Build V2 causes a local .zopeneditor folder to be created and populated with GRUB scripts.
These scripts are pushed to the remote repository copy during a gitPush (which apparently does not respect the local repository's .gitignore settings—fortunately for us, as we have folders listed in .gitignore that are required for the User Build).

Image

Without modifying the .gitattributes file for GRUB scripts, (which is not explicitly stated in the documentation), these scripts are not identified by a .gitattributes declaration; consequently, they do not receive an encoding compatible with remote USS storage. After transfer, they appear as "modified" (we have previously encountered this issue with files declared as UTF-8 that were actually encoded in Windows-1252).

Image

In our case, the GRUB scripts were converted from UTF-8 to IBM-1147 EBCDIC, our default encoding on z/OS...

Image

The Client GRUB scripts contain characters that cannot be converted to EBCDIC:

Image Image Image Image Image Image

This blocks subsequent User Builds with an error message.

Image

Initial .gitattributes file:

# Les fichiers sont gérés et édités en UTF-8 ; sur z/OS, sauf contre indication, ils sont encodés en EBCDIC IBM-1147
*          text        working-tree-encoding=utf-8     zos-working-tree-encoding=ibm-1147
*.c                                                    zos-working-tree-encoding=ibm-1047
*.cpp                                                  zos-working-tree-encoding=ibm-1047
*.groovy                                               zos-working-tree-encoding=ibm-1047
*.h                                                    zos-working-tree-encoding=ibm-1047
*.i                                                    zos-working-tree-encoding=ibm-1047
*.java                                                 zos-working-tree-encoding=ibm-1047
*.json                                                 zos-working-tree-encoding=utf-8
*.md                                                   zos-working-tree-encoding=utf-8
*.properties                                           zos-working-tree-encoding=ibm-1047
*.sh                                                   zos-working-tree-encoding=ibm-1047

# Les fichiers de configuration Zowe en utf-8 et eol=lf
zowe.*          eol=lf working-tree-encoding=utf-8     zos-working-tree-encoding=utf-8

# Les fichiers de gestion Git sont gérés en ISO-8859-1 partout
.git/                  working-tree-encoding=iso8859-1 zos-working-tree-encoding=iso8859-1
*.gitattributes eol=lf working-tree-encoding=iso8859-1 zos-working-tree-encoding=iso8859-1
*.zosattributes eol=lf working-tree-encoding=iso8859-1 zos-working-tree-encoding=iso8859-1
*.gitignore     eol=lf working-tree-encoding=iso8859-1 zos-working-tree-encoding=iso8859-1

# Types Endevor binaires
*.load      binary
*.dbrm      binary
*.objet     binary
*.objetc    binary

# Fichiers compressés
*.7z       binary
*.gz       binary
*.rar      binary
*.tar      binary
*.tgz      binary
*.zip      binary

# Fichiers bureautique
*.ppt*     binary
*.doc*     binary
*.xls*     binary
*.pdf      binary

# Images
*.png      binary
*.gif      binary
*.jpg      binary
*.jpeg     binary
*.bmp      binary
*.ico      binary

We add this:

# Les scripts GRUB doivent rester utf-8
.zopenditor/    eol=lf working-tree-encoding=utf-8     zos-working-tree-encoding=utf-8

Observed behavior

2026-09-13T11:00:37.896Z: CRRZG5622I Task 2 of 5: upload
2026-09-13T11:00:37.896Z: CRRZG5656I Running local command: .zopeneditor/grub_client gitPush --verbose --hostname userid@hostname.acme.com --remoteWorkspace /u/J070188/DBB
2026-09-13T11:00:38.075Z: === gitPush: Push Changes via Git (SSH) ===
2026-09-13T11:00:38.125Z: Repository: ceab3-environn-outinfr-central
2026-09-13T11:00:38.203Z: Branch: feature/T00001-L188-J070188
2026-09-13T11:00:39.055Z: Ensuring remote repository configuration...
2026-09-13T11:00:39.848Z: Detecting Git installation path on remote...
2026-09-13T11:00:40.638Z: Git found at: /global/SYS9/OEF/bin
2026-09-13T11:00:40.714Z: Creating temporary commit...
2026-09-13T11:00:41.005Z: Windows detected: Using SSH wrapper for git-receive-pack PATH fix
2026-09-13T11:00:41.043Z: Pushing changes to remote...
2026-09-13T11:00:41.586Z: ** WARNING: connection is not using a post-quantum key exchange algorithm.
2026-09-13T11:00:41.587Z: ** This session may be vulnerable to "store now, decrypt later" attacks.
2026-09-13T11:00:41.587Z: ** The server may need to be upgraded. See https://openssh.com/pq.html
2026-09-13T11:00:42.670Z: To hostname.acme.com:/u/J070188/DBB/ceab3-environn-outinfr-central
2026-09-13T11:00:42.671Z:  ! [remote rejected] feature/T00001-L188-J070188 -> feature/T00001-L188-J070188 (Working directory has unstaged changes)
2026-09-13T11:00:42.671Z: error: failed to push some refs to 'gmvs.zos.intranet.bpce.fr:/u/J070188/DBB/ceab3-environn-outinfr-central'
2026-09-13T11:00:42.679Z: Resetting temporary commit due to push failure...
2026-09-13T11:00:42.795Z: Error: Git push failed
2026-09-13T11:00:42.799Z: CRRZG5606E BashExecutor: "c:\Dev\git\ceab3-environn-outinfr-central\.zopeneditor\grub_client" failed with exit code 1.
2026-09-13T11:00:42.800Z: CRRZG5625E Task 'upload' failed: CRRZG5606E BashExecutor: "c:\Dev\git\ceab3-environn-outinfr-central\.zopeneditor\grub_client" failed with exit code 1.

Expected behavior

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions