Skip to content

--resolve-deps fails if not using pyproject.toml #1652

@barredterra

Description

@barredterra

Describe the bug 📉

Running bench get-app --resolve-deps results in unintelligible error message for older apps/branches.

To Reproduce 📃

Run bench get-app https://github.com/alyf-de/erpnext_germany --skip-assets --resolve-deps --branch version-14

Expected behavior 📈

App is installed, prints info that there are no deps to resolve.

OS (please complete the following information): 🌀

macOS 15.5

Version Information

  • Bench Version: 5.25.9
  • Frappe Version: 14.96.16
  • ERPNext Version: 14.88.4

Additional context 📄

ERROR: Invalid frappe path: erpnext
Traceback (most recent call last):
  File "frappe-bench/lib/python3.13/site-packages/bench/utils/__init__.py", line 96, in is_valid_frappe_branch
    res = g.ls_remote("--heads", "--tags", frappe_path, frappe_branch)
  File "frappe-bench/lib/python3.13/site-packages/git/cmd.py", line 986, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
                                   ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "frappe-bench/lib/python3.13/site-packages/git/cmd.py", line 1599, in _call_process
    return self.execute(call, **exec_kwargs)
           ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
  File "frappe-bench/lib/python3.13/site-packages/git/cmd.py", line 1389, in execute
    raise GitCommandError(redacted_command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('git') failed due to: exit code(128)
  cmdline: git ls-remote --heads --tags erpnext version-14
  stderr: 'fatal: 'erpnext' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File ".local/bin/bench", line 10, in <module>
    sys.exit(cli())
             ~~~^^
  File "frappe-bench/lib/python3.13/site-packages/bench/cli.py", line 132, in cli
    bench_command()
    ~~~~~~~~~~~~~^^
  File "frappe-bench/lib/python3.13/site-packages/click/core.py", line 1442, in __call__
    return self.main(*args, **kwargs)
           ~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "frappe-bench/lib/python3.13/site-packages/click/core.py", line 1363, in main
    rv = self.invoke(ctx)
  File "frappe-bench/lib/python3.13/site-packages/click/core.py", line 1830, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "frappe-bench/lib/python3.13/site-packages/click/core.py", line 1226, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "frappe-bench/lib/python3.13/site-packages/click/core.py", line 794, in invoke
    return callback(*args, **kwargs)
  File "frappe-bench/lib/python3.13/site-packages/bench/commands/make.py", line 181, in get_app
    get_app(
    ~~~~~~~^
        git_url,
     ^^^^^^^^
    ...<7 lines>...
        compress_artifacts=compress_artifacts,
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "frappe-bench/lib/python3.13/site-packages/bench/app.py", line 698, in get_app
    resolution = make_resolution_plan(app, bench)
  File "frappe-bench/lib/python3.13/site-packages/bench/app.py", line 616, in make_resolution_plan
    is_valid_frappe_branch(dep_app.url, dep_app.branch)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "frappe-bench/lib/python3.13/site-packages/bench/utils/__init__.py", line 102, in is_valid_frappe_branch
    raise InvalidRemoteException(f"Invalid frappe path: {frappe_path}") from e
bench.exceptions.InvalidRemoteException: Invalid frappe path: erpnext

Possible Solution 📑

Workaround: remove the --resolve-deps flag.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions