Notes on Repo Updates #667
Replies: 4 comments 6 replies
-
I like your take, by far the safest in terms of people editing things going off of older ideas from the 1111 UI. Would suck to keep git pulling as told, only to never realize a certain file isn't updating and causing all these sorts of problems. If people are willy nilly changing things, then they should be ready to at least do some research; provided that information like this is added to the main page, as I myself wasn't aware this was how things were working, though I'm fine since I don't really touch much of anything, and am versed with basics like .gitignore's functionality. So yeah I say keep it like this, and keep this information available on the front page and/or the wiki (so people giving advice for people's problems, can also refer to others to this bit of information). |
Beta Was this translation helpful? Give feedback.
-
It is hard to decide for everyone if there should be a single behavior. Ideally we would let you choose on first install to select an update method, or with a launch.py parameter. Such as "Update with reset? Y/N" and |
Beta Was this translation helpful? Give feedback.
-
and you'd end up at the start line as most users won't know what they're answering without printing half a page of explaination. i'm all for giving user options - if we have answers when something bad happens. interactive prompt is not an option as most users use this via shortcuts. |
Beta Was this translation helpful? Give feedback.
-
Initially I was jumping back and forth between this fork and main a111, switching venv's etc. I haven't jumped back in over a week however. You are a machine man, a machine who has shown a great deal of patience with the masses flocking here. I have to thank you for your choice of methodology, when I was updating on the main branch, my UI was constantly being altered and it was pretty triggering. Over here, it happens rarely, usually the result of a feature being moved around, which is fine in my book. Once, twice, things broke but this is too be expected and isn't much different from my OS :P I vote leave as is, each person can add files to .gitignore as they make modifications or changes. If they are confident enough to make those changes, they should be able to add the file to the .gitignore list. I guess only issues arise if core functionality is being modified but if that's the case they should have their own fork as it is no? I'm on board with whatever though 💯 |
Beta Was this translation helpful? Give feedback.
-
This is to document current update process as well as to solicit feedback
if you'd like it changed, I'm open to it, but please read through notes first
When updating any github repo, there are two possible way:
git pull
git pull --autostash --rebase
If you do
webui --upgrade
, it performs couple of checks, but at the end its pull with rebase.If you want to do a manual
git pull
that is totally fine, then you don't need to use--upgrade
flag at all.Any file marked for exclusion in
.gitignore
work the same for both ways.So if something is listed there, it wont be touched by update.
This includes all models, configuration files, user installed extensions, etc.
Behavior of
git pull
:Behavior of
git pull
with rebase:Why did I choose pull with rebase as default?
For example, even something as simple as editing
webui.bat
instead of creatingwebui-user.bat
(which is on ignore list)would cause pull to fail
Advanced users can always run manual git operations, so this improves general quality-of-life for normal users
I've already seen large number of users opening issues with "my git pull failed" and I don't want to end up with thousands of ignored issues simply because user is not aware of how git works (nor he should be)
For example, several extensions basically copy their code from
/extensions
to/scripts
which is a folder for core scripts only and should never be touched by a script.I've already seen several such extensions. And since they modify files in core repo, they cannot even be uninstalled.
Deleting them from
/extensions
doesn't help as they've already performed modifications.Running pull with rebase ensures that repo is always returned to known good state
But...There are bad sides to this as well:
So....What is the desired behavior?
Beta Was this translation helpful? Give feedback.
All reactions