Hi list,
is there a way to tell "git diff-index" to ignore some special patterns,
such that /^-- Dump completed on .*$/ is NOT recognized as a difference
and "git diff-index" returns 0 if that's the only difference?
-- Dirk
<Background>
I have a mySQL database which I backup daily using mysqldump (cronjob).
The result is a text file (*.sql) with all the "create" and "insert"
statements and some metadata.
I used to use tar and gzip to backup these files and got a huge
collection of backups in the last tree years (500+ MB).
Then I switched to Git and recorded only the diffs between day X and day
X-1. My repository shrunk to 16 MB for the very same data, which was great!
My database doesn't change every day, but I backup it anway and store
the backup files with Git and a cronjob. It does:
---------------
mysqldump ... -r <backupfile> # that's the output file ;-)
git add <backupfile>
if ! git diff-index --quiet HEAD --; then
git commit -m "Backup of <database> at <timestamp>"
fi
---------------
This way, a new commit is only done when the backupfile has changed. So
far, so perfect.
A few days ago my web hoster (where the database actually resides)
changed the mySQL version.
mysqldump now writes "-- Dump completed on <timestamp>" to the file and
Git correctly recognizes this as a change and my script creates a new
commit. Every day, even if only that line has changed.
I'd like to skip these commits if only the "Dump completed" line has
changed.
</Background>
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html