blob: 4ff4a28d56263dc116612db10e03385325f713e1 [file] [log] [blame] [view]
---
title: ""
permalink: design-docs/revert-submit-use-cases.html
hide_sidebar: true
hide_navtoggle: true
toc: false
---
# Use-case
Primary use case: Users should be able to revert multiple changes that were
submitted together.
Secondary use cases:
1. Show submission ID of changes in ChangeInfo, and expose it in the UI.
2. Add query operator to search by submission ID.
Need to decide which of the secondary use cases are necessary.
## <a id="acceptance-criteria"> Acceptance Criteria
Users can revert an entire submission.
## <a id="background"> Background
When reverting changes that were submitted together, it is important for users
to revert them together for the project to build, and also for the comfort of
not reverting one by one. The necessary feature is a button that searches all
the changes of a submission id, and reverting all changes of that submission id.
If we have the following example:
repo R1: change *T1* (topic "t1") -> change *D1*
repo R2: change *T2* (topic "t1, "t2")
repo R3: change *T3* (topic "t2)
The user submitted all of them together because they are dependant. The user will
also want to revert them together, if he wants to revert any of them.
The problem here is that revertion by topic id would not work since there are two
topics. Also, topics can be added post-submit, or reused for sets of changes.
#### <a id="questions"> Questions
1. What if some reverts succeed and then another one fails? Can this happen?
If a part of the revert of the topic succeeds and other part fails it might
cause serious issues.
2. What happens if a user doesn't have permission to see all changes of a
topic?