I see that this one is crossed, but I'm not sure it's so "smart". It seems to overwrite the local changes.
Consider the following case: a user tries to install the framework in a machine where it hasn't been tested yet. Unfortunately, they have to amend the code to compile in their environment. Currently, the installer seems to overwrite / ignore the local changes.
Desired behaviour: if one of the repo (Darwin, Core, tables) is already there, the installer should not try to clone it or to change to the default branch, but use whatever is there.
Is this based on recent evidence? The UPDATE step has been disabled in the CMake configuration so CMake shouldn't even try to update the repos. This was changed because recent CMake versions seem to handle updates differently from older ones (they try harder to follow the upstream branch).
Running from my good old setup on NAF, where everything has been installed and with several branches in my repos:
-- Configuring done (0.3s) -- Generating done (0.1s) -- Build files have been written to: /afs/desy.de/group/cms/pool/connorpa/build[ 8%] Performing download step (git clone) for 'Darwin' [ 8%] Creating directories for 'tables' [ 12%] Performing download step (git clone) for 'tables' Cloning into 'Darwin'... warning: templates not found in /build/jenkins/workspace/lcg_release_pipeline/install/git/2.29.2/x86_64-el9-gcc13-opt/share/git-core/templates Cloning into 'tables'... warning: templates not found in /build/jenkins/workspace/lcg_release_pipeline/install/git/2.29.2/x86_64-el9-gcc13-opt/share/git-core/templates HEAD is now at 605929d Merge branch 'feature/improved_printHist' into 'master'...
After this, I only have the master branch in Core. In Darwin, I'm in detached mode on origin/master.
If you just now clone, then yes, it is. If the repo is already there, and the branch not up-to-date, the user may have a good reason for this.In any case, we should not remove local changes, which is currently happening.
Ok, then this is probably just worth better documentation in the instructions to avoid such bad manipulations. I leave this thread open until a dedicated MR.
define a pipeline, run only upon request of one of the maintainers, to change the version in CMakeLists.txt to increment the version number, in the master branch automatically.
Right, that's why I added "or at least a preliminary version", which the maintainer could then edit. I have no idea how easy / tough this can be implemented though.
Right, that's why I added "or at least a preliminary version", which the maintainer could then edit. I have no idea how easy / tough this can be implemented though.
mmh guess I'd have the pipeline open a MR with the release notes