Back to Codeberg

fj pr create et al cannot find repo #218

forgejo-contrib-forgejo-cli-issues-218.md

latest11.5 KB
Original Source

forgejo-contrib/forgejo-cli

Watch20

Star402

Fork

You've already forked forgejo-cli

51

CodeIssues 44Pull requests 8Releases 11Packages 2WikiActivity

fj pr create et al cannot find repo #218

New issue

Closed

opened 2025-09-20 13:37:38 +02:00 by untitaker · 0 comments

untitaker commented 2025-09-20 13:37:38 +02:00

Copy link

I'm struggling to make fj pr create find the repository. Here is my local git remotes:

text
$ git remote --verbose
origin [email protected]:untitaker/mastodon-list-bot (fetch)
origin [email protected]:untitaker/mastodon-list-bot (push)

debugging output:

text
$ cb pr create
[src/repo.rs:96:17] &name = Some(
    "origin",
)
[src/repo.rs:166:9] &remote_repo_name = Some(
    RepoName {
        owner: "untitaker",
        name: "mastodon-list-bot",
    },
)
[src/repo.rs:167:9] &repo_name = None
[src/repo.rs:168:9] &repo_url = None
[src/repo.rs:169:9] &remote = None
[src/repo.rs:170:9] &host_url = Some(
    Url {
        scheme: "https",
        cannot_be_a_base: false,
        username: "",
        password: None,
        host: Some(
            Domain(
                "codeberg.org",
            ),
        ),
        port: None,
        path: "/",
        query: None,
        fragment: None,
    },
)
[src/repo.rs:171:9] &remote_url = Some(
    Url {
        scheme: "ssh",
        cannot_be_a_base: false,
        username: "git",
        password: None,
        host: Some(
            Domain(
                "codeberg.org",
            ),
        ),
        port: None,
        path: "/",
        query: None,
        fragment: None,
    },
)
[src/repo.rs:205:9] &info = RepoInfo {
    url: Url {
        scheme: "https",
        cannot_be_a_base: false,
        username: "",
        password: None,
        host: Some(
            Domain(
                "codeberg.org",
            ),
        ),
        port: None,
        path: "/",
        query: None,
        fragment: None,
    },
    name: Some(
        RepoName {
            owner: "untitaker",
            name: "mastodon-list-bot",
        },
    ),
    remote_name: Some(
        "origin",
    ),
}
Error: relative URL without a base

Location:
    src/prs.rs:963:30

applied git patch to try and debug this:

#click to expand

diff
diff --git a/src/repo.rs b/src/repo.rs
index 8d292ef..621c88a 100644
--- a/src/repo.rs
+++ b/src/repo.rs
@@ -8,6 +8,7 @@ use url::Url;

 use crate::SpecialRender;

+#[derive(Debug)]
 pub struct RepoInfo {
     url: Url,
     name: Option<RepoName>,
@@ -92,6 +93,8 @@ impl RepoInfo {
                     }
                 }

