远程服务器上的Git预缓冲对象?git ls公司

2024-09-27 21:32:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Atlassian git存储服务器。在

我希望编写一个脚本,将java代码格式化程序作为预接收钩子运行(在它将更改推送到存储库之前)。在

所以,我要做的是不是在存储服务器本身上执行工作,而是在另一个服务器上执行工作,并将状态(0或1)发送回存储服务器。在

我用Python编写了这个脚本,其中它调用远程服务器上的cgi(Python)脚本,并使用“ref oldrev newrev”作为httpget方法。在远程服务器上获得STDIN值(ref oldrev newrev)后,我创建了一个dir、git init、git remote add origin URL和git fetch(我甚至尝试过git pull)来获取存储库的最新内容/对象,以期获取尚未推送到存储库但处于预推阶段环境中的对象。在

预推阶段中对象的哈希或SHA键或“newrev”键:36ac63fe7b15049c132c310e1ee153e044b236b7

现在,当我运行'git ls tree 36ac63fe7b15049c132c310e1ee153e044b236b7时测试.java'在我上面创建的目录中,它给了我错误。在

'致命:不是树对象'

现在,我的问题是:

如何在远程服务器上获取该对象?在

我运行的git命令会在那个阶段给我这个对象什么呢?在

还有别的办法吗?在

这对我上面的要求有意义吗。如果我不清楚请告诉我,我会尽量把事情弄清楚。在

非常感谢您的任何/所有帮助?在


Tags: 对象代码git程序服务器脚本ref远程
1条回答
网友
1楼 · 发布于 2024-09-27 21:32:30

java code formatter as a pre-receive hook

别这么做。您试图在开发人员的背后运行git filter-branch的等效程序。别这么做。在

Is there any other way of doing this?

如果要以特定方式格式化入站代码,请验证入站文件。如果有没有做对,列出他们和拒绝推。在

How to get that object on a remote server?

不能获取任意对象,只能通过ref(分支或标记)名称获取。pre-receive钩子在更新任何引用之前运行,因此没有ref命名入站提交。在

相关问题 更多 >

    热门问题