Skip to content

Commit

Permalink
Merge pull request ESCOMP#46 from ESMCI/add_optional_keyword
Browse files Browse the repository at this point in the history
add optional to status output
  • Loading branch information
jedwards4b authored Jun 12, 2024
2 parents 87640ad + af12c80 commit 34daa06
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 12 deletions.
2 changes: 1 addition & 1 deletion git_fleximod/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def find_root_dir(filename=".gitmodules"):

def get_parser():
description = """
%(prog)s manages checking out groups of gitsubmodules with addtional support for Earth System Models
%(prog)s manages checking out groups of gitsubmodules with additional support for Earth System Models
"""
parser = argparse.ArgumentParser(
description=description, formatter_class=argparse.RawDescriptionHelpFormatter
Expand Down
10 changes: 6 additions & 4 deletions git_fleximod/git_fleximod.py
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,7 @@ def submodules_status(gitmodules, root_dir, toplevel=False):
ahash = result[0][1:]
hhash = None
atag = None

needsupdate += 1
if not toplevel and level:
continue
Expand All @@ -316,22 +317,23 @@ def submodules_status(gitmodules, root_dir, toplevel=False):
hhash = htag.split()[0]
if hhash and atag:
break
optional = " (optional)" if required and "Optional" in required else ""
if tag and (ahash == hhash or atag == tag):
print(f"e {name:>20} not checked out, aligned at tag {tag}")
print(f"e {name:>20} not checked out, aligned at tag {tag}{optional}")
elif tag:
ahash = rootgit.git_operation(
"submodule", "status", "{}".format(path)
).rstrip()
ahash = ahash[1 : len(tag) + 1]
if tag == ahash:
print(f"e {name:>20} not checked out, aligned at hash {ahash}")
print(f"e {name:>20} not checked out, aligned at hash {ahash}{optional}")
else:
print(
f"e {name:>20} not checked out, out of sync at tag {atag}, expected tag is {tag}"
f"e {name:>20} not checked out, out of sync at tag {atag}, expected tag is {tag}{optional}"
)
testfails += 1
else:
print(f"e {name:>20} has no fxtag defined in .gitmodules")
print(f"e {name:>20} has no fxtag defined in .gitmodules{optional}")
testfails += 1
else:
with utils.pushd(newpath):
Expand Down
12 changes: 6 additions & 6 deletions git_fleximod/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -241,12 +241,12 @@ def _hanging_msg(working_directory, command):
has taken {hanging_sec} seconds. It may be hanging.
The command will continue to run, but you may want to abort
manage_externals with ^C and investigate. A possible cause of hangs is
when svn or git require authentication to access a private
repository. On some systems, svn and git requests for authentication
information will not be displayed to the user. In this case, the program
will appear to hang. Ensure you can run svn and git manually and access
all repositories without entering your authentication information.
git-fleximod with ^C and investigate. A possible cause of hangs is git
requires authentication to access a private repository. On some
systems, git requests for authentication information will not
be displayed to the user. In this case, the program will appear to
hang. Ensure you can run git manually and access all
repositories without entering your authentication information.
""".format(
command=command,
Expand Down
2 changes: 1 addition & 1 deletion tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ def logger():
"submodule_name": "test_optional",
"status1" : "test_optional MPIserial_2.5.0-3-gd82ce7c is out of sync with .gitmodules MPIserial_2.4.0",
"status2" : "test_optional at tag MPIserial_2.4.0",
"status3" : "test_optional not checked out, out of sync at tag None, expected tag is MPIserial_2.4.0",
"status3" : "test_optional not checked out, out of sync at tag None, expected tag is MPIserial_2.4.0 (optional)",
"status4" : "test_optional at tag MPIserial_2.4.0",
"gitmodules_content": """
[submodule "test_optional"]
Expand Down

0 comments on commit 34daa06

Please sign in to comment.