Change main to be like any other lane and support lane versioning #5898
Replies: 3 comments
-
I'm wondering about the following scenario:
Same thing when you install a component. Do we save the head? where? |
Beta Was this translation helpful? Give feedback.
-
Another point raised by @GiladShoham . |
Beta Was this translation helpful? Give feedback.
-
Another discussion with Ran. |
Beta Was this translation helpful? Give feedback.
-
This is a preliminary discussion with @ranm8 and I.
Currently, to get the latest snaps when on a lane, the user runs
bit import
to get the newest objects from the remote, and thenbit checkout latest
changes the component files and .bitmap.What happens if after the checkout I want to "revert" the checkout and change back the components to the version they had before? there is no way (without Git) to achieve this currently.
To solve it, we might want to implement versions for a lane. The version will contain bit-ids (per bit-id a version, which is the head back then) and Log. The Lane object will contain "head" to the latest lane-version.
However, we have the same issue with main. Regardless of Lanes. If I run
bit import
andbit checkout latest
I can't go back to the previous versions on main. (unless I do them one by one of course, but I need to remember which version each one of the components was before).To fix this, we might want to be consistent and treat the main-lane the same as any other lane. Meaning, every scope will have a "main" lane by default, and it'll include all the heads of the components. The
Component
object, won't store the head anymore.This way, we can enjoy the same mechanism of versioning for main as well. It's also kind-of solve some of the issues we want from the workspace-component.
These two tasks are not easy to implement, but now is the best time to do it before Lanes is public.
@itaymendel , @GiladShoham , your input is welcome here.
Beta Was this translation helpful? Give feedback.
All reactions