I’m developing a system that has MySQL database with respectable amount of tables and data. I am tracking changes in the database by exporting the table to SQL using phpMyAdmin, which should produce nicely diffable .sql dump file. On the development environment side there is also “a set number” of rows, basically some set of data, which also gets updated in the process. The size of the last dump was 1.77MB which for a text file is somewhat large.
The problem comes when I replace the .sql dump file with the new one, that contains one new table in one place in the file, indexes in another, constraints in third and auto increment in fourh location across the file - four spots here and there, basically. It shows the diff just fine, I think, but when I try to merge one block or selected rows - it does not matter - it stages some very different piece of the file. Currently I am unable to merge the updates. My next workaround is to export the table without data, so it’s a lot smaller file, and hopefully easier for diff/git to handle…
Unfortunately I can’t provide the sample file I’m having the issue with, but I guess you could just export some 2MB SQL file using phpMyAdmin, add it, create a new table with indexes and constraints, export it again, and try to merge one block from the middle…
I’m using Windows 7 Professional 64-bit Finnish, and the SQL dump is from phpMyAdmin running on top of XAMPP at the same computer.
Here’s the debug info, with personal and identifyable strings removed:
=== App Version Information === Build: 1107 === Git Version Information === Using Git: C:\Program Files\Sublime Merge\Git\cmd\git.exe (bundled) git version 2.19.1.windows.1 PATH: C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\ProgramData\Oracle\Java\javapath;C:\Windows\SYSTEM32;C:\Windows;C:\Windows\SYSTEM32\WBEM;C:\Windows\SYSTEM32\WINDOWSPOWERSHELL\V1.0\;C:\Program Files\Git\cmd;C:\Program Files (x86)\Nmap === Browse Page Information === HEAD: (hidden) Is in merge: 0 Is in cherry_pick: 0 Is in rebase: 0 Is in revert: 0 === Git Status Information === M dump.sql === Our Status Information === M dump.sql === Git Config Information === color.branch=auto color.diff=auto color.interactive=true color.status=auto core.autocrlf=true core.bare=false core.filemode=false core.fscache=true core.ignorecase=true core.logallrefupdates=true core.repositoryformatversion=0 core.symlinks=false credential.helper=manager diff.astextplain.textconv=astextplain filter.lfs.clean=git-lfs clean -- %f filter.lfs.process=git-lfs filter-process filter.lfs.required=true filter.lfs.smudge=git-lfs smudge -- %f help.format=html http.sslcainfo=/ssl/certs/ca-bundle.crt pack.packsizelimit=2g rebase.autosquash=true user.email=(hidden) user.name=(hidden) === Our Config Information === Git Config Path Information Using config path: /C/ProgramData/Git/config Using config path: /C/Program Files/Sublime Merge/Git/mingw64/etc/gitconfig Using config path: /C/Users/(hidden)/.config/git/config Using config path: /C/Users/(hidden)/.gitconfig Using config path: /C/xampp/htdocs/.git/config Our config output is identical to the Git config output === Git Attributes Information === git check_attr --all output dump.sql === Our Modified Files Newline Normalisation and EOL Information === dump.sql: autocrlf - crlf