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

时间:2013-10-09 22:42:43

标签: git githooks bitbucket-server

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

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

如果有人对通过Stash-hook挂钩实现这一点有任何建议,我会很感激。当然也不反对通过其他方式完成。

谢谢

1 个答案:

答案 0 :(得分:0)

在文章中,Tim提到了一个事件,这正是你想要的。它本身不是一个钩子,但只要合并了一个pull请求就会调用它。另外,如果您编写一个普通的Repository hook,将会为调用推送和合并事件。

正如您所说 - Stash只有裸存储库。要在给定的提交中获取存储库的内容,您需要克隆裸存储库,或使用Git命令列出所有文件并逐个复制它们。我们有一个Git API可以用来克隆。您可能会发现我们的一些example plugins对于获得所需内容的idea非常有用。您将需要Atlassian SDK来编译/构建/运行任何示例插件,以及您自己的插件。

最后,我一般建议在Answers提问; Atlassian和插件开发人员将比SO更关注。

祝你好运, 查尔斯