prati0100 / git-gui

Tcl/Tk based UI for Git. I am currently acting as the project's maintainer.
160 stars 87 forks source link

"Stage Hunk/Line For Commit" grayed out when having a custom diff #104

Open wojnilowicz opened 6 months ago

wojnilowicz commented 6 months ago

Steps to reproduce:

  1. download and unpack partial-staging-and-custom-diff.zip
  2. cd partial-staging-and-custom-diff
  3. git gui
  4. RMB on changed lines

Behavior:

"Stage Hunk/Line For Commit" menu entries are grayed out as in the image below git gui greys out partial staging

Expected behavior:

"Stage Hunk/Line For Commit" menu entries shouldn't be are grayed out.

Additional Info:

  1. Version git-gui version 0.21.0.116.g0730a git version 2.43.0

    Tcl/Tk version 8.6.12 Aspell 0.60.8, pl

  2. The issue occurs when I have a ".gitattributes" file with following contents *.txt diff=myDiff and in the ".git/config" following contents
    [diff "myDiff"]
    textconv=cat
    binary=false
  3. git add -i respects binary=false set under [diff "myDiff"] and allows me to "Stage Hunk/Line For Commit" as in the image below git add -i asks about partial staging It would not allow me to do so if binary=true. Meanwhile git gui doesn't allow me to do so in either case.