Hi,
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