nf-core / tools

Python package with helper tools for the nf-core community.
https://nf-co.re
MIT License
232 stars 187 forks source link

GitCommandError: Cmd('git') failed due to: exit code(1) #2656

Closed Ethan-Hetrick closed 2 months ago

Ethan-Hetrick commented 8 months ago

Description of the bug

When using nf-core modules install with any module, I get the following Git error. However, it seems that the command works and the files are placed as normal where they should be. I am confused as to why it outputs something about the hisat2 module, as that is not the module I am installing. This was tested on nf-core/2.11.1 and replicated on v.2.10 as well. For context, this is in a fresh Conda environment and I had 10+ users experience this same issue on various environments. I do know that the version of Git on this HPC system is ancient and could be due to that. The question is, what versions of Git are compatible and is that even the cause of this error?

Command used and terminal output

$ nf-core create

                                          ,--./,-.
          ___     __   __   __   ___     /,-._.--~\
    |\ | |__  __ /  ` /  \ |__) |__         }  {
    | \| |       \__, \__/ |  \ |___     \`-._,-`-,
                                          `._,._,'

    nf-core/tools version 2.11.1 - https://nf-co.re

? Workflow name test
? Description test
? Author test
? Do you want to customize which parts of the template are used? Yes
? Pipeline prefix test
? Skip template areas? done (5 selections)
INFO     Creating new nf-core pipeline: 'test/test'

$ cd test-test/

$ nf-core modules install quast

                                          ,--./,-.
          ___     __   __   __   ___     /,-._.--~\
    |\ | |__  __ /  ` /  \ |__) |__         }  {
    | \| |       \__, \__/ |  \ |___     \`-._,-`-,
                                          `._,._,'

    nf-core/tools version 2.11.1 - https://nf-co.re

INFO     Installing 'quast'
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /scicomp/home-pure/rqu4/my_conda_envs/scicomp_tutorial_1_10_24/bin/nf-core:10 in <module>        │
│                                                                                                  │
│    7                                                                                             │
│    8 if __name__ == '__main__':                                                                  │
│    9 │   sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])                       │
│ ❱ 10 │   sys.exit(run_nf_core())                                                                 │
│   11                                                                                             │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/scicomp_tutorial_1_10_24/lib/python3.12/site-packages/nf_c │
│ ore/__main__.py:111 in run_nf_core                                                               │
│                                                                                                  │
│    108 │   │   │   log.debug(f"Could not check latest version: {e}")                             │
│    109 │   │   stderr.print("\n")                                                                │
│    110 │   # Launch the click cli                                                                │
│ ❱  111 │   nf_core_cli(auto_envvar_prefix="NFCORE")                                              │
│    112                                                                                           │
│    113                                                                                           │
│    114 @click.group(context_settings=dict(help_option_names=["-h", "--help"]))                   │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/scicomp_tutorial_1_10_24/lib/python3.12/site-packages/clic │
│ k/core.py:1157 in __call__                                                                       │
│                                                                                                  │
│   1154 │                                                                                         │
│   1155 │   def __call__(self, *args: t.Any, **kwargs: t.Any) -> t.Any:                           │
│   1156 │   │   """Alias for :meth:`main`."""                                                     │
│ ❱ 1157 │   │   return self.main(*args, **kwargs)                                                 │
│   1158                                                                                           │
│   1159                                                                                           │
│   1160 class Command(BaseCommand):                                                               │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/scicomp_tutorial_1_10_24/lib/python3.12/site-packages/rich │
│ _click/rich_command.py:126 in main                                                               │
│                                                                                                  │
│   123 │   │   try:                                                                               │
│   124 │   │   │   try:                                                                           │
│   125 │   │   │   │   with self.make_context(prog_name, args, **extra) as ctx:                   │
│ ❱ 126 │   │   │   │   │   rv = self.invoke(ctx)                                                  │
│   127 │   │   │   │   │   if not standalone_mode:                                                │
│   128 │   │   │   │   │   │   return rv                                                          │
│   129 │   │   │   │   │   # it's not safe to `ctx.exit(rv)` here!                                │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/scicomp_tutorial_1_10_24/lib/python3.12/site-packages/clic │
│ k/core.py:1688 in invoke                                                                         │
│                                                                                                  │
│   1685 │   │   │   │   super().invoke(ctx)                                                       │
│   1686 │   │   │   │   sub_ctx = cmd.make_context(cmd_name, args, parent=ctx)                    │
│   1687 │   │   │   │   with sub_ctx:                                                             │
│ ❱ 1688 │   │   │   │   │   return _process_result(sub_ctx.command.invoke(sub_ctx))               │
│   1689 │   │                                                                                     │
│   1690 │   │   # In chain mode we create the contexts step by step, but after the                │
│   1691 │   │   # base command has been invoked.  Because at that point we do not                 │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/scicomp_tutorial_1_10_24/lib/python3.12/site-packages/clic │
│ k/core.py:1688 in invoke                                                                         │
│                                                                                                  │
│   1685 │   │   │   │   super().invoke(ctx)                                                       │
│   1686 │   │   │   │   sub_ctx = cmd.make_context(cmd_name, args, parent=ctx)                    │
│   1687 │   │   │   │   with sub_ctx:                                                             │
│ ❱ 1688 │   │   │   │   │   return _process_result(sub_ctx.command.invoke(sub_ctx))               │
│   1689 │   │                                                                                     │
│   1690 │   │   # In chain mode we create the contexts step by step, but after the                │
│   1691 │   │   # base command has been invoked.  Because at that point we do not                 │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/scicomp_tutorial_1_10_24/lib/python3.12/site-packages/clic │
│ k/core.py:1434 in invoke                                                                         │
│                                                                                                  │
│   1431 │   │   │   echo(style(message, fg="red"), err=True)                                      │
│   1432 │   │                                                                                     │
│   1433 │   │   if self.callback is not None:                                                     │
│ ❱ 1434 │   │   │   return ctx.invoke(self.callback, **ctx.params)                                │
│   1435 │                                                                                         │
│   1436 │   def shell_complete(self, ctx: Context, incomplete: str) -> t.List["CompletionItem"]:  │
│   1437 │   │   """Return a list of completions for the incomplete value. Looks                   │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/scicomp_tutorial_1_10_24/lib/python3.12/site-packages/clic │
│ k/core.py:783 in invoke                                                                          │
│                                                                                                  │
│    780 │   │                                                                                     │
│    781 │   │   with augment_usage_errors(__self):                                                │
│    782 │   │   │   with ctx:                                                                     │
│ ❱  783 │   │   │   │   return __callback(*args, **kwargs)                                        │
│    784 │                                                                                         │
│    785 │   def forward(                                                                          │
│    786 │   │   __self, __cmd: "Command", *args: t.Any, **kwargs: t.Any  # noqa: B902             │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/scicomp_tutorial_1_10_24/lib/python3.12/site-packages/clic │
│ k/decorators.py:33 in new_func                                                                   │
│                                                                                                  │
│    30 │   """                                                                                    │
│    31 │                                                                                          │
│    32 │   def new_func(*args: "P.args", **kwargs: "P.kwargs") -> "R":                            │
│ ❱  33 │   │   return f(get_current_context(), *args, **kwargs)                                   │
│    34 │                                                                                          │
│    35 │   return update_wrapper(new_func, f)                                                     │
│    36                                                                                            │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/scicomp_tutorial_1_10_24/lib/python3.12/site-packages/nf_c │
│ ore/__main__.py:654 in modules_install                                                           │
│                                                                                                  │
│    651 │   │   │   ctx.obj["modules_repo_branch"],                                               │
│    652 │   │   │   ctx.obj["modules_repo_no_pull"],                                              │
│    653 │   │   )                                                                                 │
│ ❱  654 │   │   exit_status = module_install.install(tool)                                        │
│    655 │   │   if not exit_status:                                                               │
│    656 │   │   │   sys.exit(1)                                                                   │
│    657 │   except (UserWarning, LookupError) as e:                                               │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/scicomp_tutorial_1_10_24/lib/python3.12/site-packages/nf_c │
│ ore/components/install.py:116 in install                                                         │
│                                                                                                  │
│   113 │   │   )                                                                                  │
│   114 │   │                                                                                      │
│   115 │   │   # Download component files                                                         │
│ ❱ 116 │   │   if not self.install_component_files(component, version, self.modules_repo, insta   │
│   117 │   │   │   return False                                                                   │
│   118 │   │                                                                                      │
│   119 │   │   # Update module.json with newly installed subworkflow                              │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/scicomp_tutorial_1_10_24/lib/python3.12/site-packages/nf_c │
│ ore/components/components_command.py:173 in install_component_files                              │
│                                                                                                  │
│   170 │   │   Returns:                                                                           │
│   171 │   │   │   (bool): Whether the operation was successful of not                            │
│   172 │   │   """                                                                                │
│ ❱ 173 │   │   return modules_repo.install_component(component_name, install_dir, component_ver   │
│   174 │                                                                                          │
│   175 │   def load_lint_config(self) -> None:                                                    │
│   176 │   │   """Parse a pipeline lint config file.                                              │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/scicomp_tutorial_1_10_24/lib/python3.12/site-packages/nf_c │
│ ore/synced_repo.py:281 in install_component                                                      │
│                                                                                                  │
│   278 │   │   shutil.copytree(self.get_component_dir(component_name, component_type), Path(ins   │
│   279 │   │                                                                                      │
│   280 │   │   # Switch back to the tip of the branch                                             │
│ ❱ 281 │   │   self.checkout_branch()                                                             │
│   282 │   │   return True                                                                        │
│   283 │                                                                                          │
│   284 │   def component_files_identical(self, component_name, base_path, commit, component_typ   │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/scicomp_tutorial_1_10_24/lib/python3.12/site-packages/nf_c │
│ ore/synced_repo.py:214 in checkout_branch                                                        │
│                                                                                                  │
│   211 │   │   """                                                                                │
│   212 │   │   Checks out the specified branch of the repository                                  │
│   213 │   │   """                                                                                │
│ ❱ 214 │   │   self.repo.git.checkout(self.branch)                                                │
│   215 │                                                                                          │
│   216 │   def checkout(self, commit):                                                            │
│   217 │   │   """                                                                                │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/scicomp_tutorial_1_10_24/lib/python3.12/site-packages/git/ │
│ cmd.py:800 in <lambda>                                                                           │
│                                                                                                  │
│    797 │   │   """                                                                               │
│    798 │   │   if name[0] == "_":                                                                │
│    799 │   │   │   return LazyMixin.__getattr__(self, name)                                      │
│ ❱  800 │   │   return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)          │
│    801 │                                                                                         │
│    802 │   def set_persistent_git_options(self, **kwargs: Any) -> None:                          │
│    803 │   │   """Specify command line options to the git executable for subsequent              │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/scicomp_tutorial_1_10_24/lib/python3.12/site-packages/git/ │
│ cmd.py:1386 in _call_process                                                                     │
│                                                                                                  │
│   1383 │   │   call.append(dashify(method))                                                      │
│   1384 │   │   call.extend(args_list)                                                            │
│   1385 │   │                                                                                     │
│ ❱ 1386 │   │   return self.execute(call, **exec_kwargs)                                          │
│   1387 │                                                                                         │
│   1388 │   def _parse_object_header(self, header_line: str) -> Tuple[str, str, int]:             │
│   1389 │   │   """                                                                               │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/scicomp_tutorial_1_10_24/lib/python3.12/site-packages/git/ │
│ cmd.py:1183 in execute                                                                           │
│                                                                                                  │
│   1180 │   │   # END handle debug printing                                                       │
│   1181 │   │                                                                                     │
│   1182 │   │   if with_exceptions and status != 0:                                               │
│ ❱ 1183 │   │   │   raise GitCommandError(redacted_command, status, stderr_value, stdout_value)   │
│   1184 │   │                                                                                     │
│   1185 │   │   if isinstance(stdout_value, bytes) and stdout_as_string:  # Could also be output  │
│   1186 │   │   │   stdout_value = safe_decode(stdout_value)                                      │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
GitCommandError: Cmd('git') failed due to: exit code(1)
  cmdline: git checkout master
  stderr: 'error: Your local changes to the following files would be overwritten by checkout:
        tests/modules/nf-core/hisat2/build
Please, commit your changes or stash them before you can switch branches.
Aborting'
$ tree modules
modules
├── local
│   └── samplesheet_check.nf
└── nf-core
    ├── custom
    │   └── dumpsoftwareversions
    │       ├── environment.yml
    │       ├── main.nf
    │       ├── meta.yml
    │       ├── templates
    │       │   └── dumpsoftwareversions.py
    │       └── tests
    │           ├── main.nf.test
    │           ├── main.nf.test.snap
    │           └── tags.yml
    ├── fastqc
    │   ├── environment.yml
    │   ├── main.nf
    │   ├── meta.yml
    │   └── tests
    │       ├── main.nf.test
    │       ├── main.nf.test.snap
    │       └── tags.yml
    ├── multiqc
    │   ├── environment.yml
    │   ├── main.nf
    │   ├── meta.yml
    │   └── tests
    │       ├── main.nf.test
    │       └── tags.yml
    └── quast
        ├── environment.yml
        ├── main.nf
        └── meta.yml

11 directories, 22 files
$

System information

No response

arunbodd commented 8 months ago

I too have received a similar error while installing a module. Its an anomaly that if I re-try module install, it outputs the above error message but installs the module in modules/ folder.

Ethan-Hetrick commented 8 months ago

Update: Folks in the Slack channel asked me to clear my nf-core cache and try again -- this was still unsuccessful

mashehu commented 8 months ago

Sorry, I tried it and couldn't reproduce this (using the same python version etc.). the error indicating that tests/modules/nf-core/hisat2/build has changes in it, sounds to me that is not really related to the install command. could you rm -rf ~/.config/nfcore/nf-core/modules/ and then retry the commands above.

Ethan-Hetrick commented 8 months ago

I tried that, gave me the same error.

mashehu commented 8 months ago

hmm. Can you run nf-core --verbose modules install quast and post the output here, so we can get a bit more debugging info?

mashehu commented 8 months ago

and also post your values for $XDG_CONFIG_HOME and $HOME

Ethan-Hetrick commented 8 months ago
# Remove cache
$ rm -rf ~/.config/nfcore/nf-core/modules/
$ rm -rf ~/.nfcore/
$ rm -rf ~/.nextflow/nf-core

# Install quast
$ nf-core --verbose modules install quast

                                          ,--./,-.
          ___     __   __   __   ___     /,-._.--~\
    |\ | |__  __ /  ` /  \ |__) |__         }  {
    | \| |       \__, \__/ |  \ |___     \`-._,-`-,
                                          `._,._,'

    nf-core/tools version 2.11.1 - https://nf-co.re

Pulling from 'nf-core/modules' (https://github.com/nf-core/modules.git) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Waiting for responseDEBUG    Popen(['git', 'version'], cwd=/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules, stdin=None, shell=False,               cmd.py:1057
         universal_newlines=False)
DEBUG    Popen(['git', 'fetch', '-v', '--progress', '--', 'origin'], cwd=/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules,      cmd.py:1057
         stdin=None, shell=False, universal_newlines=True)
DEBUG    Popen(['git', 'checkout', 'master'], cwd=/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules, stdin=None, shell=False,    cmd.py:1057
         universal_newlines=False)
DEBUG    Popen(['git', 'merge', 'origin/master'], cwd=/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules, stdin=None,             cmd.py:1057
         shell=False, universal_newlines=False)
DEBUG    Using config file: /scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules/.nf-core.yml                                     utils.py:1034
DEBUG    Using config file: .nf-core.yml                                                                                            utils.py:1034
DEBUG    Popen(['git', 'checkout', 'master'], cwd=/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules, stdin=None, shell=False,    cmd.py:1057
         universal_newlines=False)
DEBUG    Popen(['git', 'checkout', 'master'], cwd=/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules, stdin=None, shell=False,    cmd.py:1057
         universal_newlines=False)
DEBUG    Popen(['git', 'checkout', 'master'], cwd=/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules, stdin=None, shell=False,    cmd.py:1057
         universal_newlines=False)
DEBUG    Popen(['git', 'cat-file', '--batch-check'], cwd=/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules, stdin=<valid         cmd.py:1057
         stream>, shell=False, universal_newlines=False)
DEBUG    Popen(['git', 'rev-list', '--max-count=1', 'd6a146325058eb9a18da2e898a2376e1d1093052', '--', 'modules/nf-core/quast'],       cmd.py:1057
         cwd=/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules, stdin=None, shell=False, universal_newlines=False)
DEBUG    Popen(['git', 'cat-file', '--batch'], cwd=/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules, stdin=<valid stream>,      cmd.py:1057
         shell=False, universal_newlines=False)
DEBUG    Popen(['git', 'rev-list', '--max-count=1', 'd6a146325058eb9a18da2e898a2376e1d1093052', '--', 'modules/quast'],               cmd.py:1057
         cwd=/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules, stdin=None, shell=False, universal_newlines=False)
INFO     Installing 'quast'                                                                                                        install.py:110
DEBUG    Installing modules 'quast' at modules hash 3f5420aa22e00bd030a2556dfdffc9e164ec0ec5 from                                  install.py:111
         https://github.com/nf-core/modules.git
DEBUG    Popen(['git', 'checkout', '3f5420aa22e00bd030a2556dfdffc9e164ec0ec5'],                                                       cmd.py:1057
         cwd=/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules, stdin=None, shell=False, universal_newlines=False)
DEBUG    Popen(['git', 'checkout', 'master'], cwd=/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules, stdin=None, shell=False,    cmd.py:1057
         universal_newlines=False)
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/bin/nf-core:10 in <module>                 │
│                                                                                                  │
│    7                                                                                             │
│    8 if __name__ == '__main__':                                                                  │
│    9 │   sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])                       │
│ ❱ 10 │   sys.exit(run_nf_core())                                                                 │
│   11                                                                                             │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/nf_core/__mai │
│ n__.py:111 in run_nf_core                                                                        │
│                                                                                                  │
│    108 │   │   │   log.debug(f"Could not check latest version: {e}")                             │
│    109 │   │   stderr.print("\n")                                                                │
│    110 │   # Launch the click cli                                                                │
│ ❱  111 │   nf_core_cli(auto_envvar_prefix="NFCORE")                                              │
│    112                                                                                           │
│    113                                                                                           │
│    114 @click.group(context_settings=dict(help_option_names=["-h", "--help"]))                   │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/click/core.py │
│ :1157 in __call__                                                                                │
│                                                                                                  │
│   1154 │                                                                                         │
│   1155 │   def __call__(self, *args: t.Any, **kwargs: t.Any) -> t.Any:                           │
│   1156 │   │   """Alias for :meth:`main`."""                                                     │
│ ❱ 1157 │   │   return self.main(*args, **kwargs)                                                 │
│   1158                                                                                           │
│   1159                                                                                           │
│   1160 class Command(BaseCommand):                                                               │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/rich_click/ri │
│ ch_command.py:126 in main                                                                        │
│                                                                                                  │
│   123 │   │   try:                                                                               │
│   124 │   │   │   try:                                                                           │
│   125 │   │   │   │   with self.make_context(prog_name, args, **extra) as ctx:                   │
│ ❱ 126 │   │   │   │   │   rv = self.invoke(ctx)                                                  │
│   127 │   │   │   │   │   if not standalone_mode:                                                │
│   128 │   │   │   │   │   │   return rv                                                          │
│   129 │   │   │   │   │   # it's not safe to `ctx.exit(rv)` here!                                │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/click/core.py │
│ :1688 in invoke                                                                                  │
│                                                                                                  │
│   1685 │   │   │   │   super().invoke(ctx)                                                       │
│   1686 │   │   │   │   sub_ctx = cmd.make_context(cmd_name, args, parent=ctx)                    │
│   1687 │   │   │   │   with sub_ctx:                                                             │
│ ❱ 1688 │   │   │   │   │   return _process_result(sub_ctx.command.invoke(sub_ctx))               │
│   1689 │   │                                                                                     │
│   1690 │   │   # In chain mode we create the contexts step by step, but after the                │
│   1691 │   │   # base command has been invoked.  Because at that point we do not                 │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/click/core.py │
│ :1688 in invoke                                                                                  │
│                                                                                                  │
│   1685 │   │   │   │   super().invoke(ctx)                                                       │
│   1686 │   │   │   │   sub_ctx = cmd.make_context(cmd_name, args, parent=ctx)                    │
│   1687 │   │   │   │   with sub_ctx:                                                             │
│ ❱ 1688 │   │   │   │   │   return _process_result(sub_ctx.command.invoke(sub_ctx))               │
│   1689 │   │                                                                                     │
│   1690 │   │   # In chain mode we create the contexts step by step, but after the                │
│   1691 │   │   # base command has been invoked.  Because at that point we do not                 │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/click/core.py │
│ :1434 in invoke                                                                                  │
│                                                                                                  │
│   1431 │   │   │   echo(style(message, fg="red"), err=True)                                      │
│   1432 │   │                                                                                     │
│   1433 │   │   if self.callback is not None:                                                     │
│ ❱ 1434 │   │   │   return ctx.invoke(self.callback, **ctx.params)                                │
│   1435 │                                                                                         │
│   1436 │   def shell_complete(self, ctx: Context, incomplete: str) -> t.List["CompletionItem"]:  │
│   1437 │   │   """Return a list of completions for the incomplete value. Looks                   │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/click/core.py │
│ :783 in invoke                                                                                   │
│                                                                                                  │
│    780 │   │                                                                                     │
│    781 │   │   with augment_usage_errors(__self):                                                │
│    782 │   │   │   with ctx:                                                                     │
│ ❱  783 │   │   │   │   return __callback(*args, **kwargs)                                        │
│    784 │                                                                                         │
│    785 │   def forward(                                                                          │
│    786 │   │   __self, __cmd: "Command", *args: t.Any, **kwargs: t.Any  # noqa: B902             │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/click/decorat │
│ ors.py:33 in new_func                                                                            │
│                                                                                                  │
│    30 │   """                                                                                    │
│    31 │                                                                                          │
│    32 │   def new_func(*args: "P.args", **kwargs: "P.kwargs") -> "R":                            │
│ ❱  33 │   │   return f(get_current_context(), *args, **kwargs)                                   │
│    34 │                                                                                          │
│    35 │   return update_wrapper(new_func, f)                                                     │
│    36                                                                                            │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/nf_core/__mai │
│ n__.py:654 in modules_install                                                                    │
│                                                                                                  │
│    651 │   │   │   ctx.obj["modules_repo_branch"],                                               │
│    652 │   │   │   ctx.obj["modules_repo_no_pull"],                                              │
│    653 │   │   )                                                                                 │
│ ❱  654 │   │   exit_status = module_install.install(tool)                                        │
│    655 │   │   if not exit_status:                                                               │
│    656 │   │   │   sys.exit(1)                                                                   │
│    657 │   except (UserWarning, LookupError) as e:                                               │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/nf_core/compo │
│ nents/install.py:116 in install                                                                  │
│                                                                                                  │
│   113 │   │   )                                                                                  │
│   114 │   │                                                                                      │
│   115 │   │   # Download component files                                                         │
│ ❱ 116 │   │   if not self.install_component_files(component, version, self.modules_repo, insta   │
│   117 │   │   │   return False                                                                   │
│   118 │   │                                                                                      │
│   119 │   │   # Update module.json with newly installed subworkflow                              │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/nf_core/compo │
│ nents/components_command.py:173 in install_component_files                                       │
│                                                                                                  │
│   170 │   │   Returns:                                                                           │
│   171 │   │   │   (bool): Whether the operation was successful of not                            │
│   172 │   │   """                                                                                │
│ ❱ 173 │   │   return modules_repo.install_component(component_name, install_dir, component_ver   │
│   174 │                                                                                          │
│   175 │   def load_lint_config(self) -> None:                                                    │
│   176 │   │   """Parse a pipeline lint config file.                                              │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/nf_core/synce │
│ d_repo.py:281 in install_component                                                               │
│                                                                                                  │
│   278 │   │   shutil.copytree(self.get_component_dir(component_name, component_type), Path(ins   │
│   279 │   │                                                                                      │
│   280 │   │   # Switch back to the tip of the branch                                             │
│ ❱ 281 │   │   self.checkout_branch()                                                             │
│   282 │   │   return True                                                                        │
│   283 │                                                                                          │
│   284 │   def component_files_identical(self, component_name, base_path, commit, component_typ   │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/nf_core/synce │
│ d_repo.py:214 in checkout_branch                                                                 │
│                                                                                                  │
│   211 │   │   """                                                                                │
│   212 │   │   Checks out the specified branch of the repository                                  │
│   213 │   │   """                                                                                │
│ ❱ 214 │   │   self.repo.git.checkout(self.branch)                                                │
│   215 │                                                                                          │
│   216 │   def checkout(self, commit):                                                            │
│   217 │   │   """                                                                                │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/git/cmd.py:80 │
│ 0 in <lambda>                                                                                    │
│                                                                                                  │
│    797 │   │   """                                                                               │
│    798 │   │   if name[0] == "_":                                                                │
│    799 │   │   │   return LazyMixin.__getattr__(self, name)                                      │
│ ❱  800 │   │   return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)          │
│    801 │                                                                                         │
│    802 │   def set_persistent_git_options(self, **kwargs: Any) -> None:                          │
│    803 │   │   """Specify command line options to the git executable for subsequent              │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/git/cmd.py:13 │
│ 86 in _call_process                                                                              │
│                                                                                                  │
│   1383 │   │   call.append(dashify(method))                                                      │
│   1384 │   │   call.extend(args_list)                                                            │
│   1385 │   │                                                                                     │
│ ❱ 1386 │   │   return self.execute(call, **exec_kwargs)                                          │
│   1387 │                                                                                         │
│   1388 │   def _parse_object_header(self, header_line: str) -> Tuple[str, str, int]:             │
│   1389 │   │   """                                                                               │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/git/cmd.py:11 │
│ 83 in execute                                                                                    │
│                                                                                                  │
│   1180 │   │   # END handle debug printing                                                       │
│   1181 │   │                                                                                     │
│   1182 │   │   if with_exceptions and status != 0:                                               │
│ ❱ 1183 │   │   │   raise GitCommandError(redacted_command, status, stderr_value, stdout_value)   │
│   1184 │   │                                                                                     │
│   1185 │   │   if isinstance(stdout_value, bytes) and stdout_as_string:  # Could also be output  │
│   1186 │   │   │   stdout_value = safe_decode(stdout_value)                                      │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
GitCommandError: Cmd('git') failed due to: exit code(1)
  cmdline: git checkout master
  stderr: 'error: Your local changes to the following files would be overwritten by checkout:
        tests/modules/nf-core/hisat2/build
Please commit your changes or stash them before you switch branches.
Aborting'

# Print contents of config files

$ cat ~/.config/nfcore/nf-core/modules/.nf-core.yml
repository_type: modules
org_path: nf-core
bump-versions:
  rseqc/junctionannotation: False
  rseqc/bamstat: False
  rseqc/readduplication: False
  rseqc/readdistribution: False
  rseqc/junctionsaturation: False
  rseqc/inferexperiment: False
  rseqc/innerdistance: False
  sortmerna: False

$ cat ./.nf-core.yml
repository_type: modules
org_path: nf-core
bump-versions:
  rseqc/junctionannotation: False
  rseqc/bamstat: False
  rseqc/readduplication: False
  rseqc/readdistribution: False
  rseqc/junctionsaturation: False
  rseqc/inferexperiment: False
  rseqc/innerdistance: False
  sortmerna: False
(/scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore) Ethan from SciComp @node235 :~/TRAINING/build_nextflow_pipeline_seminar_01_10_2024/test-test$ cat ./.nf-core.yml
lint:
  files_exist:
  - CODE_OF_CONDUCT.md
  - assets/nf-core-test_logo_light.png
  - docs/images/nf-core-test_logo_light.png
  - docs/images/nf-core-test_logo_dark.png
  - .github/ISSUE_TEMPLATE/config.yml
  - .github/workflows/awstest.yml
  - .github/workflows/awsfulltest.yml
  - .github/ISSUE_TEMPLATE/bug_report.yml
  - .github/ISSUE_TEMPLATE/feature_request.yml
  - .github/PULL_REQUEST_TEMPLATE.md
  - .github/CONTRIBUTING.md
  - .github/.dockstore.yml
  - .gitignore
  - .github/workflows/branch.yml
  - .github/workflows/ci.yml
  - .github/workflows/linting_comment.yml
  - .github/workflows/linting.yml
  - conf/igenomes.config
  - conf/igenomes.config
  files_unchanged:
  - CODE_OF_CONDUCT.md
  - assets/nf-core-test_logo_light.png
  - docs/images/nf-core-test_logo_light.png
  - docs/images/nf-core-test_logo_dark.png
  - .github/ISSUE_TEMPLATE/bug_report.yml
  - .github/ISSUE_TEMPLATE/config.yml
  - .github/ISSUE_TEMPLATE/feature_request.yml
  - .github/PULL_REQUEST_TEMPLATE.md
  - .github/workflows/branch.yml
  - .github/workflows/linting_comment.yml
  - .github/workflows/linting.yml
  - .github/CONTRIBUTING.md
  - .github/.dockstore.yml
  - .github/ISSUE_TEMPLATE/bug_report.yml
  multiqc_config:
  - report_comment
  nextflow_config:
  - manifest.name
  - manifest.homePage
  - process.cpus
  - process.memory
  - process.time
  - custom_config
  readme:
  - nextflow_badge
repository_type: pipeline
template:
  prefix: test
  skip:
  - github
  - ci
  - github_badges
  - igenomes
  - nf_core_configs

# Output versions
$ nextflow -version

      N E X T F L O W
      version 23.10.1 build 5891
      created 12-01-2024 22:01 UTC (17:01 EDT)
      cite doi:10.1038/nbt.3820
      http://nextflow.io

$ nf-core --version

                                          ,--./,-.
          ___     __   __   __   ___     /,-._.--~\
    |\ | |__  __ /  ` /  \ |__) |__         }  {
    | \| |       \__, \__/ |  \ |___     \`-._,-`-,
                                          `._,._,'

    nf-core/tools version 2.11.1 - https://nf-co.re

nf-core, version 2.11.1

# Print out environment variables

# Printed nothing
# Tried `export XDG_CONFIG_HOME="$HOME/.config"` before running nf-core, no change
$ echo $XDG_CONFIG_HOME

$ echo $HOME
/scicomp/home-pure/rqu4
Ethan-Hetrick commented 7 months ago

We went ahead and updated our version of git on our cluster, and I also went ahead and got the latest releases of nf-core tools and nextflow as well. It gave me a similar error, however now it is saying malt is the issue instead of hisat2.

$ nextflow -version

      N E X T F L O W
      version 23.10.1 build 5891
      created 12-01-2024 22:01 UTC (17:01 EDT)
      cite doi:10.1038/nbt.3820
      http://nextflow.io

$ nf-core --version

                                          ,--./,-.
          ___     __   __   __   ___     /,-._.--~\
    |\ | |__  __ /  ` /  \ |__) |__         }  {
    | \| |       \__, \__/ |  \ |___     \`-._,-`-,
                                          `._,._,'

    nf-core/tools version 2.12.1 - https://nf-co.re

nf-core, version 2.12.1
$ git --version
git version 2.43.0
$ rm -rf ~/.config/nfcore/nf-core/modules/
$ rm -rf ~/.nfcore/
$ rm -rf ~/.nextflow/nf-core
$ nf-core --verbose modules install quast

                                          ,--./,-.
          ___     __   __   __   ___     /,-._.--~\
    |\ | |__  __ /  ` /  \ |__) |__         }  {
    | \| |       \__, \__/ |  \ |___     \`-._,-`-,
                                          `._,._,'

    nf-core/tools version 2.12.1 - https://nf-co.re

Cloning from 'nf-core/modules' (https://github.com/nf-core/modules.git) ━━━━━━━━━━━━━━━━━━ Waiting for responseDEBUG    Popen(['git', 'version'],                                                                  cmd.py:1057
         cwd=/scicomp/home-pure/rqu4/TRAINING/build_nextflow_pipeline_seminar_01_10_2024/test-test,
         stdin=None, shell=False, universal_newlines=False)
DEBUG    Popen(['git', 'clone', '-v', '--progress', '--', 'https://github.com/nf-core/modules.git', cmd.py:1057
         '/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules'],
         cwd=/scicomp/home-pure/rqu4/TRAINING/build_nextflow_pipeline_seminar_01_10_2024/test-test,
         stdin=None, shell=False, universal_newlines=True)
DEBUG    Popen(['git', 'checkout', 'master'],                                                       cmd.py:1057
         cwd=/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules, stdin=None, shell=False,
         universal_newlines=False)
DEBUG    Using config file: /scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules/.nf-core.yml   utils.py:1043
DEBUG    Using config file: .nf-core.yml                                                          utils.py:1043
DEBUG    Popen(['git', 'checkout', 'master'],                                                       cmd.py:1057
         cwd=/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules, stdin=None, shell=False,
         universal_newlines=False)
DEBUG    Popen(['git', 'checkout', 'master'],                                                       cmd.py:1057
         cwd=/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules, stdin=None, shell=False,
         universal_newlines=False)
DEBUG    Popen(['git', 'checkout', 'master'],                                                       cmd.py:1057
         cwd=/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules, stdin=None, shell=False,
         universal_newlines=False)
DEBUG    Popen(['git', 'cat-file', '--batch-check'],                                                cmd.py:1057
         cwd=/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules, stdin=<valid stream>,
         shell=False, universal_newlines=False)
DEBUG    Popen(['git', 'rev-list', '--max-count=1', 'ce0b1aed7d504883061e748f492a31bf44c5777c',     cmd.py:1057
         '--', 'modules/nf-core/quast'],
         cwd=/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules, stdin=None, shell=False,
         universal_newlines=False)
DEBUG    Popen(['git', 'cat-file', '--batch'],                                                      cmd.py:1057
         cwd=/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules, stdin=<valid stream>,
         shell=False, universal_newlines=False)
DEBUG    Popen(['git', 'rev-list', '--max-count=1', 'ce0b1aed7d504883061e748f492a31bf44c5777c',     cmd.py:1057
         '--', 'modules/quast'], cwd=/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules,
         stdin=None, shell=False, universal_newlines=False)
INFO     Installing 'quast'                                                                      install.py:110
DEBUG    Installing modules 'quast' at modules hash 3f5420aa22e00bd030a2556dfdffc9e164ec0ec5     install.py:111
         from https://github.com/nf-core/modules.git
DEBUG    Popen(['git', 'checkout', '3f5420aa22e00bd030a2556dfdffc9e164ec0ec5'],                     cmd.py:1057
         cwd=/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules, stdin=None, shell=False,
         universal_newlines=False)
DEBUG    Popen(['git', 'checkout', 'master'],                                                       cmd.py:1057
         cwd=/scicomp/home-pure/rqu4/.config/nfcore/nf-core/modules, stdin=None, shell=False,
         universal_newlines=False)
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/bin/nf-core:10 in <module>                 │
│                                                                                                  │
│    7                                                                                             │
│    8 if __name__ == '__main__':                                                                  │
│    9 │   sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])                       │
│ ❱ 10 │   sys.exit(run_nf_core())                                                                 │
│   11                                                                                             │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/nf_core/__mai │
│ n__.py:141 in run_nf_core                                                                        │
│                                                                                                  │
│    138 │   │   │   log.debug(f"Could not check latest version: {e}")                             │
│    139 │   │   stderr.print("\n")                                                                │
│    140 │   # Launch the click cli                                                                │
│ ❱  141 │   nf_core_cli(auto_envvar_prefix="NFCORE")                                              │
│    142                                                                                           │
│    143                                                                                           │
│    144 @tui()                                                                                    │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/click/core.py │
│ :1157 in __call__                                                                                │
│                                                                                                  │
│   1154 │                                                                                         │
│   1155 │   def __call__(self, *args: t.Any, **kwargs: t.Any) -> t.Any:                           │
│   1156 │   │   """Alias for :meth:`main`."""                                                     │
│ ❱ 1157 │   │   return self.main(*args, **kwargs)                                                 │
│   1158                                                                                           │
│   1159                                                                                           │
│   1160 class Command(BaseCommand):                                                               │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/rich_click/ri │
│ ch_command.py:126 in main                                                                        │
│                                                                                                  │
│   123 │   │   try:                                                                               │
│   124 │   │   │   try:                                                                           │
│   125 │   │   │   │   with self.make_context(prog_name, args, **extra) as ctx:                   │
│ ❱ 126 │   │   │   │   │   rv = self.invoke(ctx)                                                  │
│   127 │   │   │   │   │   if not standalone_mode:                                                │
│   128 │   │   │   │   │   │   return rv                                                          │
│   129 │   │   │   │   │   # it's not safe to `ctx.exit(rv)` here!                                │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/click/core.py │
│ :1688 in invoke                                                                                  │
│                                                                                                  │
│   1685 │   │   │   │   super().invoke(ctx)                                                       │
│   1686 │   │   │   │   sub_ctx = cmd.make_context(cmd_name, args, parent=ctx)                    │
│   1687 │   │   │   │   with sub_ctx:                                                             │
│ ❱ 1688 │   │   │   │   │   return _process_result(sub_ctx.command.invoke(sub_ctx))               │
│   1689 │   │                                                                                     │
│   1690 │   │   # In chain mode we create the contexts step by step, but after the                │
│   1691 │   │   # base command has been invoked.  Because at that point we do not                 │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/click/core.py │
│ :1688 in invoke                                                                                  │
│                                                                                                  │
│   1685 │   │   │   │   super().invoke(ctx)                                                       │
│   1686 │   │   │   │   sub_ctx = cmd.make_context(cmd_name, args, parent=ctx)                    │
│   1687 │   │   │   │   with sub_ctx:                                                             │
│ ❱ 1688 │   │   │   │   │   return _process_result(sub_ctx.command.invoke(sub_ctx))               │
│   1689 │   │                                                                                     │
│   1690 │   │   # In chain mode we create the contexts step by step, but after the                │
│   1691 │   │   # base command has been invoked.  Because at that point we do not                 │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/click/core.py │
│ :1434 in invoke                                                                                  │
│                                                                                                  │
│   1431 │   │   │   echo(style(message, fg="red"), err=True)                                      │
│   1432 │   │                                                                                     │
│   1433 │   │   if self.callback is not None:                                                     │
│ ❱ 1434 │   │   │   return ctx.invoke(self.callback, **ctx.params)                                │
│   1435 │                                                                                         │
│   1436 │   def shell_complete(self, ctx: Context, incomplete: str) -> t.List["CompletionItem"]:  │
│   1437 │   │   """Return a list of completions for the incomplete value. Looks                   │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/click/core.py │
│ :783 in invoke                                                                                   │
│                                                                                                  │
│    780 │   │                                                                                     │
│    781 │   │   with augment_usage_errors(__self):                                                │
│    782 │   │   │   with ctx:                                                                     │
│ ❱  783 │   │   │   │   return __callback(*args, **kwargs)                                        │
│    784 │                                                                                         │
│    785 │   def forward(                                                                          │
│    786 │   │   __self, __cmd: "Command", *args: t.Any, **kwargs: t.Any  # noqa: B902             │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/click/decorat │
│ ors.py:33 in new_func                                                                            │
│                                                                                                  │
│    30 │   """                                                                                    │
│    31 │                                                                                          │
│    32 │   def new_func(*args: "P.args", **kwargs: "P.kwargs") -> "R":                            │
│ ❱  33 │   │   return f(get_current_context(), *args, **kwargs)                                   │
│    34 │                                                                                          │
│    35 │   return update_wrapper(new_func, f)                                                     │
│    36                                                                                            │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/nf_core/__mai │
│ n__.py:820 in modules_install                                                                    │
│                                                                                                  │
│    817 │   │   │   ctx.obj["modules_repo_branch"],                                               │
│    818 │   │   │   ctx.obj["modules_repo_no_pull"],                                              │
│    819 │   │   )                                                                                 │
│ ❱  820 │   │   exit_status = module_install.install(tool)                                        │
│    821 │   │   if not exit_status:                                                               │
│    822 │   │   │   sys.exit(1)                                                                   │
│    823 │   except (UserWarning, LookupError) as e:                                               │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/nf_core/compo │
│ nents/install.py:116 in install                                                                  │
│                                                                                                  │
│   113 │   │   )                                                                                  │
│   114 │   │                                                                                      │
│   115 │   │   # Download component files                                                         │
│ ❱ 116 │   │   if not self.install_component_files(component, version, self.modules_repo, insta   │
│   117 │   │   │   return False                                                                   │
│   118 │   │                                                                                      │
│   119 │   │   # Update module.json with newly installed subworkflow                              │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/nf_core/compo │
│ nents/components_command.py:173 in install_component_files                                       │
│                                                                                                  │
│   170 │   │   Returns:                                                                           │
│   171 │   │   │   (bool): Whether the operation was successful of not                            │
│   172 │   │   """                                                                                │
│ ❱ 173 │   │   return modules_repo.install_component(component_name, install_dir, component_ver   │
│   174 │                                                                                          │
│   175 │   def load_lint_config(self) -> None:                                                    │
│   176 │   │   """Parse a pipeline lint config file.                                              │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/nf_core/synce │
│ d_repo.py:278 in install_component                                                               │
│                                                                                                  │
│   275 │   │   shutil.copytree(self.get_component_dir(component_name, component_type), Path(ins   │
│   276 │   │                                                                                      │
│   277 │   │   # Switch back to the tip of the branch                                             │
│ ❱ 278 │   │   self.checkout_branch()                                                             │
│   279 │   │   return True                                                                        │
│   280 │                                                                                          │
│   281 │   def component_files_identical(self, component_name, base_path, commit, component_typ   │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/nf_core/synce │
│ d_repo.py:211 in checkout_branch                                                                 │
│                                                                                                  │
│   208 │   │   """                                                                                │
│   209 │   │   Checks out the specified branch of the repository                                  │
│   210 │   │   """                                                                                │
│ ❱ 211 │   │   self.repo.git.checkout(self.branch)                                                │
│   212 │                                                                                          │
│   213 │   def checkout(self, commit):                                                            │
│   214 │   │   """                                                                                │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/git/cmd.py:80 │
│ 0 in <lambda>                                                                                    │
│                                                                                                  │
│    797 │   │   """                                                                               │
│    798 │   │   if name[0] == "_":                                                                │
│    799 │   │   │   return LazyMixin.__getattr__(self, name)                                      │
│ ❱  800 │   │   return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)          │
│    801 │                                                                                         │
│    802 │   def set_persistent_git_options(self, **kwargs: Any) -> None:                          │
│    803 │   │   """Specify command line options to the git executable for subsequent              │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/git/cmd.py:13 │
│ 86 in _call_process                                                                              │
│                                                                                                  │
│   1383 │   │   call.append(dashify(method))                                                      │
│   1384 │   │   call.extend(args_list)                                                            │
│   1385 │   │                                                                                     │
│ ❱ 1386 │   │   return self.execute(call, **exec_kwargs)                                          │
│   1387 │                                                                                         │
│   1388 │   def _parse_object_header(self, header_line: str) -> Tuple[str, str, int]:             │
│   1389 │   │   """                                                                               │
│                                                                                                  │
│ /scicomp/home-pure/rqu4/my_conda_envs/nextflow_nfcore/lib/python3.12/site-packages/git/cmd.py:11 │
│ 83 in execute                                                                                    │
│                                                                                                  │
│   1180 │   │   # END handle debug printing                                                       │
│   1181 │   │                                                                                     │
│   1182 │   │   if with_exceptions and status != 0:                                               │
│ ❱ 1183 │   │   │   raise GitCommandError(redacted_command, status, stderr_value, stdout_value)   │
│   1184 │   │                                                                                     │
│   1185 │   │   if isinstance(stdout_value, bytes) and stdout_as_string:  # Could also be output  │
│   1186 │   │   │   stdout_value = safe_decode(stdout_value)                                      │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
GitCommandError: Cmd('git') failed due to: exit code(1)
  cmdline: git checkout master
  stderr: 'error: Your local changes to the following files would be overwritten by checkout:
        tests/modules/nf-core/malt/build
Please commit your changes or stash them before you switch branches.
Aborting'
Ethan-Hetrick commented 7 months ago

I also tried to not customize the nf-core template at all and got a similar error, however now it is complaining about both hisat2 and malt

GitCommandError: Cmd('git') failed due to: exit code(1)
  cmdline: git checkout master
  stderr: 'error: Your local changes to the following files would be overwritten by checkout:
        tests/modules/nf-core/hisat2/build
        tests/modules/nf-core/malt/build
Please commit your changes or stash them before you switch branches.
Aborting'
Ethan-Hetrick commented 2 months ago

This issue can probably be closed as this does not occur with recent versions of nf-core