If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
I've recently been using the Text Merge function and really do love it. But I find it very hard to get all of the correct files in the correct panes without a 3-Way folder merge panel. Basically I have to have three 2-way folder compare tabs open and then use the "Copy Filename" feature in those to get the file names. But since I'm going back and forth between the tabs so often, it quickly gets fairly confusing.
I realize you guys have your priority items to work on, but I'm just hoping to get this feature pushed up the priority list.
Unfortunately, we do not have a set ETA on it yet. Our 3.2 changelog is pretty long and we wanted to test it with a beta release. We do have some bigger features in there, such as connectivity with Total Commander plug-ins and Putty and a Text Content Filter (Find filter) for the Folder Compare.
OK guys -- I've heard talk of 3-way folder compare/merge now for about 6 years and still no joy. Are we even getting close?
You guys by far have the best product of this kind out on the market (I've tried all the others), yet I continue to have a need for this one lacking feature.
I've been using a free (clunky, ugly, sometimes hair-pullingly slow) tool to handle my merging needs for *years* now (since about 2004) because it can do three way folder merges (A+b=B, A+c=C, A+b+c=D). Just about every developer I've ever worked with has, over time, acknowledged the value of the three way folder merge and has started using it.
Every time I go looking for a better merge tool there are people raving about BeyondCompare, and every time I download and install it I never even get to the file merge parts. It doesn't matter that the tool I use can't hold a candle to your file merge tools: without a three way folder merge it's a non-starter.
I've now started looking for tools that can do a type of merge that I call a cross branch patch merge (and some, confusingly, call a four way merge): Given versions A+b=B, B+c=C, and A+d=D, create A+d+c=E (everything except change-set b). In the last few years this pattern has also become more and more prevalent.
Software developers are gradually accepting that branching and merging isn't the near-absolute-evil it was once thought to be. As it becomes more prevalent these features become an even more noticeable (and I suspect more costly) omission.
Thanks for the bump. 3-way Folder Merge is something that we are still working on. We've got a few other large projects that are taking up a lot of our resources, but this is still a feature we plan to deliver.
Me too, I want to compare the subfolders in 1 root-folder with backup 2 destination-folders and want to see what folders are the same, in which case I can delete the root subfolders (donot need three folders, 2 backups are sufficient)
=
I wanted to provide a use-case for the three-way folder compare / merge feature.
I recently performed an extensive three-way merge between three versions of vbulletin in order to backport security fixes in a newer version of vbulletin core into an older, customized vbulletin codebase.
For a sense of scope, the codebase has 1200+ files, and the diff for the patch included around 16000 changed lines in 380 fies. I accomplished this over a few days (and several diffing sessions) using Araxis 3-way folder compare on Mac.
Let's call the three versions mainline (our production branch), vb-old (the original release) and vb-new (the new release with security fixes). vb-old and vb-new came from the vendor as zip files, while mainline is in git.
My basic workflow was:
1. Place each version of the codebase in its own folder.
2. Open all three folders in a three-way comparison.
3. Let the diff tool find differences between the files.
4. Identify differences between the files that followed a pattern and procedurally normalize these so I can focus on real changes. For example, CVS comments, version numbers, license keys, etc. were all embedded in the source code files. I stripped or automatically replaced them.
5. Let the diff tool find differences between the files after the automatic updates are applied.
6. Manually diff the remaining files.
The manual diff process looked like this:
- If vb-old and mainline are the same and vb-new is different, I apply the changes from vb-new to mainline and to vb-old so the diff doesn't recur.
- If vb-old and vb-new are the same and mainline is different, I keep the changes in mainline as they are and apply the changes to vb-old and vb-new so the diff doesn't recur.
- If vb-old, vb-new, and mainline are all different, I mark the file to come back to later.
In the first two cases, I'm not merging into a distinct 4th version of the file. I'm basically just syncing the changes between three "branches" of the codebase. I suppose if I had a way to mark a file in a diff as ("I've looked at this one already") it would be helpful, provided that could be persisted between sessions.
Once I narrowed down which files had been customized and needed security updates, I'd examine the file history (git blame / git log) in order to see why we'd made changes to the files, and then I'd manually incorporate the security fixes into our customizations.
When I was happy with all of the changes in mainline, I git-diffed the patched mainline against the previous version in git so I could review / double-check each of the changes going in.
Cheers,
Chris
Last edited by banzaimonkey; 06-Aug-2012, 08:08 PM.
Thanks for the detailed example. We use vBulletin ourselves, and are familiar with this need. A 3-way Folder Merge is still on our radar, but we don't have any news or updates at this time.
Comment