]
Jevgeni Zelenkov reassigned FORGE-320:
--------------------------------------
Assignee: Jevgeni Zelenkov
Git-powered "Undo" functionality in Forge
-----------------------------------------
Key: FORGE-320
URL:
https://issues.jboss.org/browse/FORGE-320
Project: Forge
Issue Type: Feature Request
Components: Brainstorming
Environment: All
Reporter: Ian Hands
Assignee: Jevgeni Zelenkov
Priority: Minor
Forge should support undo/redo of changes on the file system. Use of git would rock here,
particularly cases where Forge is introduced to an existing project, and determining what
actually changed during a plugin execution could be nasty.
Care should be taken to integrate with projects that are already using git as a version
control mechanism.
For example:
{code}I see you are already using git, what branch should Forge use when modifying
files?
1 - org.jboss.forge.history
2 - define your own?*{code}
After every successful command execution, changes should be committed to the history
branch. If an undo is requested, users could be presented with a list of revisions, or
simply pop the latest revision off the stack. If a command exits in failure state, the
user should be prompted to either "Undo" or "Abort," in which case, if
"Undo" is selected, changes made during the failed command execution should be
reverted to the previous state - "Abort" simply does nothing.
{code}***ERROR*** Could not complete action [blah]...
? Undo changes from previous command? [Y/n] {code}
Scenarios:
* Master/current branch is ahead of history branch
* Master/current branch is behind history branch
* How to handle running in detached state?
* How to handle rebasing of a branch to avoid merge commits?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: