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

Develop Revisions: Change Behavior & CLI #142

Open
1 task
c-bebop opened this issue Nov 6, 2023 · 0 comments
Open
1 task

Develop Revisions: Change Behavior & CLI #142

c-bebop opened this issue Nov 6, 2023 · 0 comments
Assignees

Comments

@c-bebop
Copy link
Collaborator

c-bebop commented Nov 6, 2023

Old

The current implementation of the develop revisions is however not very intuitive and lacks functionality to actually be able to conveniently develop within multiple repositories, and then test or benchmark the current state within a SimExPal environment.

Therefore, I hereby propose the following functionality change:

SimExPal will first clone and then check out the latest commit present in the given branch provided as the key under build_version for each repository.

The CLI command simex develop --checkout checks the current status of each repository and does the following:

  1. If the repository has no local changes: checkout to the given branch and the latest commit (HEAD).
  2. If the repository has local changes: disregard local changes and checkout to the given branch and the latest commit (HEAD). The question here is, if it is enough to simply overwrite these changes and not warn the user that data can be lost before executing this command. Therefore, I recommend doing that only if the -f force option is active.

Currently the option simex develop --recheckout offers to simply re-clone the repository including a complete re-build and re-configure step. We could also think of changing this command to simex develop --reclone to have clearly distinguished commands to checkout or actually re-clone repositories.

Update

Our first approach did not succeed and we needed to revert the merge of the feature: #165

The issue is that simexpal writes cache files to the project folders (e.g. checkedout.simexpal and regenerated.simexpal). Those cache files, however, lead to an unclean repository state and a pull or checkout can not simply proceed.

We must therefore first revisit the issue, and first take care of the cache files: #169

@fabratu fabratu added this to the Release v1.1.0 milestone Nov 17, 2023
@c-bebop c-bebop assigned c-bebop and nizomovs and unassigned c-bebop Jan 24, 2024
@c-bebop c-bebop closed this as completed Feb 1, 2024
@c-bebop c-bebop removed this from the Release v1.1.0 milestone Feb 2, 2024
@c-bebop c-bebop reopened this Feb 2, 2024
@c-bebop c-bebop pinned this issue Feb 7, 2024
@c-bebop c-bebop unpinned this issue Feb 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants