Subject: Re: git-svn authors file in repo (Author: xxx not defined in .gitauthors file)

From: SZEDER Gábor <[email-masked]>
Date: Fri, 20 Sep 2019 01:18:33 +0200

On Thu, Sep 19, 2019 at 11:34:21AM -0300, Joseph Mingrone wrote:
> Hello,
> 
> We maintain a .gitauthors file for git-svn.  When a new committer is
> added to our project, a new entry is added to the .gitauthors file,
> but we sometimes see errors like this:
> 
> % git -C /usr/ports svn rebase
>         M       .gitauthors
> r512146 = 0c1f924ca984d53333beabb909ea53afb856c44b (refs/remotes/origin/trunk)
>         M       math/py-pystan/Makefile
> r512147 = acc387d4c8f3ebf904010bccc5679be06b184a9d (refs/remotes/origin/trunk)
>         M       deskutils/gworkspace-gwmetadata/Makefile
> ...
> ...
> ...
> r512184 = 442bd1025776d5e3171be8e497ef2056dc47ff06 (refs/remotes/origin/trunk)
>         M       www/rubygem-passenger/Makefile
>         M       www/rubygem-passenger/distinfo
>         D       www/rubygem-passenger/files/patch-asio-libc++7
> W: -empty_dir: head/www/rubygem-passenger/files/patch-asio-libc++7
> r512185 = f1a1b447811ae84011288678136e185c83180b8e (refs/remotes/origin/trunk)
>         M       astro/xearth/files/freebsd.committers.markers
> Author: dmgk not defined in .gitauthors file
> 
> The new committer, dmgk, was added to .gitauthors in svn commit r512146,
> then later he committed to the repository for the first time in r512185.
> It seems that if these two commits are included in the same `git svn
> rebase`, the error above will occur.
> 
> Is there a solution or workaround for this aside from each committer
> having an updated .gitauthors before doing `git svn rebase`.  It's seems
> to be a chicken/egg issue; they first need the updated .gitauthors file,
> but the way to get the updated .gitauthors files is to do `git svn
> rebase`.

I have no idea how 'git svn' works and what this '.gitauthors' file
is, so no workarounds from me...  But this seems to be similar to the
issue with '.gitattributes' in core Git that was fixed recently:

  https://public-inbox.org/git/[email-masked]/

Perhaps 'git svn rebase' should do the same, i.e. look out for commits
changing this '.gitauthors' file and re-read the file each time it is
changed.

Cc-ing Eric for git-svn know-how.