FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

gitconfig: mnemonicPrefix conflict with create_patch · Issue #2013 · gitpython-developers/GitPython · GitHub

Repository navigation

gitconfig: mnemonicPrefix conflict with create_patch #2013

Closed

Description

the regex:

[ ](?P<a_path_fallback>"?[ab]/.+?"?)[ ](?P<b_path_fallback>"?[ab]/.+?"?)\n

is not able to match the diff generated if this flag is enabled in ~/.gitconfig:

[diff]
        mnemonicPrefix = true

because it is expecting [ab]/ as folder prefix for the diff but with mnemonicPrefix enabled it become [wc]/

Diff without mnemonicPrefix

diff --git a/.vscode/launch.json b/.vscode/launch.json
index xxxxxxx..xxxxxxxx
--- a/.vscode/launch.json
+++ b/.vscode/launch.json

Diff with mnemonicPrefix = true

diff --git c/.vscode/launch.json w/.vscode/launch.json
index xxxxxxx..xxxxxxxx
--- c/.vscode/launch.json
+++ w/.vscode/launch.json

Quick Test

repo = git.Repo('.')
branch_ref = repo.head
ancestor_ref = repo.merge_base(branch_ref, repo.refs["main"])
diff = ancestor_ref[0].diff(None, create_patch=True)
print(diff)

Activity

  1. Byron commented on Mar 12, 2025

    Member

    Thanks a lot for reporting!

    To fix this, GitPython should control for this flag and turn it off when invoking Git, i.e. with git -c mnemonicPrefix=false.

  2. ceccopierangiolieugenio commented on Mar 13, 2025

    Author

    thanks @Byron, is it there a workaround I can use in the meantime?
    something like:

    diff = ancestor_ref[0].diff(None, create_patch=True, c='diff.mnemonicPrefix=false')
  3. ceccopierangiolieugenio commented on Mar 13, 2025

    Author

    So far a quick workaround is:

    diff = ancestor_ref[0].diff(None, create_patch=True, **{'src-prefix':'a/','dst-prefix':'b/'})
  4. added theissue type on Jul 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions


      Back | FazBrowse Home | New Git URL