threads / discuss / 49252

Git Unrelated Histories

Subject: Git Unrelated Histories

## tl;dr

4 messages between Aug 29, 2018 and Aug 29, 2018.

replies: 3people: 2as markdown or json

Tomas Zubiri· Aug 29, 2018, 16:49 UTC · lore
Hello all,

I have recently joined a team there seems to be a couple of issue with the git repositories:

1- A branch created from development cannot be merged into the production branch.

(production)
git merge development_feature_branch
fatal: refusing to merge unrelated histories

2- If there is a file that only has a 1 line difference in production, a git diff will return that the whole file is different:

git diff production:folder development:folder
“
diff --git a/folder/file.py b/folder/file.py

index 9bfd6612..20cce520 100644

--- a/folder/file py

+++ b/folder/file.py

@@ -1,245 +1,245 @@

“

I’m not 100% sure what happened here. But it seems that changes and
added files are copied and pasted into the production branch and
uploaded indepenedently as separate files, contributing to a huge
difference between branches.

How can I confirm this hypothesis, and what steps can I take to solve it?

Thank you.
Stefan Beller· Aug 29, 2018, 18:15 UTC · re: Tomas Zubiri · lore

Re: Git Unrelated Histories

On Wed, Aug 29, 2018 at 9:49 AM Tomas Zubiri <me@tomaszubiri.com> wrote:
Show 20 quoted lines
>
> Hello all,
>
> I have recently joined a team there seems to be a couple of  issue
> with the git repositories:
>
>
> 1- A branch created from development cannot be merged into the
> production branch.
>
>
>
> (production)
>
> git merge development_feature_branch
>
>
>
> fatal: refusing to merge unrelated histories
>
See the git merge man page for the
  --allow-unrelated-histories switch.
Show 26 quoted lines
>
>
>
> 2- If there is a file that only has a 1 line difference in production,
> a git diff will return that the whole file is different:
>
> git diff production:folder development:folder
>
>
> “
> diff --git a/folder/file.py b/folder/file.py
>
> index 9bfd6612..20cce520 100644
>
> --- a/folder/file py
>
> +++ b/folder/file.py
>
> @@ -1,245 +1,245 @@
>
> “
>
> I’m not 100% sure what happened here. But it seems that changes and
> added files are copied and pasted into the production branch and
> uploaded indepenedently as separate files, contributing to a huge
> difference between branches.

It sounds to me as if there would be line ending issues or some sort of whitespace issues (tab vs spaces).

>
> How can I confirm this hypothesis, and what steps can I take to solve it?

git diff --ignore-all-space or --ignore-space-at-eol

Look at gitattributes to set your flavor for files so you don't have to pass these flags all the time

Stefan
Tomas Zubiri· Aug 29, 2018, 20:18 UTC · lore

Fwd: Git Unrelated Histories

Thank you for taking the time to help me Stefan
On Aug 29, 2018 15:15, "Stefan Beller" <sbeller@google.com> wrote:
Show 25 quoted lines
>
> On Wed, Aug 29, 2018 at 9:49 AM Tomas Zubiri <me@tomaszubiri.com> wrote:
> >
> > Hello all,
> >
> > I have recently joined a team there seems to be a couple of  issue
> > with the git repositories:
> >
> >
> > 1- A branch created from development cannot be merged into the
> > production branch.
> >
> >
> >
> > (production)
> >
> > git merge development_feature_branch
> >
> >
> >
> > fatal: refusing to merge unrelated histories
> >
>
> See the git merge man page for the
>   --allow-unrelated-histories switch.

I have tried that switch, however when merging a small feature branch, the merge tries to merge ALL of the differences between both branches, and they have diverged quite a long while ago. I am not getting the expected behaviour of just merging the changes from the feature branch.

git-merge-base shows a common ancestor from 2 months ago,  btw.
Show 36 quoted lines
>
> >
> >
> >
> > 2- If there is a file that only has a 1 line difference in production,
> > a git diff will return that the whole file is different:
> >
> > git diff production:folder development:folder
> >
> >
> > “
> > diff --git a/folder/file.py b/folder/file.py
> >
> > index 9bfd6612..20cce520 100644
> >
> > --- a/folder/file py
> >
> > +++ b/folder/file.py
> >
> > @@ -1,245 +1,245 @@
> >
> > “
> >
> > I’m not 100% sure what happened here. But it seems that changes and
> > added files are copied and pasted into the production branch and
> > uploaded indepenedently as separate files, contributing to a huge
> > difference between branches.
>
> It sounds to me as if there would be line ending issues or some sort
> of whitespace issues (tab vs spaces).
>
> >
> > How can I confirm this hypothesis, and what steps can I take to solve it?
>
> git diff --ignore-all-space
> or --ignore-space-at-eol
This worked. Thank you!
Show 5 quoted lines
>
> Look at gitattributes to set your flavor for files so you don't have
> to pass these flags all the time
>
> Stefan
Stefan Beller· Aug 29, 2018, 20:13 UTC · lore

Re: Git Unrelated Histories

+cc the mailing list
Show 16 quoted lines
> > >
> > > git merge development_feature_branch
> > > fatal: refusing to merge unrelated histories
> > >
> >
> > See the git merge man page for the
> >   --allow-unrelated-histories switch.
>
> I have tried that switch, however when merging a small feature branch,
> the merge tries to merge ALL of the differences between both branches,
> and they have diverged quite a long while ago.
> I am not getting the expected behaviour of just merging the changes
> from the feature branch.
>
> git-merge-base shows a common ancestor from 2 months ago,  btw.
>

← back to recent threads