๐ซ Tired of breaking your UI due to an inc ompatible extension? ๐ Seeking an efficient way to keep your WebUI1111 Extensions & ComfyUI Nodes updated with last min gits? ๐
Meet FFup - Your go-to solution! ๐ค ๐ฅ
FFup is an unofficial simple batch updater crafted to handle easaly the last working git hashes of the extensions. Not only does it streamline the update process, but it also prioritizes safety. Before making any changes, FFup diligently creates recovery snapshots, ensuring you always have a way back.
๐ Key Benefits:
- ๐ Smooth Updates: FFup keeps your bleeding edge dev system envirement up-to-date with the rapid evolution of nodes and extensions.
- ๐ก Safety First: Updates can sometimes cause hiccups. With FFup's recovery snapshots, you can easily roll back to a stable state in seconds.
- ๐ผ Developer-Friendly: Designed for development environments, FFup ensures you're always equipped with the latest tools without the risk of breaking your setup.
Note: Before updating, ensure the UI isn't actively using the folders. This guarantees a seamless git pull for each repository.
FFup
is a Python tool crafted for batch updating the extensions for AUTOMATIC1111 WebUI and the custom nodes for ComfyUI. But that's not all; it offers a safety net allowing you to easily revert to previous versions in case the new updates break your GUI.
Features:
- Batch Update: Check and pull updates for all the installed repositories in one go.
- Recovery Snapshots: Before any major action, FFup creates a few kb in size snapshot, ensuring you have a safety net.
- Easy Restoration: The devs made a mistake and crashed your UI? No problem! You can easily revert to a previous state using FFup option 2.
- Detailed Reports: Always stay informed. After every operation, FFup provides a detailed report, saved as
FFup-summary.txt
. - Quick Modes: For developers or those in a hurry, quick batch and bash scripts are available for swift updates without backups.
You don't necessarily have to perform a full installation to enjoy the power of FFup. Here's a hassle-free way to get started:
-
Position Yourself Right: Ensure you're in the base directory of the UI you're looking to update.
-
Grab the Code: Clone the FFup repository with:
git clone https://github.com/1e-2/FFup
-
Run & Update: Dive into the directory and choose your mode of operation:
-
For the comprehensive FFup experience with backup options:
python FFup.py
or use the provided batch/shell scripts for the full version:
./FFup.bat # On Windows ./FFup.sh # On Linux/Mac
-
For the speedsters who want a quick update (performing git pull on all extensions/nodes) without backups:
./FFquickUpdate.bat # On Windows
-
๐ Note: The quick update method is swift, but doesn't create backup snapshots. Use it if you're confident or if you're in a test environment.
You'll be able to easily install FFup
via pip:
pip install FFup
-
Navigate to Your Desired Base Directory: This should be where your main root directory of the UI reside.
-
"Unleash" FFup: By just typing FFup will launching the script, FFup jumps into action. It has an innate ability to detect which interface you're operating on - be it the
AUTOMATIC1111 WebUI Extensions
or theComfyUI Custom Nodes
.
cd R:\autoKOR\stable-diffusion-webui
FFup
cd R:\ComfyUI
FFup
If, for some reason, it feels lost (can't auto-detect the UI), don't fret! It'll politely ask you for the correct path.
Imagine having a personal assistant that keeps tabs on all your extensions or nodes. That's exactly what this option offers! FFup meticulously checks the current git hashes of your extensions/nodes and juxtaposes them with the latest available on their respective remote repositories.
You're then presented with a neat summary that provides insights into:
- Repositories raring to be updated.
- A comparison of the current commit vs. the newest kid on the block (latest commit).
But wait, there's more! If updates beckon, FFup ensures it doesn't take any step without your green signal. On receiving your thumbs up:
- It becomes your safety net by creating an auto-recovery snapshot, aptly named
FFup-recoveryLAST.txt
, solely for those extensions/nodes in the updating queue. - Riding on this safety cushion, it confidently updates the repositories.
- The cherry on top? Post the update action, it crafts a detailed summary report named
FFup-summary.txt
, showcasing the updates and any repositories that were already in their prime (up-to-date).
Think of this as your time machine! This option empowers you to manually snapshot the current state of all your extensions/nodes. In essence, you're capturing a moment in their timeline. These memories are preserved as FFup-recovery[timestamp].txt
.
Ever wished to turn back time? Here's your chance! If a need arises to revert to a cherished previous state:
- FFup showcases all the recovery snapshots you've accumulated over time.
- It's your turn to pick a memory.
- Upon selection, FFup painstakingly ensures each extension/node reverts to the exact git hash immortalized in that snapshot.
For those moments when you're contemplating your next move or want to bow out gracefully:
- Opt for
0
- and you'll be ushered back to the previous menu. - Choose
00
- and FFup will take a bow, exiting the stage (application).
FFup's quick update mode is designed specifically for developers who require a rapid update mechanism. This mode directly updates all repositories without creating any recovery snapshots.
Warning: Using the quick update mode comes with risks:
- ๐ซ No Recovery Snapshots: Unlike the standard mode, this mode does not create any recovery snapshots before updating. If a new update causes issues, there's no automated way to revert back.
โ ๏ธ Potential for Breakage: New extensions or updates might introduce incompatibilities or break the WebUI.
Given these risks, this mode is best suited for:
- Experienced users familiar with manual recovery.
- Environments where potential breakage is acceptable or expected.
For most users, it's recommended to use FFup's default mode which provides safety mechanisms like recovery snapshots.
Navigate to the desired directory and run:
FFup --fast
Remember, FFup's is about precision. Instead of bulky folder backups, FFup uses git hashes, ensuring recovery is quick to the previous hash that worked with your instalation, precise, and space-efficient. It's modern recovery for modern interfaces!
๐ซ Important Considerations:
-
๐ Seamless Pull โ Flawless Extension: While FFup ensures a seamless git pull for each repository, this doesn't guarantee that the latest version of an extension will work flawlessly. If a developer pushes a version with bugs or issues, you might encounter them.
-
โฎ Reverting: In cases where an update causes issues, you can effortlessly revert back to a previous, stable state using the snapshots created by FFup. Alternatively, you can wait for the extension developer to push a fix.
-
๐ก Liability: Please understand that while we aim to provide a tool that facilitates ease and safety, we cannot be held responsible for any unforeseen issues or conflicts that may arise from using FFup. The script is shared "as is" and is intended for edge-case development environments where users are testing the latest nodes and extensions.
-
๐ผ No Unintended Alterations: FFup respects the integrity of your setup. It doesn't modify, change, or interfere with your UI's virtual environment or any other environments. All updates are strictly performed using
git pull
on individual extensions, ensuring transparency and reliability.
Feel free to fork the repository, make changes, and open a pull request. All contributions are welcome!
๐ฅ to a ~seamless updating experience! ๐
P.S. This README was crafted with a dash of humor and a sprinkle of tech by... ๐ค. If you found any typos, blame the humans!
This project is licensed under the MIT License. See LICENSE for details.
- 1e-2 - GitHub
- idlebg - GitHub For any additional questions or comments, please open an issue.
And as always, keep updating and stay comfy!
The FFusion.ai project is proudly maintained by Source Code Bulgaria Ltd & Black Swan Technologies.
๐ง Reach us at [email protected] for any inquiries or support.
- ๐ GitHub
- ๐ Hugging Face
- ๐ก Civitai
๐ Security powered by Comodo.BG & Preasidium.CX
๐ Marketing by ะัะณัะป.com
๐ Sofia Istanbul London