On Tue, Aug 15, 2017 at 9:35 PM, Lars Schneider <larsxschneider@xxxxxxxxx> wrote: > >> On 15 Aug 2017, at 21:29, Christian Couder <christian.couder@xxxxxxxxx> wrote: >> >> On Tue, Aug 15, 2017 at 9:00 PM, Lars Schneider >> <larsxschneider@xxxxxxxxx> wrote: >>> >>> Wouldn't it be possible to use "process->argv[0]"? >>> Shouldn't that be the same as "cmd"? >> >> Well in sub-process.h there is: >> >> /* Members should not be accessed directly. */ >> struct subprocess_entry { >> struct hashmap_entry ent; /* must be the first member! */ >> const char *cmd; >> struct child_process process; >> }; >> >> so if cmd is always the same as process->argv[0], maybe there is no >> need for the cmd member in the first place? > > The struct is a hash map entry. `cmd` is the key for a `process`. > Therefore, I think this is still necessary. > > Does this make sense? Not sure it makes sense. A quick try to remove the cmd member, failed t0021 with: Initialized empty Git repository in /home/christian/git/git/t/trash directory.t0021-conversion/repo/.git/ [master (root-commit) 56d459b] test commit 1 Author: A U Thor <author@xxxxxxxxxxx> 1 file changed, 1 insertion(+) create mode 100644 .gitattributes --- expected.log.tmp 2017-08-15 20:27:51.658818467 +0000 +++ debug.log.tmp 2017-08-15 20:27:51.662818526 +0000 @@ -2,6 +2,6 @@ x IN: clean test2.r 14 [OK] -- OUT: 14 . [OK] x IN: clean test4-empty.r 0 [OK] -- OUT: 0 [OK] x IN: clean testsubdir/test3 'sq',$x=.r 49 [OK] -- OUT: 49 . [OK] - 1 START - 1 STOP - 1 init handshake complete + 4 START + 4 STOP + 4 init handshake complete not ok 15 - required process filter should filter data and it is not clear to me why, so I guess you are right and I will just use process->argv[0].