检出插件的特定版本?

Is there a way, inside of app.yml, to make rebuild checkout a specific version of a plugin?

I’m working on an older branch than master. When I ./launcher rebuild app it pulls the latest version of a plugin that I don’t control. The latest version of that plugin isn’t compatible with the older version of discourse. This causes the build to fail in my test environment.

Ideally, I’m thinking something like the following in app.yml with the other plugins:

- git clone https:/github.com/path/to/plugin.git?commit=ec64234359282

I’m open to alternative solutions. Just need discourse to build with that version of the plugin.

You can use standard git options for that, like the -b flag.

3 个赞

Unfortunately, the plugin doesn’t provide a named branch for the version I’m after. I’m trying to pull a specific revision (commit hash) from master. It doesn’t appear that -b works with commit hashes.

From the command line, I can git clone then git checkout to get what I need. Is there a ways to do that in app.yml?

Okay, @Falco 's solution worked, but I had to go about it in a round about way.

  1. I forked the original repo
  2. Cloned it locally on my dev machine
  3. Created my branch from the desired commit
    • git branch foo ec64ae8
  4. Pushed that branch to my github
    • git push -u origin foo
  5. Updated my app.yml with
    • git clone -b foo git@github.com:my-repo.git

Seems like there should be an easier way, but this gets the job done. Thanks for the direction @Falco !

4 个赞

是的,我正在测试新的插件,特别是聊天插件,并注意到它似乎在我的网站上损坏了,我想知道如何回滚到以前安装的版本,甚至手动输入我想要的提交版本。

我想象着在未来的升级仪表板中可以看到这个功能,就像升级的“撤销”按钮一样,但现在,我希望至少有一种比你目前为解决此问题所做的更粗暴的方法。

1 个赞