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

externals_only does not work for subdirectory #108

Open
gold2718 opened this issue Jun 8, 2018 · 0 comments
Open

externals_only does not work for subdirectory #108

gold2718 opened this issue Jun 8, 2018 · 0 comments

Comments

@gold2718
Copy link
Collaborator

gold2718 commented Jun 8, 2018

Summary of Issue:

the protocol = externals_only option is often used to allow components to be checked out and managed in a standalone configuration. This works with local_path = ., however, it does not seem to work if local_path points to a subdirectory.

Expected behavior

./manage_externals/checkout_externals 
Processing externals description file : Externals.cfg
Processing externals description file : Externals_CLM.cfg
Checking status of externals: ctsm, fates, ptclm, cime,
Checking out externals: ctsm, cime,
Checking out externals: fates, ptclm,

Actual behavior:

./manage_externals/checkout_externals 
Processing externals description file : Externals.cfg
Processing externals description file : Externals_CLM.cfg
Checking status of externals: ctsm, fates, ptclm, cime, 
    ./cime
--  ./ctsm
e-  ./ctsm/src/fates
e-  ./ctsm/tools/PTCLM
----------------------------------------------------------------------
The external repositories labeled with 'M' above are not in a clean state.

The following are two options for how to proceed:

(1) Go into each external that is not in a clean state and issue either
    an 'svn status' or a 'git status' command. Either revert or commit
    your changes so that all externals are in a clean state. (Note,
    though, that it is okay to have untracked files in your working
    directory.) Then rerun checkout_externals.

(2) Alternatively, you do not have to rely on checkout_externals. Instead, you
    can manually update out-of-sync externals (labeled with 's' above)
    as described in the configuration file Externals.cfg.


The external repositories labeled with '?' above are not under version
control using the expected protocol. If you are sure you want to switch
protocols, and you don't have any work you need to save from this
directory, then run "rm -rf [directory]" before re-running the
checkout_externals tool.

----------------------------------------------------------------------

Steps to reproduce the problem (should include model description file(s) or link to public repository):

mkdir testdir
cd testdir
git clone https://github.com/ESMCI/manage_externals
git clone https://github.com/ESCOMP/ctsm
cat > Externals.cfg
[ctsm]
local_path = ctsm
protocol = externals_only
externals = Externals_CLM.cfg
required = True

[cime]
local_path = cime
protocol = git
repo_url = https://github.com/ESMCI/cime
hash = a67dceae95567cc7529c4cfed153017f4b65b210
required = True

[externals_description]
schema_version = 1.0.0
^D
./manage_externals/checkout_externals

What is the changeset ID of the code, and the machine you are using:

Processing externals description file : Externals_CLM.cfg manic-v1.1.1-25-g025e6cb` on a mac

have you modified the code? If so, it must be committed and available for testing: No

Screen output or log file showing the error message and context: See above actual behavior

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

1 participant