-
Notifications
You must be signed in to change notification settings - Fork 312
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
remove manage externals #2559
remove manage externals #2559
Conversation
@slevis-lmwg this branch is ready for testing. Can you kick that off and let me know if you have any issues? |
@ekluzek @slevis-lmwg want to make sure this PR is advancing this morning, I think that having Sam do the testing will be the best approach, please confirm. |
@jedwards4b I plan to start testing this morning. |
@jedwards4b I checked out your branch and proceeded as follows:
and got this message: |
Hi Sam, The process should be:
|
To elaborate further - because the choice was made to include git-fleximod with the distribution I haven't updated the pip version in a while, it's out of date. Once we have created the cesm3_0_beta01 tag I will update the version available with pip. |
aux_clm fails right off the bat because it's searching for ./manage_externals/checkout_externals |
What is searching for manage_externals - a script outside the repo??? |
I added some issues that need to be handled at the top. One of which is changes to run_sys_tests so that the testing will work. @jedwards4b we have a wrapper script to create_test in ctsm at the top level run_sys_tests that makes it easier to run our testing for CTSM. |
I submit the aux_clm test-suite like this: Meanwhile though... |
@slevis-lmwg I pushed an update that should solve the problem. |
@jedwards4b while I wait for tests to complete, I'm working on the list in #2536 |
I think that it should say "run ./bin/git-fleximod update" |
@jedwards4b I get the following error both on Derecho and Izumi when I try to use gitfleximod... Below is from Izumi
It's working for others, so I'm not sure what's different for me. I am using tcsh on both systems, but I also tried it from bash and got the same behavior. It didn't appear that gitfleximod used any ENV variables so I don't think it's anything there. Let me know if you have any ideas on what to try. Thanks. |
@ekluzek python 3.7 should be new enough but please try again without your conda environment loaded. Whether or not that works - please be specific about how to reproduce this error. |
@ekluzek You have something strange going on. I don't think that the problem is your conda environment. git-fleximod is looking for a directory /fs/cgd/data0/erik/ctsm_worktree/externals_update/.git but in your case this is a file with contents: Indicating that you have checked out ctsm as a submodule of ctsm_neon but then moved it in the directory system so that it is no longer a subdirectory of /fs/cgd/data0/erik/ctsm_neon |
I can make a modification to partially handle this case, the error with my change will be: |
@jedwards4b note I've tried both with the ctsm_pylib conda environment loaded as well as not loaded (so python 3.7.9, and 3.10.10). And I've tried the same on izumi (python 3.7.0). I also tried in @slevis-lmwg clone and get an error message as well.
I wonder if the above has to do with permissions to his clone though? In terms of my directory structure. I'm using git worktree so that I have a list of clone's, that share information between them (remote definition, remote fetch etc.). This is something that I learned from @billsacks so he uses it as well. I've found it useful, so I'd be surprised if he and I were the only ones to use it. As a user it manages the .git directory information for me, so I don't know (and don't care) what it's doing under the covers. |
@jedwards4b what information does gitfleximod get from the .git subdirectory? And are there different ways to get the same thing? Depending on the .git subdirectory file structure, does mean that gitfleximod is tied to particular versions of git, and anytime git changes anything required, gitfleximod will break. So it seems desirable to not rely on anything there, if possible, unless git development views their .git subdirectory file structure as a fixed (or at least a rarely changing) feature. We do want gitfleximod to work with a wide variety of git versions, and hopefully to be stable as new versions of git become available. |
… into ctsm5.2.007/candidate slevis resolved conflicts: README
git-subtree-dir: .lib/git-fleximod git-subtree-split: a354b05
@ekluzek Please try again - I think I have corrected the issue. |
@jedwards4b @ekluzek I defer to your judgement on whether to rerun testing. |
@slevis-lmwg I'll be out this afternoon but hope you can merge this before I check in tomorrow morning. Thanks for all your work - oh and please update the ChangeLog. |
@jedwards4b thanks for the gitfleximod update! That seems to work for me. I'm going to try more things out, but I don't envision anything to hold finishing this by tomorrow morning. |
Derecho slowness gave me reason to catch this remaining reference to
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is great both @slevis-lmwg and @jedwards4b. There are several advantages to using "git submodules" over manage_externals, so it's nice to bring this in.
@slevis-lmwg I'm marking this as approve, but I do have a few tweaks I'd like to make to the README.GITFLEXIMOD file. I think it would be easier for me to commit and push directly rather than trying to explain. Does that sound OK to you? If I don't have permissions we'll figure out how to do it.
from conversation with @ekluzek |
Great - thank you @slevis-lmwg and @ekluzek. Have a great weekend. |
Description of changes
Starting from slevis-lmwg/upd_externals_to_beta17 remove manage externals and add git-fleximod
Takes the place of #2443 and continues the discussion from there.
Specific notes
Contributors other than yourself, if any:
CTSM Issues Fixed (include github issue #):
Fixes #2536
Fixes #2537
Are answers expected to change (and if so in what way)? No
Any User Interface Changes (namelist or namelist defaults changes)? for handling externals
Does this create a need to change or add documentation? Did you do so? Yes, in-process
Testing performed, if any: regular testing + ctsm_sci