如何在存储合并后从存储存储库复制文件



我读到根据本文,Atlassian Stash 中没有可用的合并后钩子。 我的裸 Stash 存储库位于文档树之外,我希望它在 Stash 中完成合并后将工作目录复制到文档根目录中的目录中。 我知道裸存储库没有工作目录,但我看到一个 git 命令,它在裸存储库上使用 --work-tree 和 --git-dir 将文件签出到另一个目录中。 看这里 - 在 11:43 暂停

引用的文章还提到了有关 Stash SDK 的一些内容,但我不知道这是否允许我从裸存储库中提取工作目录。 这似乎是 Git 需要处理的事情。

如果有人对通过 Stash-available 钩子完成此操作有任何建议,我将不胜感激。 当然也不反对通过其他方式完成。

谢谢

在链接的文章中,蒂姆提到了一个事件,这正是你想要的。它本身不是一个钩子,但每当合并拉取请求时都会调用它。此外,如果您编写一个普通的存储库钩子,该钩子将为推送和合并事件调用。

正如你逃避的那样 - Stash 只有裸露的存储库。要在给定提交时获取存储库的内容,您需要克隆裸存储库,或使用 Git 命令列出所有文件并逐个复制它们。我们有一个可用于克隆的 Git API。您可能会发现我们的一些示例插件有助于了解所需的内容。您将需要 Atlassian SDK 来编译/构建/运行任何示例插件以及您自己的插件。

最后,我通常建议在 Answers 上提问;Atlassian 和插件开发人员会比 SO 更关注。

祝你好运查尔斯

最新更新