在我的大型机 USS 文件夹上克隆 Git 存储库时出错

Posted

技术标签:

【中文标题】在我的大型机 USS 文件夹上克隆 Git 存储库时出错【英文标题】:Error Cloning a Git repository on my mainframe USS folder 【发布时间】:2019-12-24 23:48:57 【问题描述】:

我们的大型机上安装了 Rocket Git 端口(Z/OS 的 Git 2.14.4),我的大型机 USS 文件夹中有一个 git 存储库。我正在尝试将其克隆到我的 Windows 工作站。

我在本地 git bash 中给出了以下命令

git clone usrid@host-url:/u/usrid/mainfolder/repo.git/

这最初会提示输入我的主机密码。一旦提供,它会继续克隆,但最终会出现以下错误。看起来我缺少某种环境变量。我将不胜感激。

git-upload-pack: FSUM7351 not found fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists

【问题讨论】:

@Hogstrom , @phd 让我删除我原来的问题并重新发布并邀请您回答。请发表您的回复,我会接受。 【参考方案1】:

鉴于您在 z/OS 上运行,Rocket Git 客户端根据 Rocket 的 documentation 存在限制。注意:您需要注册才能访问下载(它是免费的,但仍然需要注册)。我在他们的网站上包含了安装 PDF 中的 sn-p。

限制

Git 使用的某些文件必须编码并标记为 ISO8859-1。这些 包括: Git 属性文件,无论是在 .git/info/attributes 还是 .gitattributes 中 .gitignore 文件 唯一支持的远程协议是 ssh 和 https。 仅支持客户端模式;换句话说,Git for z/OS 可以通过 ssh 或 https 从远程存储库克隆和推送到远程存储库,但不能成为从其他客户端克隆和推送的目标。 git 编码支持的唯一编码是 ISO8859-1 和 UTF-8。完全支持 zos-working-tree-encoding 的唯一编码是 ISO8859-1、IBM-1047 和 UTF-8。

目前,z/OS 的 Git 客户端不支持将 z/OS 作为客户端的目标。

【讨论】:

【参考方案2】:

如果您在命令中指定 git-upload-pack 在 OMVS 上的位置(它位于您的 git bin 目录中),方法是在 remote 上使用 -u--upload-pack <path>git-upload-pack 的路径,您可以覆盖 @ 987654326@ 限制并使用ZOS 作为 git 服务器。

但随后您将处于官方不支持的模式。

【讨论】:

以上是关于在我的大型机 USS 文件夹上克隆 Git 存储库时出错的主要内容,如果未能解决你的问题,请参考以下文章

使用 Git 管理包含超过 80k 文件的大型存储库

如何使用 GitLab 克隆 git 存储库

我可以使用密码保护GIT存储库吗?

你在哪里克隆Python模块git存储库?

Git 克隆到 Google Drive (googledrivesync)

通过 SSH 创建 Git 存储库并将其克隆到本地