git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Git Gui does not want to work on chunk level

From
Shawn O. Pearce <spearce@spearce.org>
Date
Sep 3, 2008, 23:08 UTC
Message-ID
<20080903230814.GJ28315@spearce.org>
In-Reply-To
<c6c947f60809031223i575ca3fdya357588610bb72e8@mail.gmail.com>
Alexander Gladysh <agladysh@gmail.com> wrote:
Show 11 quoted lines
> On Wed, Aug 27, 2008 at 1:16 PM, Alexander Gladysh <agladysh@gmail.com> wrote:
> > $ git --version
> > git version 1.6.0.GIT
> >
> > $ git gui --version
> > git-gui version 0.11.GITGUI
> >
> > I like 'stage hunk for commit' feature in Git Gui, but often it gives
> > me an error message box:
> >
> > fatal: git-apply: bad git-diff - inconsistent old filename on line 4
...
> Does anyone else encounter this kind of error? Any debugging advice?
> Perhaps I can instrument git gui with logging somewhere (dump diffs
> for example). (I have no experience with TCL though.)

I've never seen that before, but its clearly dumping a bad diff into git-apply.

Open up lib/diff.tcl and find "proc apply_hunk". Inside of the catch maybe insert a puts to see the diff, e.g.:

diff --git a/git-gui/lib/diff.tcl b/git-gui/lib/diff.tcl
index 52b79e4..4acaccf 100644
--- a/git-gui/lib/diff.tcl
+++ b/git-gui/lib/diff.tcl
@@ -341,6 +341,8 @@ proc apply_hunk {x y} {
 		fconfigure $p -translation binary -encoding binary
 		puts -nonewline $p $current_diff_header
 		puts -nonewline $p [$ui_diff get $s_lno $e_lno]
+puts -nonewline stdout $current_diff_header
+puts -nonewline stdout [$ui_diff get $s_lno $e_lno]
 		close $p} err]} {
 		error_popup [append $failed_msg "\n\n$err"]
 		unlock_index

Then if you can scrub the context and +/- lines for a bad diff and
send us at least the headers, or tell us how they are malformed,
it would help to debug it.
 
-- 
Shawn.
Previous: Alexander GladyshNext: Alexander Gladysh
Message 2 of 15 in “Re: Git Gui does not want to work on chunk level”
  1. Alexander GladyshSep 3, 2008
  2. Shawn O. PearceSep 3, 2008
  3. Alexander GladyshSep 4, 2008
  4. Shawn O. PearceSep 4, 2008
  5. Alexander GladyshSep 4, 2008
  6. Shawn O. PearceSep 5, 2008
  7. Junio C HamanoSep 5, 2008
  8. Shawn O. PearceSep 5, 2008
  9. Johannes SixtSep 15, 2008
  10. Bert WesargNov 30, 2010
  11. Bert WesargNov 30, 2010
  12. Bert WesargDec 6, 2010
  13. Alexander GladyshSep 15, 2008
  14. Alexander GladyshSep 5, 2008
  15. Shawn O. PearceSep 15, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.