Skip to content
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

Decide on and implement UX for checkout / commit workflow in SCM view #609

Closed
Tracked by #330
mattseddon opened this issue Jun 30, 2021 · 5 comments
Closed
Tracked by #330
Labels
A: trees Area: SCM and DVC-tracked trees 🎨 design Needs design input or is being actively worked on discussion

Comments

@mattseddon
Copy link
Member

mattseddon commented Jun 30, 2021

This question goes all the way back to #318 (comment).

Do we want to combine actions to make checkout / commit easier to users? What should the UI/UX be to simplify the process or moving between git commits / revisions?

@mattseddon mattseddon added discussion A: trees Area: SCM and DVC-tracked trees 🎨 design Needs design input or is being actively worked on labels Jun 30, 2021
@mattseddon
Copy link
Member Author

Notes from chat @aguschin:

  1. Commit flow looks good.
  2. Reset workspace should be a single command, also can we run without the prompt? - could have two commands.
  3. It would be good to have a shortcut to search through git revisions and select one then checkout both git and DVC to that revision.

@mattseddon
Copy link
Member Author

From conversation with @shcheklein:

The new reset workspace command seems to be the nuclear option. Would it be possible to keep our command isolated from the rest of the git changes in the future? I.e can we only reset the files that relate to our DVC changes?

@mattseddon
Copy link
Member Author

mattseddon commented Oct 6, 2021

I now see 3 options for progressing with the commit workflow.

Each demo follows the same steps. They are:

  1. start with (DVC tracked) modified resources in the workspace.
  2. dvc commit
  3. observe changes to UI
  4. discard git changes
  5. observe changes to UI

Current approach (Option 1):

Screen.Recording.2021-10-07.at.8.54.55.am.mov

Currently both modified and "stage modified" appear underneath our "Changes" resource group. Under this setup we cannot easily change the inline commands based on the status that the resource has. This means that the stage modified resources still have inline commands of commit and checkout. There is no point in having these commands inline as they do not actually do anything.

That led me to...

Split across different resource groups (Option 2 #880):

Screen.Recording.2021-10-07.at.8.52.39.am.mov

In this option we move the "stage modified" resources to a "Staged Changes" resource group (actual name tbd). By moving these resources to another resource group we can drop the inline commands (which as previously stated do not make sense).

Which led me to...

Remove stage modified status (Option 3 #881):

Screen.Recording.2021-10-07.at.8.49.44.am.mov

From working through options 1 and 2 I realised that there there could be a simpler way to show DVC changes and that is to drop the stage modified status. This then makes a clear split between when the user needs to perform actions in DVC and when they need to do something with git.

IMO option 3 is actually the best way to proceed. It stops us having to mix semantics within dvc status and should (hopefully) lead to simpler code in both DVC and in our extension.

Will discuss with @shcheklein and then loop in the DVC team once we have a clearer idea of what we think is the best path forwards.

@mattseddon
Copy link
Member Author

Spoke with @shcheklein the preference is to go with option 2 for now. I will update #880 with the changes that we talked about this morning.

@mattseddon
Copy link
Member Author

Closing this now are we are ready for a review ticket. Demos / screenshots / explanation of changes are in all of the linked PRs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: trees Area: SCM and DVC-tracked trees 🎨 design Needs design input or is being actively worked on discussion
Projects
None yet
Development

No branches or pull requests

1 participant