Enable multiple git revisions (Jun 2024) : final, using commit ID in repo localPath#5089
Enable multiple git revisions (Jun 2024) : final, using commit ID in repo localPath#5089marcodelapierre wants to merge 111 commits intomasterfrom
Conversation
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
… operation Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
…f "master" Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Ben Sherman <bentshermann@gmail.com>
Signed-off-by: Dr Marco De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
5a93547 to
27345a6
Compare
b4b321e to
069653d
Compare
Signed-off-by: jorgee <jorge.ejarque@seqera.io>
Signed-off-by: Jorge Ejarque <jorgee@users.noreply.github.com>
Signed-off-by: jorgee <jorge.ejarque@seqera.io>
|
I have updated the branch to master, resolving conflicts and updating some tests. I have also reviewed the branch.
TODO:
|
…re repo for default branch get branches and tags Signed-off-by: jorgee <jorge.ejarque@seqera.io>
|
Fixed most of TODOs:
|
|
Hola Jorge, There is a difference between using the bare repo vs a self-managed revision map file in how updated revisions can be handled, with regards to user control:
Originally I went for option 2. with this PR, to give users more control. Ultimately 1. is also an option, as long as the behaviour is documented for the users. Thanks for moving this forward! |
Signed-off-by: jorgee <jorge.ejarque@seqera.io>
|
@marcodelapierre. Thank you for the remark. |
|
I have also created an alternative way to create the commit clones. For each commit, it creates a repo in the commit folder where objects are shared with the Bare repo using the I have implemented it in a separate method. I am also wondering if it will be better to implement the |
Thanks a lot Jorge, I wasn't aware of options to update selected revisions in the bare repo, now it makes total sense to me! :) |
|
Closing in favor of #6620 |
This PR is spawned out of #4659, of which it represents its evolution and finalisation.
Some highlights:
localPathdefined via thecommitId, for more accurate handling of branch updatesrevisionMapfile, for accurate handling of user requested revisions vs revision update in remote repoAssetManagerclass constructor; a dedicated additional method,setRevisionAndLocalPath, has to be called after instantiation to setlocalPathandrevisionSome implementation notes:
projectNamedetermines location ofBARE_REPO,REVISION_MAPandREVISION_SUBDIRlocalPathis underREVISION_SUBDIRand requires revision-to-commit mapping ; for unit testing, redefine thelocalPathmanuallySome caveats:
revisionMapfile: I/O concurrency, refactor to a dedicated class (similar toScriptFile), others?listoutput:commitId-basedlocalPathAssetManager, some non-constructor methods have changed API, typically to get rid of the now un-neededrevisionargumentdownload()andclone()@pditommaso for visibility.