我在某些“登录服务器”上运行带有最新 git-lfs 的 git 2.92,该服务器安装了较旧的 Redhat(2.6.32-504.8.1.el6.x86_64 #1 SMP Fri Dec 19 12:09:25 EST 2014 x86_64 x86_64 x86_64 GNU/Linux)
我们最近将我们的存储库从 SVN 移到了 GIT,其中包括很多现在位于二进制存储库中的文件。
当我在本地 Ubuntu 上进行检出并设置 git-lfs 时,一切都运行良好。
但是当我在远程服务器上运行相同的过程时,实际的签出会询问我两次密码 - 针对 git-lfs 负责的每个文件。
我补充道
git config credential.helper 'cache --timeout=3600'
到存储库配置;但没有变化。
有人知道吗?
答案1
这不是一个解决方案,而是一个变通方法——一个简单循环并“期望”密码请求...并提供它们;直到 EOF 的 Python 脚本。
#!/usr/bin/env python3
import pexpect
import sys
def main():
command = input("Enter the command to invoke: ")
password = input("Enter the password to send: ")
child = pexpect.spawn(command)
counter = 0
while True:
try:
expectAndSendPassword(child, password)
counter = logAndIncreaseCounter(counter)
except pexpect.EOF:
print("Received EOF - exiting now!")
sys.exit(0)
def expectAndSendPassword(child, password):
child.expect("Password .*")
child.sendline(password)
def logAndIncreaseCounter(counter):
print("Sent password ... count: {}".format(counter))
return counter + 1
main()
如果有人发现这有帮助,请随意点赞 ;-)