Skip to content

[Bug]: authorship is sometimes lost through rebases #1079

@JeanFred

Description

@JeanFred

What broke?

Since recently, authorship is sometimes lost through rebases (although I did confirm in the past it worked).

I’m on a branch with commits with git-ai information, as evidenced by git-ai log or git-ai show xyz[1].

After rebasing on top of main branch, all authorship information is lost (as evidenced by git-ai log).[2]

I first noticed it with interactive rebases using [git-interactive-rebase-tool](https://github.com/MitMaro/git-interactive-rebase-tool), but I also tried with a more vanilla sequence editor, and also tried non-interactive rebase (ie git rebase origin/master) − authorship is lost.

This does not always happen though, I don’t understand why. But I can definitely reproduce on the repo I’m working on at the moment.

[1] For example

Notes (ai):
    ---
    {
      "schema_version": "authorship/3.0.0",
      "git_ai_version": "1.2.8",

[2]

No authorship data found for this revision

Steps to reproduce

See above

Expected vs actual behavior

Expected: git-ai information is kept post-rebases
Actual: git-ai information is lost post-rebases

Diagnostics (git-ai debug)

git-ai debug report
Generated (UTC): 2026-04-14T10:50:35.280446608+00:00

== Versions ==
Git AI version: 1.2.8
Git AI binary: /home/jeanfred/.git-ai/bin/git-ai
Git binary path: /usr/bin/git
Git version: git version 2.53.0

== Platform ==
OS family: unix
OS: linux
Arch: x86_64
Kernel: Linux 6.8.0-106-generic x86_64
Hostname: redacted
Shell: /bin/bash
Current dir: /home/jeanfred/redacted

== Hardware ==
CPU: 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz
Physical cores: <unavailable>
Logical cores: 8
Memory: 15.34 GB (16476557312 bytes)

== Repository ==
In repository: true
Workdir: /home/jeanfred/redacted
Git dir: /home/jeanfred/redacted.git
Git common dir: /home/jeanfred/redacted/.git
Branch: feature/redacted
HEAD: redacted
Remotes:
  origin = git@github.com:redacted.git

== Git Config ==
Command: /usr/bin/git config --list --show-origin --show-scope
<snip>

== Git AI Config ==
  config_file_path: /home/jeanfred/.git-ai/config.json
  git_ai_dir: /home/jeanfred/.git-ai
  runtime_config:
    {
      "git_path": "/usr/bin/git",
      "exclude_prompts_in_repositories": [],
      "include_prompts_in_repositories": [],
      "allow_repositories": [],
      "exclude_repositories": [],
      "telemetry_oss_disabled": false,
      "telemetry_enterprise_dsn": null,
      "disable_version_checks": false,
      "disable_auto_updates": false,
      "update_channel": "latest",
      "feature_flags": {
        "rewrite_stash": false,
        "inter_commit_move": false,
        "auth_keyring": false,
        "async_mode": true,
        "git_hooks_enabled": false,
        "git_hooks_externally_managed": false
      },
      "api_base_url": "https://usegitai.com",
      "prompt_storage": "default",
      "default_prompt_storage": null,
      "api_key": null,
      "quiet": false,
      "custom_attributes": {},
      "git_ai_hooks": {}
    }

== Git AI Login ==
Credential backend: file
Status: logged out

== Git AI Environment ==
No GIT_AI_* environment variables are set.

Extra context (optional)

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions