On 26-08-2020 14:57, Shourya Shukla wrote: > On 8/25/20, Kaartic Sivaraam <kaartic.sivaraam@xxxxxxxxx> wrote: >> >> This part results in a difference in error message in shell and C >> versions. >> >> -- 8< -- >> $ # Shell version >> $ git submodule add ../subm1 sub >> A git directory for 'sub' is found locally with remote(s): >> origin /me/subm1 >> If you want to reuse this local git directory instead of cloning again from >> /me/subm1 >> use the '--force' option. If the local git directory is not the correct >> repo >> or you are unsure what this means choose another name with the '--name' >> option. >> $ >> $ # C version >> $ git submodule add ../subm1 sub >> A git directory for 'sub' is found locally with remote(s): >> origin /me/subm1 >> error: If you want to reuse this local git directory instead of cloning >> again from >> /me/subm1 >> use the '--force' option. If the local git directory is not the correct >> repo >> or you are unsure what this means choose another name with the '--name' >> option. >> -- >8 -- >> >> Note how the third line is oddly prefixed by a `error` unlike the rest >> of the lines. It would be nice if we could weed out that inconsistency. >> We could probably use `advise()` for printing the last four lines and >> `error()` for the lines above them. > > Understood. I will correct this part. BTW, you surely are talking > about error() on > the first 2 lines? I think fprintf(stderr, _()) is OK for them otherwise they > will be prefixed by 'error:' which will not be in line with the shell version. > Yes. It's better to prefix them with `error` because well... it is an error. I realize the shell version didn't explicitly do this but that doesn't necessarily mean the error message was helpful without the prefix. AFAIK, many Git commands prefix their error messages with `fatal` or `error` which makes it easy to distinguish error messages from actual program output in the terminal. So, it's good to do the same here. -- Sivaraam