+ dbg!(&name);
+
                 // if the current branch is tracking a remote branch, use that remote
                 if name.is_none() {
                     let head = local_repo.head()?;
@@ -160,6 +163,13 @@ impl RepoInfo {
             out
         };

+ dbg!(&remote_repo_name);
+ dbg!(&repo_name);
+ dbg!(&repo_url);
+ dbg!(&remote);
+ dbg!(&host_url);
+ dbg!(&remote_url);
+
         let (url, name) = if repo_url.is_some() {
             (repo_url, repo_name)
         } else if repo_name.is_some() {
@@ -192,6 +202,7 @@ impl RepoInfo {
             (None, None) => eyre::bail!("no repo info specified"),
         };

+ dbg!(&info);
         Ok(info)
     }

version is 5db78c8b64971546e3f91f4b5cd3c650fdc49a6b (main branch)

I'm struggling to make fj pr create find the repository. Here is my local git remotes: $ git remote --verbose origin [email protected]:untitaker/mastodon-list-bot (fetch) origin [email protected]:untitaker/mastodon-list-bot (push) debugging output: $ cb pr create [src/repo.rs:96:17] &name = Some( "origin", ) [src/repo.rs:166:9] &remote_repo_name = Some( RepoName { owner: "untitaker", name: "mastodon-list-bot", }, ) [src/repo.rs:167:9] &repo_name = None [src/repo.rs:168:9] &repo_url = None [src/repo.rs:169:9] &remote = None [src/repo.rs:170:9] &host_url = Some( Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some( Domain( "codeberg.org", ), ), port: None, path: "/", query: None, fragment: None, }, ) [src/repo.rs:171:9] &remote_url = Some( Url { scheme: "ssh", cannot_be_a_base: false, username: "git", password: None, host: Some( Domain( "codeberg.org", ), ), port: None, path: "/", query: None, fragment: None, }, ) [src/repo.rs:205:9] &info = RepoInfo { url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some( Domain( "codeberg.org", ), ), port: None, path: "/", query: None, fragment: None, }, name: Some( RepoName { owner: "untitaker", name: "mastodon-list-bot", }, ), remote_name: Some( "origin", ), } Error: relative URL without a base Location: src/prs.rs:963:30 applied git patch to try and debug this: <details><summary>click to expand</summary> diff diff --git a/src/repo.rs b/src/repo.rs index 8d292ef..621c88a 100644 --- a/src/repo.rs +++ b/src/repo.rs @@ -8,6 +8,7 @@ use url::Url; use crate::SpecialRender; +#[derive(Debug)] pub struct RepoInfo { url: Url, name: Option\<RepoName\>, @@ -92,6 +93,8 @@ impl RepoInfo { } } + dbg!(&name); + // if the current branch is tracking a remote branch, use that remote if name.is_none() { let head = local_repo.head()?; @@ -160,6 +163,13 @@ impl RepoInfo { out }; + dbg!(&remote_repo_name); + dbg!(&repo_name); + dbg!(&repo_url); + dbg!(&remote); + dbg!(&host_url); + dbg!(&remote_url); + let (url, name) = if repo_url.is_some() { (repo_url, repo_name) } else if repo_name.is_some() { @@ -192,6 +202,7 @@ impl RepoInfo { (None, None) =\> eyre::bail!("no repo info specified"), }; + dbg!(&info); Ok(info) } </details> version is 5db78c8b64971546e3f91f4b5cd3c650fdc49a6b (main branch)

Cyborus referenced this issue from a pull request that will close it, 2025-09-20 15:18:42 +02:00 use ssh_url_parse, not .parse::<Url> #219

Cyborus closed this issue 2025-09-21 20:44:48 +02:00

Cyborus added this to the v0.4.0 milestone 2025-12-01 17:02:21 +01:00

Sign in to join this conversation.

No Branch/Tag specified

BranchesTags

main

renovate/lock-file-maintenance

renovate/serde-saphyr-0.x

docs/contributing

no-port-in-refspec

login/v16.next.forgejo.org

crates-io-publish

0.5.x

compile-time-fluent

0.4.x

localization-alias-demo

api_url_field

v0.5.0

v0.4.1

v0.4.0

v0.3.0

v0.2.0

v0.1.1

v0.1.0

v0.0.4

v0.0.3

v0.0.2

v0.0.1

Labels

Clear labels[ Kind/Breaking Breaking change that won't be backward compatible

](#)[ Kind/Bug Something is not working

](#)[ Kind/Design Discussion about UI/UX design

](#)[ Kind/Documentation Documentation changes

](#)[ Kind/Enhancement Improve existing functionality

](#)[ Kind/Feature New functionality

](#)[ Kind/Security This is security issue

](#)[ Kind/Testing Issue or pull request related to testing

](#)[ Kind/Upstream This is an issue with upstream software (Forgejo) that is probably not our fault

](#)

[ Priority

Critical The priority is critical

](#)[ Priority

High The priority is high

](#)[ Priority

Low The priority is low

](#)[ Priority

Medium The priority is medium

](#)

[ Reviewed

Confirmed Issue has been confirmed

](#)[ Reviewed

Duplicate This issue or pull request already exists

](#)[ Reviewed

Invalid Invalid issue

](#)[ Reviewed

Won't Fix This issue won't be fixed

](#)

[ Status

Abandoned Somebody has started to work on this but abandoned work

](#)[ Status

Blocked Something is blocking this issue or pull request

](#)[ Status

Need More Info Feedback is required to reproduce issue or to continue work

](#)

[ Suspicious

](#)

No labels Kind/Breaking Kind/Bug Kind/Design Kind/Documentation Kind/Enhancement Kind/Feature Kind/Security Kind/Testing Kind/Upstream [ Priority

Critical ](/forgejo-contrib/forgejo-cli/issues?labels=173012) [ Priority

High ](/forgejo-contrib/forgejo-cli/issues?labels=173013) [ Priority

Low ](/forgejo-contrib/forgejo-cli/issues?labels=173015) [ Priority

Medium ](/forgejo-contrib/forgejo-cli/issues?labels=173014) [ Reviewed

Confirmed ](/forgejo-contrib/forgejo-cli/issues?labels=173007) [ Reviewed

Duplicate ](/forgejo-contrib/forgejo-cli/issues?labels=173005) [ Reviewed

Invalid ](/forgejo-contrib/forgejo-cli/issues?labels=173006) [ Reviewed

Won't Fix ](/forgejo-contrib/forgejo-cli/issues?labels=173008) [ Status

Abandoned ](/forgejo-contrib/forgejo-cli/issues?labels=173011) [ Status

Blocked ](/forgejo-contrib/forgejo-cli/issues?labels=173010) [ Status

Need More Info ](/forgejo-contrib/forgejo-cli/issues?labels=173009) Suspicious

Milestone

Clear milestone

No items

No milestone v0.4.0

Projects

Clear projects

No items

No project

Assignees

Clear assignees

No assignees

1 participant

Notifications Subscribe

Due date

The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference

forgejo-contrib/forgejo-cli#218

WritePreview

Loading…

Add table

| Rows | | | Columns | |

CancelOK

Add a link

Url Description Hint: With a URL in your clipboard, you can paste directly into the editor to create a link.

CancelOK

CancelSave

Reference in a new issue

Repository

forgejo-contrib/forgejo-cli

Title

Body

Create issue

No description provided.

Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?

No Yes