threads / discuss / 57340

Why won't "git rebase -Xrenormalize -i $REBASE_SHA" do anything?

Subject: Why won't "git rebase -Xrenormalize -i $REBASE_SHA" do anything?

## tl;dr

3 messages between Jan 31, 2022 and Jan 31, 2022.

replies: 2people: 3as markdown or json

Josef Wolf· Jan 31, 2022, 11:01 UTC · lore
Hello,
I've added "* text=auto" to an existing repo with a completely linear history.

Now, as expected, every rebase operation gives me lots of conflicts, which are hard to resolve.

So I'd like to clean up the history:
  $ git rebase -Xrenormalize -i $REBASE_SHA
But this turns out to be a no-op? It says immediately
  Successfully rebased and updated refs/heads/wip-normalize

without even the counter which is usually output to show progress during an interactive rebase as it is working through the rebase-todo. I can confirm that nothing has happened by checking the sha of the branch.

So, what am I missing? How would I renormalize all the commits of a branch? The branch has linear history, no merges there.

Thanks,
-- 
Josef Wolf
jw@raven.inka.de
Torsten B��gershausen· Jan 31, 2022, 15:51 UTC · re: Josef Wolf · lore

Re: Why won't "git rebase -Xrenormalize -i $REBASE_SHA" do anything?

On Mon, Jan 31, 2022 at 12:01:50PM +0100, Josef Wolf wrote:
> Hello,
>
> I've added "* text=auto" to an existing repo with a completely linear history.

What exactly does this mean ? Is there one branch, several branches ? No merges at all ?

Show 17 quoted lines
>
> Now, as expected, every rebase operation gives me lots of conflicts, which are
> hard to resolve.
>
> So I'd like to clean up the history:
>
>   $ git rebase -Xrenormalize -i $REBASE_SHA
>
> But this turns out to be a no-op? It says immediately
>
>   Successfully rebased and updated refs/heads/wip-normalize
>
> without even the counter which is usually output to show progress during an
> interactive rebase as it is working through the rebase-todo. I can confirm
> that nothing has happened by checking the sha of the branch.
>
> So, what am I missing? How would I renormalize all the commits of a branch?

That is a tricky question. If you renormalize all commits of one branch, you create a complete new history, right ? Just out of interest: Why do you want to do this ? And I have the slight feeling, that Git does not support this "renormalize all the commits of a branch" workflow, but I may be wrong.

Is you repo public ? Or could you come up with an example ?

Show 7 quoted lines
> The branch has linear history, no merges there.
>
> Thanks,
>
> --
> Josef Wolf
> jw@raven.inka.de
brian m. carlson· Jan 31, 2022, 23:30 UTC · re: Josef Wolf · lore

Re: Why won't "git rebase -Xrenormalize -i $REBASE_SHA" do anything?

On 2022-01-31 at 11:01:50, Josef Wolf wrote:
Show 21 quoted lines
> Hello,
> 
> I've added "* text=auto" to an existing repo with a completely linear history.
> 
> Now, as expected, every rebase operation gives me lots of conflicts, which are
> hard to resolve.
> 
> So I'd like to clean up the history:
> 
>   $ git rebase -Xrenormalize -i $REBASE_SHA
> 
> But this turns out to be a no-op? It says immediately
> 
>   Successfully rebased and updated refs/heads/wip-normalize
> 
> without even the counter which is usually output to show progress during an
> interactive rebase as it is working through the rebase-todo. I can confirm
> that nothing has happened by checking the sha of the branch.
> 
> So, what am I missing? How would I renormalize all the commits of a branch?
> The branch has linear history, no merges there.

I think what you probably want is to add the -f option. By default, Git doesn't perform a rebase when the current branch is up to date with the base branch. If you want to do it anyway, in this case, to rewrite commits, then -f should make that happen.

-- 
brian m. carlson (he/him or they/them)
Toronto, Ontario, CA

← back to recent threads