aboutsummaryrefslogtreecommitdiffstats
path: root/modules/ui_extensions.py
diff options
context:
space:
mode:
authoryike5460 <yike5460@163.com>2023-04-09 14:22:43 +0000
committeryike5460 <yike5460@163.com>2023-04-09 14:22:43 +0000
commit1aba8d82cbb816a755d012c5c729d8bafeb1b8ed (patch)
treeb1222361a18afa0ae560682b97b656d54000b25d /modules/ui_extensions.py
parent22bcc7be428c94e9408f589966c2040187245d81 (diff)
downloadstable-diffusion-webui-gfx803-1aba8d82cbb816a755d012c5c729d8bafeb1b8ed.tar.gz
stable-diffusion-webui-gfx803-1aba8d82cbb816a755d012c5c729d8bafeb1b8ed.tar.bz2
stable-diffusion-webui-gfx803-1aba8d82cbb816a755d012c5c729d8bafeb1b8ed.zip
feat: add branch support for extension installation
Diffstat (limited to 'modules/ui_extensions.py')
-rw-r--r--modules/ui_extensions.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/modules/ui_extensions.py b/modules/ui_extensions.py
index efd6cda2..d9487f83 100644
--- a/modules/ui_extensions.py
+++ b/modules/ui_extensions.py
@@ -129,7 +129,7 @@ def normalize_git_url(url):
return url
-def install_extension_from_url(dirname, url):
+def install_extension_from_url(dirname, branch_name, url):
check_access()
assert url, 'No URL specified'
@@ -150,7 +150,7 @@ def install_extension_from_url(dirname, url):
try:
shutil.rmtree(tmpdir, True)
- with git.Repo.clone_from(url, tmpdir) as repo:
+ with git.Repo.clone_from(url, tmpdir, branch=branch_name if branch_name else '') as repo:
repo.remote().fetch()
for submodule in repo.submodules:
submodule.update()
@@ -376,13 +376,14 @@ def create_ui():
with gr.TabItem("Install from URL"):
install_url = gr.Text(label="URL for extension's git repository")
+ install_branch = gr.Text(label="Branch name for extension's git repository", placeholder="Leave empty for default branch")
install_dirname = gr.Text(label="Local directory name", placeholder="Leave empty for auto")
install_button = gr.Button(value="Install", variant="primary")
install_result = gr.HTML(elem_id="extension_install_result")
install_button.click(
fn=modules.ui.wrap_gradio_call(install_extension_from_url, extra_outputs=[gr.update()]),
- inputs=[install_dirname, install_url],
+ inputs=[install_dirname, install_branch, install_url],
outputs=[extensions_table, install_result],
)