Re: rm and add, but not rename, of identical files
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:54:59
Drew Northup [off-list ref] writes:
On Wed, 2012-10-10 at 14:47 -0700, Junio C Hamano wrote:quoted
Drew Northup [off-list ref] writes:quoted
# Untracked files: # (use "git add <file>..." to include in what will be committed) # # rc.d/rc2.d/S08iptables # rc.d/rc3.d/S08iptables # rc.d/rc4.d/S08iptables ... no changes added to commit (use "git add" and/or "git commit -a") It detects the changes as renames however―which in this case isn't appropriate: [root@drew-northup ~]# etckeeper vcs status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # renamed: rc.d/rc2.d/K92iptables -> rc.d/rc2.d/S08iptables # renamed: rc.d/rc3.d/K92iptables -> rc.d/rc3.d/S08iptables # renamed: rc.d/rc4.d/K92iptables -> rc.d/rc4.d/S08iptables #...Given that all of these six files have the same contents, I actually am slightly impressed how well Git matched them up ;-). But more seriously, why do you have rc.d/rc2.d/S08iptables untracked in the working tree but in the index to be committed?Missing steps in the mail body: etckeeper vcs add <File> & etckeeper vcs rm <File> commands. I pared it back to the absolute minimum. Is that what you're asking about?
Yes. Without the "add" step, detecting the K92iptables that has been moved to an untracked S08iptables as rename looked like a magic (read: bug) to me, and that was why I asked. Aren't K92iptables and S08iptables the same script with case "$1" in start) ... start thing ...;; stop) ... stop thing ...;; esac in it? On Debian, these S/K files appear directly under /etc without intermediate rc.d level, and they are symbolic links to real files in /etc/init.d/, so extrapolating from that knowledge and with a bit of imagination that some systems might keep copies of these files instead of linking to the same thing, I would actually find it desireable to call the move from K92iptables to S08iptables a rename, rather than reporting a removal and a addition of unrelated files.