首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在rhodecode扩展中获取汞变化集的文件

如何在rhodecode扩展中获取汞变化集的文件
EN

Stack Overflow用户
提问于 2021-01-24 02:19:57
回答 1查看 36关注 0票数 1

我为rhodecode启用了rcextensions扩展,并复制了示例钩子,该示例允许验证文件大小,例如,如果文件大于给定大小,则拒绝它们。

我发现钩子不起作用:它允许所有文件,无论大小如何,经过一番挖掘后,我发现相关辅助函数缺少了mercurial的实现:

代码语言:javascript
复制
def get_hg_files(repo, vcs_repo, refs):
    files = []
    return files

有人能建议如何实现这个函数,以获取新变更集中文件的信息吗?

我尝试过调整等效的git函数,注意到mercurial存储库对象包括一个更方便的get_diff方法。但我无法成功地获得相关的提交为回购,我想,因为他们还没有添加到回购。

代码语言:javascript
复制
def get_hg_files(repo, vcs_repo, refs):
    files = []


    for data in refs:

        old_rev = data['old_rev']
        new_rev = data['new_rev']

        # These fail, as the commit is not found
        old_commit = vcs_repo.get_commit(old_rev)
        new_commit = vcs_repo.get_commit(new_rev)

        vcs_diff = vcs_repo.get_diff(old_commit, new_commit)
        diff_processor = diffs.DiffProcessor(vcs_diff, format='newdiff')
        files = _parsed = diff_processor.prepare()

    return files

我意识到,我可以用一个纯汞钩作为替代,但我感兴趣的是在这里使用罗德克钩子。

EN

回答 1

Stack Overflow用户

发布于 2021-01-25 09:15:04

这是Mercurial的一个问题,在of扩展中,由于查看数据的对象仅位于Mercurial的内部钩子中,因此无法在of扩展内“优先”看到数据。我们仍在调查这一问题,但似乎需要将逻辑转移到钩子本身。对于SVN和GIT,这很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65866589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档