Denis535
Denis535

Reputation: 3590

Error "Repository is unrelated" when pushing repository with sub-repository to bitbucket

There is repository (GameFramework) which I want to use as sub repository in another repositories.

I created a new main repository and then clone GameFramework into this repository and make GameFramework a sub repository. But when I'm trying to push main repository to bitbucket I'm getting error: repository is unrelated or repository is unrelated (in subrepo [path])

This is strange but when after error I clear bitbucket repository and then push again it works!

I taked the video https://youtu.be/WI86_3I2ZH0

Why is this happening?

Upvotes: 3

Views: 1884

Answers (2)

Denis535
Denis535

Reputation: 3590

You need to change .hgsub file. By default this file has the next format:

[folder to sub repo] = [folder to sub repo]

You need to chane it on:

[folder to sub repo] = [sub repo url]

Upvotes: 1

planetmaker
planetmaker

Reputation: 6044

Two repositories are considered unrelated by mercurial, if they do not have the same origin, thus were created independently.

Without the use of the --force option mercurial does not allow pushing to unrelated repositories.

In your case, you (or someone else) likely created a repository for the sub-project in each of the projects separately and independently - and not referencing the same repository as sub-repository.

Fixing the issue is a bit tricky. Likely the easiest approach is to change to one of the sub-repos. Pull from the other sub-repo and do a merge as needed. And also doing it the other way around.

Upvotes: 2

Related Questions