Commiting old version of file introduces other files to commit

From: Roger Rohrbach <hidden>
Date: 2022-12-15 18:03:35

My commit changed one file, and deleted another:
 
    commit 5ad22bab408029fde463eae0354becfee702c89b
    Author: Roger Rohrbach [off-list ref]
    Date:   Fri Dec 9 20:43:04 2022 -0800
 
        Automatically disallow robots for ringfenced site
 
        As a side effect of setting "Ringfence this site" to "Yes," install a
        Robots Exclusion Protocol file (overwriting any existing one) that
        disallows all robots.
 
        Also remove unused static robots.txt file with same rules, to avoid
        confusion.
 
    diff --git a/opt/bepress/share/robots.txt b/opt/bepress/share/robots.txt
    deleted file mode 100644
    index 6ffbc308f7..0000000000
    --- a/opt/bepress/share/robots.txt
    <diffs redacted>
    diff --git a/perllib/Site.pm b/perllib/Site.pm
    index b531e6dade..671d2f0a97 100644
    --- a/perllib/Site.pm
    +++ b/perllib/Site.pm
    <diffs redacted>
 
I needed to revert the change to the first file, but wished not to restore the deleted file.  So, instead of 'git revert 5ad22ba', I did this:
 
    # Check out the version of the file immediately preceding my commit:
    git checkout 68e2db7 perllib/Site.pm
    # Commit it:
    git commit -m "Back out Site.postsave installation of robots.txt"
 
Imagine my surprise when this introduced two additional files to the commit:
 
    [DCIR-188-3 1daac3bdf0] Back out Site.postsave installation of robots.txt
    3 files changed, 3 insertions(+), 20 deletions(-)
    create mode 100644 opt/bepress/share/robots.txt
    delete mode 100644 perllib/.htaccess
 
Not only did this restore the file I was taking pains not to restore; it arbitrarily deleted another file I'd never touched.
 
Is this some weird hash collision problem?

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help