diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-04-29 14:22:24 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-29 14:22:24 +0000 |
commit | 78d0ee3bbaa2b48b7918e8088ad91c34f1ff2f1e (patch) | |
tree | ef6f32229611cab72bc1cfe088e2c60a70dbf41a /modules/ui_extensions.py | |
parent | 3ccf6f5ae8e57233200f9cac52da8d5d88ecee93 (diff) | |
parent | c018eefe9173ae8f3669340479569dda78643a8a (diff) | |
download | stable-diffusion-webui-gfx803-78d0ee3bbaa2b48b7918e8088ad91c34f1ff2f1e.tar.gz stable-diffusion-webui-gfx803-78d0ee3bbaa2b48b7918e8088ad91c34f1ff2f1e.tar.bz2 stable-diffusion-webui-gfx803-78d0ee3bbaa2b48b7918e8088ad91c34f1ff2f1e.zip |
Merge branch 'dev' into extension-settings-backup
Diffstat (limited to 'modules/ui_extensions.py')
-rw-r--r-- | modules/ui_extensions.py | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/modules/ui_extensions.py b/modules/ui_extensions.py index af9e92cc..79ff2389 100644 --- a/modules/ui_extensions.py +++ b/modules/ui_extensions.py @@ -316,7 +316,7 @@ def normalize_git_url(url): return url
-def install_extension_from_url(dirname, url):
+def install_extension_from_url(dirname, url, branch_name=None):
check_access()
assert url, 'No URL specified'
@@ -337,10 +337,17 @@ def install_extension_from_url(dirname, url): try:
shutil.rmtree(tmpdir, True)
- with git.Repo.clone_from(url, tmpdir) as repo:
- repo.remote().fetch()
- for submodule in repo.submodules:
- submodule.update()
+ if not branch_name:
+ # if no branch is specified, use the default branch
+ with git.Repo.clone_from(url, tmpdir) as repo:
+ repo.remote().fetch()
+ for submodule in repo.submodules:
+ submodule.update()
+ else:
+ with git.Repo.clone_from(url, tmpdir, branch=branch_name) as repo:
+ repo.remote().fetch()
+ for submodule in repo.submodules:
+ submodule.update()
try:
os.rename(tmpdir, target_dir)
except OSError as err:
@@ -565,13 +572,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="Specific branch name", placeholder="Leave empty for default main 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_url, install_branch],
outputs=[extensions_table, install_result],
)
|