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

something fishy with Git commit and log from file

From
Pascal Obry <pascal@obry.net>
Date
Aug 6, 2008, 10:30 UTC
Message-ID
<48997D2E.9030708@obry.net>
The following command fails on my repository:
    $ git commit --file=clog
    fatal: could not read log file 'clog': No such file or directory
    $ cat clog
    toto
Using the following command the commit pass without problem:
    $ cat clog | git commit --file=-
With GDB I get:

$ gdb --args git ci --file=clog This GDB was configured as "i686-pc-cygwin"... (gdb) break strbuf_read_file Breakpoint 1 at 0x44e64a: file strbuf.c, line 301. (gdb) run Starting program: /usr/local/bin/git.exe ci --file=clog

Breakpoint 1, strbuf_read_file (sb=0x22cac0, path=0x22ccfa "clog", hint=0) at strbuf.c:301 301 fd = open(path, O_RDONLY); (gdb) print path $1 = 0x0

???? outch, this is strange, or a gdb artifact?

(gdb) n 302 if (fd < 0) (gdb) print fd $2 = -1 (gdb) print *0x22ccfa $3 = 1735355491 (gdb) print (char)*0x22ccfa $4 = 99 'c' (gdb) print (char)*0x22ccfb $5 = 108 'l' (gdb) print (char)*0x22ccfc $6 = 111 'o' (gdb) print (char)*0x22ccfd $7 = 103 'g' (gdb) print (char)*0x22ccfe $8 = 0 '\0'

But looks like path really contains 'clog'!!!

No luck for now to find the problem. Note that the same command pass fine on other repositories. At this point this looks really like some kind of memory corruption...

I'm on Windows, using Git for Cygwin and the compiler is:

$ gcc --version gcc (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)

Pascal.
-- 
--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|              http://www.obry.net
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595
Next: Luciano Rocha
Message 1 of 15 in “something fishy with Git commit and log from file”
  1. Pascal ObryAug 6, 2008
  2. Luciano RochaAug 6, 2008
  3. Pascal ObryAug 6, 2008
  4. Junio C HamanoAug 6, 2008
  5. Pascal ObryAug 6, 2008
  6. Junio C HamanoAug 6, 2008
  7. Pascal ObryAug 6, 2008
  8. files given on the command line are relative to $cwdJunio C Hamano, Aug 6, 2008
  9. Olivier MarinAug 6, 2008
  10. Junio C HamanoAug 6, 2008
  11. Junio C HamanoAug 6, 2008
  12. Pierre HabouzitAug 6, 2008
  13. Samuel TardieuAug 7, 2008
  14. Luciano RochaAug 7, 2008
  15. Junio C HamanoAug 7, 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.