Git development
 help / color / mirror / Atom feed
* How to make git diff-* ignore some patterns?
@ 2009-11-21 16:40 Dirk Süsserott
  2009-11-21 17:31 ` Michael J Gruber
  2009-11-21 18:07 ` Björn Steinbrink
  0 siblings, 2 replies; 4+ messages in thread
From: Dirk Süsserott @ 2009-11-21 16:40 UTC (permalink / raw)
  To: Git Mailing List

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>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-11-22 15:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-21 16:40 How to make git diff-* ignore some patterns? Dirk Süsserott
2009-11-21 17:31 ` Michael J Gruber
2009-11-21 18:07 ` Björn Steinbrink
2009-11-22 15:51   ` Dirk Süsserott

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox