Diffing tool
by Gary "ChunkyKs" Briggs · in General Discussion · 01/17/2007 (1:03 pm) · 7 replies
I'm looking for a diffing tool.
What I'm imagining is a magical GUI tool, that allows me to check all the differences I want to actually appear in a diff, and create a unified diff based on that.
Bonus points for it understanding subversion or other versioning systems.
So, for example, I'd do
Which would then bring up a GUI showing me all the changes in my svn repo, between revision 1 and current, with checkboxes next to all of the changes. I'd be able to select or unselect as many changes as I please, and click a button to export a diff, which would cleanly apply to version 1 of my repository. It wouldn't bring me up to the current HEAD completely, but it would make all the changes I wanted.
Does anyone know of such a tool?
Other useful answers would include a tool that allows me to take diffs already created and, with or without a context directory tree or filesystem, allow me to selectively remove differences from the diff file.
So, any ideas?
Gary (-;
What I'm imagining is a magical GUI tool, that allows me to check all the differences I want to actually appear in a diff, and create a unified diff based on that.
Bonus points for it understanding subversion or other versioning systems.
So, for example, I'd do
Dream-GUI-Diff-Tool -r1:HEAD file:///svn/torque/
Which would then bring up a GUI showing me all the changes in my svn repo, between revision 1 and current, with checkboxes next to all of the changes. I'd be able to select or unselect as many changes as I please, and click a button to export a diff, which would cleanly apply to version 1 of my repository. It wouldn't bring me up to the current HEAD completely, but it would make all the changes I wanted.
Does anyone know of such a tool?
Other useful answers would include a tool that allows me to take diffs already created and, with or without a context directory tree or filesystem, allow me to selectively remove differences from the diff file.
So, any ideas?
Gary (-;
#2
EDIT: It even supports diffing of image files with plugins available if you own the product. http://www.scootersoftware.com/download.php?c=pixview
01/17/2007 (1:32 pm)
I bought a copy of Beyond Compare myself. It's got a lot of nice plugins, and you can write your own for it as well. It's not version control aware inherently but alot of tools can be configured to use it as their diff tool rather than their built in one. You can find the product at http://www.scootersoftware.com/EDIT: It even supports diffing of image files with plugins available if you own the product. http://www.scootersoftware.com/download.php?c=pixview
#3
01/17/2007 (1:44 pm)
Gary, since you're a Mac user, why don't you use FileMerge? Each of the non-matching blocks have arrows, and you just point at the block you want to keep for each, and then hit "save merge" from the file menu. Seems to be exactly what you're looking for.
#4
FileMerge is kinda neat, but the process would be pretty unpleasant to do what I want. I'd have to have three copies of a tree. Check out r1, check out rHEAD, and check out r1 a second time. Compare the first r1 and rHEAD, and apply changes to the second r1. Then diff the two r1s, which would give me what I want...
Alternatively, I could use only two checkouts, apply changes to the first r1, and diff against svn, but that would mean molesting part of my base dataset in-place, which is karmawise upsetting for me.
The other problem is, I haven't found a way to make FileMerge ignore newline changes, as at least one of my editors has been quietly changing them. Currently to get a usable diff out of svn, I have to use external diff and the -x parameter [why oh why oh why doesn't svn support this yet?], /a la/:
Honestly, if I could work out how to make FileMerge ignore newline changes, then I'd be ok-ish with FileMerge. The process wouldn't be pretty, but this isn't something I anticipate doing very much. I don't think converting every newline in engine to either one format or the other would be very convenient, either...
I guess with some hacking FileMerge and some patience would do what I want, but I was wondering if there's a magical dream tool that does this for me.
Gary (-;
01/17/2007 (2:49 pm)
Beyond Compare is windows only, and that's the one system I don't have in a useful manner, here :-/FileMerge is kinda neat, but the process would be pretty unpleasant to do what I want. I'd have to have three copies of a tree. Check out r1, check out rHEAD, and check out r1 a second time. Compare the first r1 and rHEAD, and apply changes to the second r1. Then diff the two r1s, which would give me what I want...
Alternatively, I could use only two checkouts, apply changes to the first r1, and diff against svn, but that would mean molesting part of my base dataset in-place, which is karmawise upsetting for me.
The other problem is, I haven't found a way to make FileMerge ignore newline changes, as at least one of my editors has been quietly changing them. Currently to get a usable diff out of svn, I have to use external diff and the -x parameter [why oh why oh why doesn't svn support this yet?], /a la/:
svn diff --diff-cmd diff -x -uw -r1 engine/platformX86UNIX
Honestly, if I could work out how to make FileMerge ignore newline changes, then I'd be ok-ish with FileMerge. The process wouldn't be pretty, but this isn't something I anticipate doing very much. I don't think converting every newline in engine to either one format or the other would be very convenient, either...
I guess with some hacking FileMerge and some patience would do what I want, but I was wondering if there's a magical dream tool that does this for me.
Gary (-;
#5
but as you said no winblows box's around.
I would think about using wine to run it.
it is by far the best drag n' drop code diff tool ever.
01/17/2007 (3:36 pm)
WinMerge is my favourite.but as you said no winblows box's around.
I would think about using wine to run it.
it is by far the best drag n' drop code diff tool ever.
#6
01/17/2007 (4:23 pm)
I got sum cool sprites they are .max files i dont know how to put them on torque game engin PLEASE HELP!!!!!!!!. IF YOU KNOW A TUTORIAL PLEASE POST IT. HELP HELP HELP!!!!!!!!!!!!!
#7
rob$ bbdiff
Usage: bbdiff [options] FILE1 FILE2
--case-sensitive
--flatten-folders
--help
--ignore-curly-quotes
--ignore-spaces
--ignore-extra-spaces
--ignore-leading-spaces
--ignore-trailing-spaces
--resume
--reverse
--short-version
--show-identical-files
--skip-shielded-folders
--text-files-only
--version
--wait
You can edit the code in either window, too. I know all the cool kids use TextMate or whatever, but BBEdit's still got the goods.
01/17/2007 (6:26 pm)
What's funny is I'm following your thread with Tim in IRC, just several hours behind you. So, anyway... BBEdit's bbdiff will ignore case:rob$ bbdiff
Usage: bbdiff [options] FILE1 FILE2
--case-sensitive
--flatten-folders
--help
--ignore-curly-quotes
--ignore-spaces
--ignore-extra-spaces
--ignore-leading-spaces
--ignore-trailing-spaces
--resume
--reverse
--short-version
--show-identical-files
--skip-shielded-folders
--text-files-only
--version
--wait
You can edit the code in either window, too. I know all the cool kids use TextMate or whatever, but BBEdit's still got the goods.
Associate David Montgomery-Blake
David MontgomeryBlake