-
-
Notifications
You must be signed in to change notification settings - Fork 223
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
!!! TASK: Throw exceptions in unnecessary rebase and publish cases #5337
base: 9.0
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're a workhorse, thanks for taking care.
+1 by reading
It was @kitsunet work i downloaded the patch as i thought it would go to waste :D |
you are both work horses 🐴 🐴 |
...ContentRepository.Core/Classes/Feature/WorkspacePublication/Exception/NoChangesException.php
Outdated
Show resolved
Hide resolved
8848678
to
8117aeb
Compare
Okay well its not thaaaat easy ... Following case have to be thought out:
|
I think we could/should prevent this in the command?! If we want to throw we can decide further up front (aka UI).
IMHO that is a fair possibility that can happen with race conditions on shared workspaces for example, so I would handle it gracefully and accept this as no-op. BUT given next point I probably opt for exception and graceful handling further up the chain.
Yeah this is the tricky case compared to the above, IF you had a race condition and send identifiers to a partial publish that are no longer changed this is similar to starting a full publish if there are no pending changes (anymore).
Same as above I guess. If we start to throw.
Probably again same as above. For all of this though we should make sure there is a way out even for unexpected situations. Which could e.g. be the rebase or discard even if things look unchanged. |
Todo rebase on #5385 As the $nodeIdsToPublish is rather to be seen as filter than as expectation - imagine you enter a non-existing node aggregate id - id say that its okay if this is then a noop? one cannot be mad if a filter doesnt match anything? Also what if one of the nodes in the filter is unmatched but there is one node found to be published? If we throw it would only be consistent to make it required that all node ids specified MUST translate to a change. That is somehow not really the behaviour a filter is made for. Thought especially throwing would at least give feed back to users in the Ui instead that the publish button keeps being orange like shown here: #4614 |
Todo: Also other noops like in change base workspace are not desired and have to be prevented in |
Upgrade instructions
Review instructions
Checklist
FEATURE|TASK|BUGFIX
!!!
and have upgrade-instructions