Produced by Araxis Merge on Sat Apr 12 16:07:30 2003. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a reasonably standards compliant browser such as the latest version of Internet Explorer. For optimum results when printing this report, enable printing of background images and colours in your browser and use landscape orientation.
# | File | Location | Last Modified |
---|---|---|---|
1 | compareutil.cpp | c:\scm\dev\Software\Products\merge\6.0\Merge\compare | Mon Mar 17 01:01:18 2003 UTC |
2 | compareutil.cpp | c:\scm\dev\Software\Products\merge\6.5\Merge\compare | Tue Apr 8 00:52:34 2003 UTC |
Description | Between Files 1 and 2 | |
---|---|---|
Blocks | Lines | |
Unchanged | 12 | 486 |
Changed | 11 | 28 |
Inserted | 0 | 0 |
Removed | 0 | 0 |
Whitespace | All differences in whitespace within lines are ignored |
---|---|
Character case | Differences in character case are significant |
Line endings | Differences in line endings (CR and LF characters) are ignored |
CR/LF characters | Hidden in comparison detail |
No regular expressions were active.
1 | #include "stdafx.h" | 1 | #include "stdafx.h" | |||
2 | #include "compareutil.h" | 2 | #include "compareutil.h" | |||
3 | #include "merge.h" | 3 | #include "merge.h" | |||
4 | 4 | |||||
5 | namespace compareutil | 5 | namespace compareutil | |||
6 | { | 6 | { | |||
7 | // A handle to the active file comparison. | 7 | // A handle to the active file comparison. | |||
8 | // | 8 | // | |||
9 | 9 | |||||
10 | Merge ::IFileComparison2Ptr g_pFile; | 10 | Merge65::IFileComparison Ptr g_pFile; | |||
11 | Merge ::IFolderComparisonPtr g_pFolder; | 11 | Merge65::IFolderComparisonPtr g_pFolder; | |||
12 | 12 | |||||
13 | 13 | |||||
14 | // Function information. | 14 | // Function information. | |||
15 | // | 15 | // | |||
16 | 16 | |||||
17 | _ATL_FUNC_INFO folder_fninfo[] = | 17 | _ATL_FUNC_INFO folder_fninfo[] = | |||
18 | { | 18 | { | |||
19 | { CC_STDCALL, VT_EMPTY, 1, { VT_I4 } }, | 19 | { CC_STDCALL, VT_EMPTY, 1, { VT_I4 } }, | |||
20 | { CC_STDCALL, VT_EMPTY, 0 } | 20 | { CC_STDCALL, VT_EMPTY, 0 } | |||
21 | }; | 21 | }; | |||
22 | 22 | |||||
23 | _ATL_FUNC_INFO file_fninfo[] = | 23 | _ATL_FUNC_INFO file_fninfo[] = | |||
24 | { | 24 | { | |||
25 | { CC_STDCALL, VT_EMPTY, 4, { VT_I4, VT_I4, VT_I4, VT_I4 } }, | 25 | { CC_STDCALL, VT_EMPTY, 2, { VT_I4, VT_I4 } }, | |||
26 | { CC_STDCALL, VT_EMPTY, 0 } | 26 | { CC_STDCALL, VT_EMPTY, 0 } | |||
27 | }; | 27 | }; | |||
28 | 28 | |||||
29 | // Output an informational message | 29 | // Output an informational message | |||
30 | void | 30 | void | |||
31 | DisplayInfo( | 31 | DisplayInfo( | |||
32 | LPCTSTR pszText) | 32 | LPCTSTR pszText) | |||
33 | { | 33 | { | |||
34 | #ifdef _CONSOLE | 34 | #ifdef _CONSOLE | |||
35 | _ftprintf(stdout, _T("Araxis Merge Command Line Compare Utility v%s\n\n%s\n"), MERGE_VERSION, pszText); | 35 | _ftprintf(stdout, _T("Araxis Merge Command Line Compare Utility v%s\n\n%s\n"), MERGE_VERSION, pszText); | |||
(270 unchanged lines omitted) | ||||||
306 | TCHAR szMessage[1024]; | 306 | TCHAR szMessage[1024]; | |||
307 | _tcscpy(szMessage, _T("Compare encountered a serious error while\n")); | 307 | _tcscpy(szMessage, _T("Compare encountered a serious error while\n")); | |||
308 | _tcscat(szMessage, lpszWhileTrying); | 308 | _tcscat(szMessage, lpszWhileTrying); | |||
309 | 309 | |||||
310 | DisplayError(szMessage); | 310 | DisplayError(szMessage); | |||
311 | } | 311 | } | |||
312 | 312 | |||||
313 | // Create a new folder comparison automation object. | 313 | // Create a new folder comparison automation object. | |||
314 | // | 314 | // | |||
315 | 315 | |||||
316 | void getAutomationObject(Merge ::IApplicationPtr pApp, Merge ::IFolderComparisonPtr& automationObject) | 316 | void getAutomationObject(Merge65::IApplicationPtr pApp, Merge65::IFolderComparisonPtr& automationObject) | |||
317 | { | 317 | { | |||
318 | automationObject = pApp->FolderComparison; | 318 | automationObject = pApp->FolderComparison; | |||
319 | } | 319 | } | |||
320 | 320 | |||||
321 | // Create a new file comparison automation object. | 321 | // Create a new file comparison automation object. | |||
322 | // | 322 | // | |||
323 | 323 | |||||
324 | void getAutomationObject(Merge ::IApplicationPtr pApp, Merge ::IFileComparison2Ptr& automationObject) | 324 | void getAutomationObject(Merge65::IApplicationPtr pApp, Merge65::IFileComparison Ptr& automationObject) | |||
325 | { | 325 | { | |||
326 | automationObject = pApp->FileComparison; | 326 | automationObject = pApp->FileComparison; | |||
327 | } | 327 | } | |||
328 | 328 | |||||
329 | // Do a three-way merge on a file comparison, and return the number of conflicts (or 0 if there weren't any). | 329 | // Do a three-way merge on a file comparison, and return the number of conflicts (or 0 if there weren't any). | |||
330 | // (Note: This is a no-op for folder comparisons) | 330 | // (Note: This is a no-op for folder comparisons) | |||
331 | 331 | |||||
332 | long threeWayMerge(Merge ::IFolderComparisonPtr automationObject) | 332 | long threeWayMerge(Merge65::IFolderComparisonPtr automationObject) | |||
333 | { | 333 | { | |||
334 | UNREFERENCED_PARAMETER(automationObject); | 334 | UNREFERENCED_PARAMETER(automationObject); | |||
335 | return 0; | 335 | return 0; | |||
336 | } | 336 | } | |||
337 | 337 | |||||
338 | long threeWayMerge(Merge ::IFileComparison2Ptr automationObject) | 338 | long threeWayMerge(Merge65::IFileComparison Ptr automationObject) | |||
339 | { | 339 | { | |||
340 | return automationObject->ThreeWayMerge(); | 340 | return automationObject->ThreeWayMerge(); | |||
341 | } | 341 | } | |||
342 | 342 | |||||
343 | // This happens automatically in the Compare method. | 343 | // This happens automatically in the Compare method. | |||
344 | // | 344 | // | |||
345 | 345 | |||||
346 | void setThreeWay(Merge ::IFolderComparisonPtr automationObject) | 346 | void setThreeWay(Merge65::IFolderComparisonPtr automationObject) | |||
347 | { | 347 | { | |||
348 | } | 348 | } | |||
349 | 349 | |||||
350 | // Force a file comparison window into three-way mode. | 350 | // Force a file comparison window into three-way mode. | |||
351 | // | 351 | // | |||
352 | 352 | |||||
353 | void setThreeWay(Merge ::IFileComparison2Ptr automationObject) | 353 | void setThreeWay(Merge65::IFileComparison Ptr automationObject) | |||
354 | { | 354 | { | |||
355 | automationObject->put_ViewType(Merge ::fvtThreeWay); | 355 | automationObject->put_ViewType(Merge65::fvtThreeWay); | |||
356 | } | 356 | } | |||
357 | 357 | |||||
358 | // Starts a folder comparison. The type of comparison is defined | 358 | // Starts a folder comparison. The type of comparison is defined | |||
359 | // by the arguments to this method. If instructed to wait for | 359 | // by the arguments to this method. If instructed to wait for | |||
360 | // the comparison to complete, this method sets up a sink for | 360 | // the comparison to complete, this method sets up a sink for | |||
361 | // events from the folder comparison window. It is up to the caller | 361 | // events from the folder comparison window. It is up to the caller | |||
362 | // to set up a message pump and wait for the event sink object | 362 | // to set up a message pump and wait for the event sink object | |||
363 | // (a CFolderComparisonWaitObject) to post a WM_QUIT message to the | 363 | // (a CFolderComparisonWaitObject) to post a WM_QUIT message to the | |||
364 | // main message queue. | 364 | // main message queue. | |||
365 | // | 365 | // | |||
(1 unchanged lines omitted) | ||||||
367 | ReturnCode DoFolderComparison( | 367 | ReturnCode DoFolderComparison( | |||
368 | const bool& bTwoWay, | 368 | const bool& bTwoWay, | |||
369 | const bool& bMaximize, | 369 | const bool& bMaximize, | |||
370 | const bool& bWait, | 370 | const bool& bWait, | |||
371 | const StringVector& arguments, | 371 | const StringVector& arguments, | |||
372 | const bool& bSetTitles, | 372 | const bool& bSetTitles, | |||
373 | const StringVector& titles) | 373 | const StringVector& titles) | |||
374 | { | 374 | { | |||
375 | return DoComparison< | 375 | return DoComparison< | |||
376 | CFolderComparisonWaitObject, | 376 | CFolderComparisonWaitObject, | |||
377 | Merge ::_FolderComparisonEvents, | 377 | Merge65::_FolderComparisonEvents, | |||
378 | Merge ::IFolderComparisonPtr>( | 378 | Merge65::IFolderComparisonPtr>( | |||
379 | bTwoWay, bMaximize, | 379 | bTwoWay, bMaximize, | |||
380 | bWait, arguments, | 380 | bWait, arguments, | |||
381 | bSetTitles, titles, | 381 | bSetTitles, titles, | |||
382 | g_pFolder); | 382 | g_pFolder); | |||
383 | } | 383 | } | |||
384 | 384 | |||||
385 | // Starts a file comparison. The type of comparison is defined | 385 | // Starts a file comparison. The type of comparison is defined | |||
386 | // by the arguments to this method. If instructed to wait for | 386 | // by the arguments to this method. If instructed to wait for | |||
387 | // the comparison to complete, this method sets up a sink for | 387 | // the comparison to complete, this method sets up a sink for | |||
388 | // events from the file comparison window. It is up to the caller | 388 | // events from the file comparison window. It is up to the caller | |||
(7 unchanged lines omitted) | ||||||
396 | const bool& bMaximize, | 396 | const bool& bMaximize, | |||
397 | const bool& bWait, | 397 | const bool& bWait, | |||
398 | const StringVector& arguments, | 398 | const StringVector& arguments, | |||
399 | const bool& bSetTitles, | 399 | const bool& bSetTitles, | |||
400 | const StringVector& titles, | 400 | const StringVector& titles, | |||
401 | const bool& bMerge, | 401 | const bool& bMerge, | |||
402 | const bool& bTestConflicts) | 402 | const bool& bTestConflicts) | |||
403 | { | 403 | { | |||
404 | ReturnCode nResult = DoComparison< | 404 | ReturnCode nResult = DoComparison< | |||
405 | CFileComparisonWaitObject, | 405 | CFileComparisonWaitObject, | |||
406 | Merge ::_FileComparisonEvents, | 406 | Merge65::_FileComparisonEvents, | |||
407 | Merge ::IFileComparison2Ptr>( | 407 | Merge65::IFileComparison Ptr>( | |||
408 | bTwoWay, bMaximize, | 408 | bTwoWay, bMaximize, | |||
409 | bWait, arguments, | 409 | bWait, arguments, | |||
410 | bSetTitles, titles, | 410 | bSetTitles, titles, | |||
411 | g_pFile, | 411 | g_pFile, | |||
412 | bMerge, | 412 | bMerge, | |||
413 | bTestConflicts); | 413 | bTestConflicts); | |||
414 | 414 | |||||
415 | if (nResult == rcSucceeded) | 415 | if (nResult == rcSucceeded) | |||
416 | { | 416 | { | |||
417 | if (bTwoWay) | 417 | if (bTwoWay) | |||
(73 unchanged lines omitted) | ||||||
491 | g_pFile.Release(); | 491 | g_pFile.Release(); | |||
492 | } | 492 | } | |||
493 | 493 | |||||
494 | CoUninitialize(); | 494 | CoUninitialize(); | |||
495 | } | 495 | } | |||
496 | 496 | |||||
497 | return nResult; | 497 | return nResult; | |||
498 | } | 498 | } | |||
499 | 499 | |||||
500 | } | 500 | } |
Araxis Merge (but not this generated report) is Copyright © 1993-2003 Araxis Ltd (www.araxis.com). All rights reserved.