Skip to content

Misleading payu error when message when cloning a repo owned by someone else #633

@manodeep

Description

@manodeep

I was trying to clone @blimlim ESM1.5 experiment with payu, and while investigating, I found out that the error messages were different or did not occur at all, depending on the version of git used.

Error message when cloning with payu/dev

[~ @gadi-login-04]$ module use /g/data/vk83/prerelease/modules
[~ @gadi-login-04]$ module load payu/dev
Loading payu/dev-20250921T211851Z-d026d1e
  Loading requirement: singularity
[~ @gadi-login-04]$ payu clone  /home/565/sw6175/esm1.5/oneapi/oneapi-sr-atm240-ocn156 /g/data/tm70/ms2335/performance_optimisation_runs/classic/access-esm1p6/[email protected]+target-x86-v4/sapphirerapids/ESM1p5-oneAPI-pr40-2-sr-atm240-ocn156-map-by-numa-checking-verbose
Traceback (most recent call last):
  File "/g/data/vk83/prerelease/apps/base_conda/envs/payu-dev-20250921T211851Z-d026d1e/bin/payu", line 7, in <module>
    sys.exit(parse())
  File "/g/data/vk83/prerelease/apps/base_conda/envs/payu-dev-20250921T211851Z-d026d1e/lib/python3.10/site-packages/payu/cli.py", line 49, in parse
    run_cmd(**args)
  File "/g/data/vk83/prerelease/apps/base_conda/envs/payu-dev-20250921T211851Z-d026d1e/lib/python3.10/site-packages/payu/subcommands/clone_cmd.py", line 53, in runcmd
    clone(repository=repository,
  File "/g/data/vk83/prerelease/apps/base_conda/envs/payu-dev-20250921T211851Z-d026d1e/lib/python3.10/site-packages/payu/branch.py", line 317, in clone
    repo = git_clone(repository, control_path, branch)
  File "/g/data/vk83/prerelease/apps/base_conda/envs/payu-dev-20250921T211851Z-d026d1e/lib/python3.10/site-packages/payu/git_utils.py", line 229, in git_clone
    repo = git.Repo.clone_from(repository, to_path=directory)
  File "/g/data/vk83/prerelease/apps/base_conda/envs/payu-dev-20250921T211851Z-d026d1e/lib/python3.10/site-packages/git/repo/base.py", line 1543, in clone_from
    return cls._clone(
  File "/g/data/vk83/prerelease/apps/base_conda/envs/payu-dev-20250921T211851Z-d026d1e/lib/python3.10/site-packages/git/repo/base.py", line 1414, in _clone
    finalize_process(proc, stderr=stderr)
  File "/g/data/vk83/prerelease/apps/base_conda/envs/payu-dev-20250921T211851Z-d026d1e/lib/python3.10/site-packages/git/util.py", line 512, in finalize_process
    proc.wait(**kwargs)
  File "/g/data/vk83/prerelease/apps/base_conda/envs/payu-dev-20250921T211851Z-d026d1e/lib/python3.10/site-packages/git/cmd.py", line 419, in wait
    raise GitCommandError(remove_password_if_present(self.args), status, errstr)
git.exc.GitCommandError: Cmd('git') failed due to: exit code(128)
  cmdline: git clone -v -- /home/565/sw6175/esm1.5/oneapi/oneapi-sr-atm240-ocn156 /g/data/tm70/ms2335/performance_optimisation_runs/classic/access-esm1p6/[email protected]+target-x86-v4/sapphirerapids/ESM1p5-oneAPI-pr40-2-sr-atm240-ocn156-map-by-numa-checking-verbose
  stderr: 'fatal: repository '/home/565/sw6175/esm1.5/oneapi/oneapi-sr-atm240-ocn156' does not exist
'
[~ @gadi-login-04]$ which git && git --version
/g/data/vk83/prerelease/apps/conda_scripts/payu-dev-20250921T211851Z-d026d1e.d/bin/git
git version 2.51.0

Error message with system git

~ @gadi-login-04]$ git clone -v -- /home/565/sw6175/esm1.5/oneapi/oneapi-sr-atm240-ocn156 /g/data/tm70/ms2335/performance_optimisation_runs/classic/access-esm1p6/[email protected]+target-x86-v4/sapphirerapids/ESM1p5-oneAPI-pr40-2-sr-atm240-ocn156-map-by-numa-checking-verbose
Cloning into '/g/data/tm70/ms2335/performance_optimisation_runs/classic/access-esm1p6/[email protected]+target-x86-v4/sapphirerapids/ESM1p5-oneAPI-pr40-2-sr-atm240-ocn156-map-by-numa-checking-verbose'...
fatal: detected dubious ownership in repository at '/home/565/sw6175/esm1.5/oneapi/oneapi-sr-atm240-ocn156/.git'
To add an exception for this directory, call:

        git config --global --add safe.directory /home/565/sw6175/esm1.5/oneapi/oneapi-sr-atm240-ocn156/.git
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
[~ @gadi-login-04]$ which git
/bin/git
[~ @gadi-login-04]$ which git && git --version
/bin/git
git version 2.43.5

No error when using the latest git module

[~ @gadi-login-04]$ git clone -v -- /home/565/sw6175/esm1.5/oneapi/oneapi-sr-atm240-ocn156 /g/data/tm70/ms2335/performance_optimisation_runs/classic/access-esm1p6/[email protected]+target-x86-v4/sapphirerapids/ESM1p5-oneAPI-pr40-2-sr-atm240-ocn156-map-by-numa-checking-verbose
Cloning into '/g/data/tm70/ms2335/performance_optimisation_runs/classic/access-esm1p6/[email protected]+target-x86-v4/sapphirerapids/ESM1p5-oneAPI-pr40-2-sr-atm240-ocn156-map-by-numa-checking-verbose'...
done.
[~ @gadi-login-04]$ which git && git --version
/apps/git/2.39.2/bin/git
git version 2.39.2

Note: I tried to fool payu by loading payu/dev first and then module loading git/2.39.2 but payu continued to use the prerelease git.

In the end, I got around the problem by recursively copying the repo directory first, and then running payu clone but I figured I would flag the issue here, in case someone else runs into the same problem into the future.

If there is some payu clone flag I should be using, then I would also like to know that.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions