OSDN Git Service

PATCH: [ 1210059 ] Sanity check difference before merging it
authorKimmo Varis <kimmov@gmail.com>
Wed, 1 Jun 2005 20:41:42 +0000 (20:41 +0000)
committerKimmo Varis <kimmov@gmail.com>
Wed, 1 Jun 2005 20:41:42 +0000 (20:41 +0000)
47 files changed:
Src/Languages/Brazilian/MergeBrazilian.rc
Src/Languages/Brazilian/resource.h
Src/Languages/Bulgarian/MergeBulgarian.rc
Src/Languages/Bulgarian/resource.h
Src/Languages/Catalan/MergeCatalan.rc
Src/Languages/Catalan/resource.h
Src/Languages/ChineseSimplified/MergeChineseSimplified.rc
Src/Languages/ChineseSimplified/resource.h
Src/Languages/ChineseTraditional/MergeChineseTraditional.rc
Src/Languages/ChineseTraditional/resource.h
Src/Languages/Czech/MergeCzech.rc
Src/Languages/Czech/resource.h
Src/Languages/Danish/MergeDanish.rc
Src/Languages/Danish/resource.h
Src/Languages/Dutch/MergeDutch.rc
Src/Languages/Dutch/resource.h
Src/Languages/French/MergeFrench.rc
Src/Languages/French/resource.h
Src/Languages/German/MergeGerman.rc
Src/Languages/German/resource.h
Src/Languages/Hungarian/MergeHungarian.rc
Src/Languages/Hungarian/resource.h
Src/Languages/Italian/MergeItalian.rc
Src/Languages/Italian/resource.h
Src/Languages/Japanese/MergeJapanese.rc
Src/Languages/Japanese/resource.h
Src/Languages/Korean/MergeKorean.rc
Src/Languages/Korean/resource.h
Src/Languages/Norwegian/MergeNorwegian.rc
Src/Languages/Norwegian/resource.h
Src/Languages/Polish/MergePolish.rc
Src/Languages/Polish/resource.h
Src/Languages/Russian/MergeRussian.rc
Src/Languages/Russian/resource.h
Src/Languages/Slovak/MergeSlovak.rc
Src/Languages/Slovak/resource.h
Src/Languages/Spanish/MergeSpanish.rc
Src/Languages/Spanish/resource.h
Src/Languages/Swedish/MergeSwedish.rc
Src/Languages/Swedish/resource.h
Src/Languages/Turkish/MergeTurkish.rc
Src/Languages/Turkish/resource.h
Src/Merge.rc
Src/MergeDoc.cpp
Src/MergeDoc.h
Src/readme.txt
Src/resource.h

index 3b8d9eb..b5d04a8 100644 (file)
@@ -1882,6 +1882,12 @@ BEGIN
     IDS_SAVE_RIGHT_AS       "Save Right File As"
 END
 
+// Editing/Merging file
+STRINGTABLE
+BEGIN
+    IDS_VIEWS_OUTOFSYNC     "Cannot merge differences when documents are not in synch.\n\nRefresh documents before continuing."
+END
+
 // VSS
 STRINGTABLE
 BEGIN
index fa6bb02..43645d9 100644 (file)
 #define IDS_VSSFOLDER_AND_FILE_NOMATCH  17268
 #define IDS_VSS_NODATABASES             17269
 #define IDS_VSS_ERRORFROM               17270
+#define IDS_VIEWS_OUTOFSYNC             17300
 #define ID_DIR_COPY_LEFT_TO_RIGHT       17600
 #define ID_DIR_COPY_LEFT_TO_BROWSE      17601
 #define ID_DIR_COPY_RIGHT_TO_LEFT       17602
 #define ID_TOOLS_CUSTOMIZECOLUMNS       32864
 #define ID_TOOLS_GENERATEPATCH          32865
 #define ID_TOOLS_FILTERS                32866
+#define ID_TOOLS_LOADCONFIG             32867
 #define ID_UNPACK_MANUAL                32880
 #define ID_UNPACK_AUTO                  32881
 #define ID_POPUP_OPEN_WITH_UNPACKER     32882
index c94ce5b..03b9882 100644 (file)
@@ -1781,6 +1781,12 @@ BEGIN
     IDS_SAVE_RIGHT_AS       "Save Right File As"
 END
 
+// Editing/Merging file
+STRINGTABLE
+BEGIN
+    IDS_VIEWS_OUTOFSYNC     "Cannot merge differences when documents are not in synch.\n\nRefresh documents before continuing."
+END
+
 // VSS
 STRINGTABLE
 BEGIN
index fa6bb02..43645d9 100644 (file)
 #define IDS_VSSFOLDER_AND_FILE_NOMATCH  17268
 #define IDS_VSS_NODATABASES             17269
 #define IDS_VSS_ERRORFROM               17270
+#define IDS_VIEWS_OUTOFSYNC             17300
 #define ID_DIR_COPY_LEFT_TO_RIGHT       17600
 #define ID_DIR_COPY_LEFT_TO_BROWSE      17601
 #define ID_DIR_COPY_RIGHT_TO_LEFT       17602
 #define ID_TOOLS_CUSTOMIZECOLUMNS       32864
 #define ID_TOOLS_GENERATEPATCH          32865
 #define ID_TOOLS_FILTERS                32866
+#define ID_TOOLS_LOADCONFIG             32867
 #define ID_UNPACK_MANUAL                32880
 #define ID_UNPACK_AUTO                  32881
 #define ID_POPUP_OPEN_WITH_UNPACKER     32882
index 3300d78..e946b8b 100644 (file)
@@ -1782,6 +1782,12 @@ BEGIN
     IDS_SAVE_RIGHT_AS       "Anomena i desa el fitxer de la dreta"
 END
 
+// Editing/Merging file
+STRINGTABLE
+BEGIN
+    IDS_VIEWS_OUTOFSYNC     "Cannot merge differences when documents are not in synch.\n\nRefresh documents before continuing."
+END
+
 // VSS
 STRINGTABLE
 BEGIN
index fa6bb02..43645d9 100644 (file)
 #define IDS_VSSFOLDER_AND_FILE_NOMATCH  17268
 #define IDS_VSS_NODATABASES             17269
 #define IDS_VSS_ERRORFROM               17270
+#define IDS_VIEWS_OUTOFSYNC             17300
 #define ID_DIR_COPY_LEFT_TO_RIGHT       17600
 #define ID_DIR_COPY_LEFT_TO_BROWSE      17601
 #define ID_DIR_COPY_RIGHT_TO_LEFT       17602
 #define ID_TOOLS_CUSTOMIZECOLUMNS       32864
 #define ID_TOOLS_GENERATEPATCH          32865
 #define ID_TOOLS_FILTERS                32866
+#define ID_TOOLS_LOADCONFIG             32867
 #define ID_UNPACK_MANUAL                32880
 #define ID_UNPACK_AUTO                  32881
 #define ID_POPUP_OPEN_WITH_UNPACKER     32882
index a5c4d7a..9f35548 100644 (file)
@@ -1752,6 +1752,12 @@ BEGIN
     IDS_SAVE_RIGHT_AS       "Save Right File As"
 END
 
+// Editing/Merging file
+STRINGTABLE
+BEGIN
+    IDS_VIEWS_OUTOFSYNC     "Cannot merge differences when documents are not in synch.\n\nRefresh documents before continuing."
+END
+
 // VSS
 STRINGTABLE
 BEGIN
index fa6bb02..43645d9 100644 (file)
 #define IDS_VSSFOLDER_AND_FILE_NOMATCH  17268
 #define IDS_VSS_NODATABASES             17269
 #define IDS_VSS_ERRORFROM               17270
+#define IDS_VIEWS_OUTOFSYNC             17300
 #define ID_DIR_COPY_LEFT_TO_RIGHT       17600
 #define ID_DIR_COPY_LEFT_TO_BROWSE      17601
 #define ID_DIR_COPY_RIGHT_TO_LEFT       17602
 #define ID_TOOLS_CUSTOMIZECOLUMNS       32864
 #define ID_TOOLS_GENERATEPATCH          32865
 #define ID_TOOLS_FILTERS                32866
+#define ID_TOOLS_LOADCONFIG             32867
 #define ID_UNPACK_MANUAL                32880
 #define ID_UNPACK_AUTO                  32881
 #define ID_POPUP_OPEN_WITH_UNPACKER     32882
index 836d95c..5774797 100644 (file)
@@ -1864,6 +1864,12 @@ BEGIN
     IDS_SAVE_RIGHT_AS       "Àx¦s¥kÃäÀɮ׬°"
 END
 
+// Editing/Merging file
+STRINGTABLE
+BEGIN
+    IDS_VIEWS_OUTOFSYNC     "Cannot merge differences when documents are not in synch.\n\nRefresh documents before continuing."
+END
+
 // VSS
 STRINGTABLE
 BEGIN
index fa6bb02..43645d9 100644 (file)
 #define IDS_VSSFOLDER_AND_FILE_NOMATCH  17268
 #define IDS_VSS_NODATABASES             17269
 #define IDS_VSS_ERRORFROM               17270
+#define IDS_VIEWS_OUTOFSYNC             17300
 #define ID_DIR_COPY_LEFT_TO_RIGHT       17600
 #define ID_DIR_COPY_LEFT_TO_BROWSE      17601
 #define ID_DIR_COPY_RIGHT_TO_LEFT       17602
 #define ID_TOOLS_CUSTOMIZECOLUMNS       32864
 #define ID_TOOLS_GENERATEPATCH          32865
 #define ID_TOOLS_FILTERS                32866
+#define ID_TOOLS_LOADCONFIG             32867
 #define ID_UNPACK_MANUAL                32880
 #define ID_UNPACK_AUTO                  32881
 #define ID_POPUP_OPEN_WITH_UNPACKER     32882
index ff2f13c..0ea463d 100644 (file)
@@ -1879,6 +1879,12 @@ BEGIN
     IDS_SAVE_RIGHT_AS       "Save Right File As"
 END
 
+// Editing/Merging file
+STRINGTABLE
+BEGIN
+    IDS_VIEWS_OUTOFSYNC     "Cannot merge differences when documents are not in synch.\n\nRefresh documents before continuing."
+END
+
 // VSS
 STRINGTABLE
 BEGIN
index fa6bb02..43645d9 100644 (file)
 #define IDS_VSSFOLDER_AND_FILE_NOMATCH  17268
 #define IDS_VSS_NODATABASES             17269
 #define IDS_VSS_ERRORFROM               17270
+#define IDS_VIEWS_OUTOFSYNC             17300
 #define ID_DIR_COPY_LEFT_TO_RIGHT       17600
 #define ID_DIR_COPY_LEFT_TO_BROWSE      17601
 #define ID_DIR_COPY_RIGHT_TO_LEFT       17602
 #define ID_TOOLS_CUSTOMIZECOLUMNS       32864
 #define ID_TOOLS_GENERATEPATCH          32865
 #define ID_TOOLS_FILTERS                32866
+#define ID_TOOLS_LOADCONFIG             32867
 #define ID_UNPACK_MANUAL                32880
 #define ID_UNPACK_AUTO                  32881
 #define ID_POPUP_OPEN_WITH_UNPACKER     32882
index 24fad64..def6594 100644 (file)
@@ -1764,6 +1764,12 @@ BEGIN
     IDS_SAVE_RIGHT_AS       "Gem højre fil som"
 END
 
+// Editing/Merging file
+STRINGTABLE
+BEGIN
+    IDS_VIEWS_OUTOFSYNC     "Cannot merge differences when documents are not in synch.\n\nRefresh documents before continuing."
+END
+
 // VSS
 STRINGTABLE
 BEGIN
index fa6bb02..43645d9 100644 (file)
 #define IDS_VSSFOLDER_AND_FILE_NOMATCH  17268
 #define IDS_VSS_NODATABASES             17269
 #define IDS_VSS_ERRORFROM               17270
+#define IDS_VIEWS_OUTOFSYNC             17300
 #define ID_DIR_COPY_LEFT_TO_RIGHT       17600
 #define ID_DIR_COPY_LEFT_TO_BROWSE      17601
 #define ID_DIR_COPY_RIGHT_TO_LEFT       17602
 #define ID_TOOLS_CUSTOMIZECOLUMNS       32864
 #define ID_TOOLS_GENERATEPATCH          32865
 #define ID_TOOLS_FILTERS                32866
+#define ID_TOOLS_LOADCONFIG             32867
 #define ID_UNPACK_MANUAL                32880
 #define ID_UNPACK_AUTO                  32881
 #define ID_POPUP_OPEN_WITH_UNPACKER     32882
index 585b561..cfc61b3 100644 (file)
@@ -1881,6 +1881,12 @@ BEGIN
     IDS_SAVE_RIGHT_AS       "Bewaar rechter bestand als"
 END
 
+// Editing/Merging file
+STRINGTABLE
+BEGIN
+    IDS_VIEWS_OUTOFSYNC     "Cannot merge differences when documents are not in synch.\n\nRefresh documents before continuing."
+END
+
 // VSS
 STRINGTABLE
 BEGIN
index fa6bb02..43645d9 100644 (file)
 #define IDS_VSSFOLDER_AND_FILE_NOMATCH  17268
 #define IDS_VSS_NODATABASES             17269
 #define IDS_VSS_ERRORFROM               17270
+#define IDS_VIEWS_OUTOFSYNC             17300
 #define ID_DIR_COPY_LEFT_TO_RIGHT       17600
 #define ID_DIR_COPY_LEFT_TO_BROWSE      17601
 #define ID_DIR_COPY_RIGHT_TO_LEFT       17602
 #define ID_TOOLS_CUSTOMIZECOLUMNS       32864
 #define ID_TOOLS_GENERATEPATCH          32865
 #define ID_TOOLS_FILTERS                32866
+#define ID_TOOLS_LOADCONFIG             32867
 #define ID_UNPACK_MANUAL                32880
 #define ID_UNPACK_AUTO                  32881
 #define ID_POPUP_OPEN_WITH_UNPACKER     32882
index f713c06..b830d2f 100644 (file)
@@ -1767,6 +1767,12 @@ BEGIN
     IDS_SAVE_RIGHT_AS         "Enregistrer le fichier de droite sous"
 END
 
+// Editing/Merging file
+STRINGTABLE
+BEGIN
+    IDS_VIEWS_OUTOFSYNC     "Cannot merge differences when documents are not in synch.\n\nRefresh documents before continuing."
+END
+
 // VSS
 STRINGTABLE
 BEGIN
index fa6bb02..43645d9 100644 (file)
 #define IDS_VSSFOLDER_AND_FILE_NOMATCH  17268
 #define IDS_VSS_NODATABASES             17269
 #define IDS_VSS_ERRORFROM               17270
+#define IDS_VIEWS_OUTOFSYNC             17300
 #define ID_DIR_COPY_LEFT_TO_RIGHT       17600
 #define ID_DIR_COPY_LEFT_TO_BROWSE      17601
 #define ID_DIR_COPY_RIGHT_TO_LEFT       17602
 #define ID_TOOLS_CUSTOMIZECOLUMNS       32864
 #define ID_TOOLS_GENERATEPATCH          32865
 #define ID_TOOLS_FILTERS                32866
+#define ID_TOOLS_LOADCONFIG             32867
 #define ID_UNPACK_MANUAL                32880
 #define ID_UNPACK_AUTO                  32881
 #define ID_POPUP_OPEN_WITH_UNPACKER     32882
index d009b97..5998f10 100644 (file)
@@ -1882,6 +1882,12 @@ BEGIN
     IDS_SAVE_RIGHT_AS       "Speichere rechte Datei unter"
 END
 
+// Editing/Merging file
+STRINGTABLE
+BEGIN
+    IDS_VIEWS_OUTOFSYNC     "Cannot merge differences when documents are not in synch.\n\nRefresh documents before continuing."
+END
+
 // VSS
 STRINGTABLE
 BEGIN
index fa6bb02..43645d9 100644 (file)
 #define IDS_VSSFOLDER_AND_FILE_NOMATCH  17268
 #define IDS_VSS_NODATABASES             17269
 #define IDS_VSS_ERRORFROM               17270
+#define IDS_VIEWS_OUTOFSYNC             17300
 #define ID_DIR_COPY_LEFT_TO_RIGHT       17600
 #define ID_DIR_COPY_LEFT_TO_BROWSE      17601
 #define ID_DIR_COPY_RIGHT_TO_LEFT       17602
 #define ID_TOOLS_CUSTOMIZECOLUMNS       32864
 #define ID_TOOLS_GENERATEPATCH          32865
 #define ID_TOOLS_FILTERS                32866
+#define ID_TOOLS_LOADCONFIG             32867
 #define ID_UNPACK_MANUAL                32880
 #define ID_UNPACK_AUTO                  32881
 #define ID_POPUP_OPEN_WITH_UNPACKER     32882
index 1e2b103..b080dbb 100644 (file)
@@ -1765,6 +1765,12 @@ BEGIN
     IDS_SAVE_RIGHT_AS       "Jobb oldali fájl mentése más néven"
 END
 
+// Editing/Merging file
+STRINGTABLE
+BEGIN
+    IDS_VIEWS_OUTOFSYNC     "Cannot merge differences when documents are not in synch.\n\nRefresh documents before continuing."
+END
+
 // VSS
 STRINGTABLE
 BEGIN
index fa6bb02..43645d9 100644 (file)
 #define IDS_VSSFOLDER_AND_FILE_NOMATCH  17268
 #define IDS_VSS_NODATABASES             17269
 #define IDS_VSS_ERRORFROM               17270
+#define IDS_VIEWS_OUTOFSYNC             17300
 #define ID_DIR_COPY_LEFT_TO_RIGHT       17600
 #define ID_DIR_COPY_LEFT_TO_BROWSE      17601
 #define ID_DIR_COPY_RIGHT_TO_LEFT       17602
 #define ID_TOOLS_CUSTOMIZECOLUMNS       32864
 #define ID_TOOLS_GENERATEPATCH          32865
 #define ID_TOOLS_FILTERS                32866
+#define ID_TOOLS_LOADCONFIG             32867
 #define ID_UNPACK_MANUAL                32880
 #define ID_UNPACK_AUTO                  32881
 #define ID_POPUP_OPEN_WITH_UNPACKER     32882
index 274fb03..d3e1234 100644 (file)
@@ -1880,6 +1880,12 @@ BEGIN
     IDS_SAVE_RIGHT_AS       "Salva il file di destra con nome"
 END
 
+// Editing/Merging file
+STRINGTABLE
+BEGIN
+    IDS_VIEWS_OUTOFSYNC     "Cannot merge differences when documents are not in synch.\n\nRefresh documents before continuing."
+END
+
 // VSS
 STRINGTABLE
 BEGIN
index fa6bb02..43645d9 100644 (file)
 #define IDS_VSSFOLDER_AND_FILE_NOMATCH  17268
 #define IDS_VSS_NODATABASES             17269
 #define IDS_VSS_ERRORFROM               17270
+#define IDS_VIEWS_OUTOFSYNC             17300
 #define ID_DIR_COPY_LEFT_TO_RIGHT       17600
 #define ID_DIR_COPY_LEFT_TO_BROWSE      17601
 #define ID_DIR_COPY_RIGHT_TO_LEFT       17602
 #define ID_TOOLS_CUSTOMIZECOLUMNS       32864
 #define ID_TOOLS_GENERATEPATCH          32865
 #define ID_TOOLS_FILTERS                32866
+#define ID_TOOLS_LOADCONFIG             32867
 #define ID_UNPACK_MANUAL                32880
 #define ID_UNPACK_AUTO                  32881
 #define ID_POPUP_OPEN_WITH_UNPACKER     32882
index 226b2ea..87ff9f7 100644 (file)
@@ -1769,6 +1769,12 @@ BEGIN
     IDS_SAVE_RIGHT_AS       "\96¼\91O\82ð\95t\82¯\82Ä\89E\91¤\82Ì\83t\83@\83C\83\8b\82ð\95Û\91¶"
 END
 
+// Editing/Merging file
+STRINGTABLE
+BEGIN
+    IDS_VIEWS_OUTOFSYNC     "Cannot merge differences when documents are not in synch.\n\nRefresh documents before continuing."
+END
+
 // VSS
 STRINGTABLE
 BEGIN
index fa6bb02..43645d9 100644 (file)
 #define IDS_VSSFOLDER_AND_FILE_NOMATCH  17268
 #define IDS_VSS_NODATABASES             17269
 #define IDS_VSS_ERRORFROM               17270
+#define IDS_VIEWS_OUTOFSYNC             17300
 #define ID_DIR_COPY_LEFT_TO_RIGHT       17600
 #define ID_DIR_COPY_LEFT_TO_BROWSE      17601
 #define ID_DIR_COPY_RIGHT_TO_LEFT       17602
 #define ID_TOOLS_CUSTOMIZECOLUMNS       32864
 #define ID_TOOLS_GENERATEPATCH          32865
 #define ID_TOOLS_FILTERS                32866
+#define ID_TOOLS_LOADCONFIG             32867
 #define ID_UNPACK_MANUAL                32880
 #define ID_UNPACK_AUTO                  32881
 #define ID_POPUP_OPEN_WITH_UNPACKER     32882
index a98eb61..67c8956 100644 (file)
@@ -1762,6 +1762,12 @@ BEGIN
     IDS_SAVE_RIGHT_AS       "¿À¸¥ÂÊ ÆÄÀÏ ´Ù¸¥ À̸§À¸·Î ÀúÀå"
 END
 
+// Editing/Merging file
+STRINGTABLE
+BEGIN
+    IDS_VIEWS_OUTOFSYNC     "Cannot merge differences when documents are not in synch.\n\nRefresh documents before continuing."
+END
+
 // VSS
 STRINGTABLE
 BEGIN
index fa6bb02..43645d9 100644 (file)
 #define IDS_VSSFOLDER_AND_FILE_NOMATCH  17268
 #define IDS_VSS_NODATABASES             17269
 #define IDS_VSS_ERRORFROM               17270
+#define IDS_VIEWS_OUTOFSYNC             17300
 #define ID_DIR_COPY_LEFT_TO_RIGHT       17600
 #define ID_DIR_COPY_LEFT_TO_BROWSE      17601
 #define ID_DIR_COPY_RIGHT_TO_LEFT       17602
 #define ID_TOOLS_CUSTOMIZECOLUMNS       32864
 #define ID_TOOLS_GENERATEPATCH          32865
 #define ID_TOOLS_FILTERS                32866
+#define ID_TOOLS_LOADCONFIG             32867
 #define ID_UNPACK_MANUAL                32880
 #define ID_UNPACK_AUTO                  32881
 #define ID_POPUP_OPEN_WITH_UNPACKER     32882
index eab9468..4d97a3f 100644 (file)
@@ -1876,6 +1876,12 @@ BEGIN
     IDS_SAVE_RIGHT_AS       "Lagre høyre fil som"
 END
 
+// Editing/Merging file
+STRINGTABLE
+BEGIN
+    IDS_VIEWS_OUTOFSYNC     "Cannot merge differences when documents are not in synch.\n\nRefresh documents before continuing."
+END
+
 // VSS
 STRINGTABLE
 BEGIN
index fa6bb02..43645d9 100644 (file)
 #define IDS_VSSFOLDER_AND_FILE_NOMATCH  17268
 #define IDS_VSS_NODATABASES             17269
 #define IDS_VSS_ERRORFROM               17270
+#define IDS_VIEWS_OUTOFSYNC             17300
 #define ID_DIR_COPY_LEFT_TO_RIGHT       17600
 #define ID_DIR_COPY_LEFT_TO_BROWSE      17601
 #define ID_DIR_COPY_RIGHT_TO_LEFT       17602
 #define ID_TOOLS_CUSTOMIZECOLUMNS       32864
 #define ID_TOOLS_GENERATEPATCH          32865
 #define ID_TOOLS_FILTERS                32866
+#define ID_TOOLS_LOADCONFIG             32867
 #define ID_UNPACK_MANUAL                32880
 #define ID_UNPACK_AUTO                  32881
 #define ID_POPUP_OPEN_WITH_UNPACKER     32882
index c2d154f..fe37d9f 100644 (file)
@@ -1879,6 +1879,12 @@ BEGIN
     IDS_SAVE_RIGHT_AS       "Zachowaj prawy plik jako"
 END
 
+// Editing/Merging file
+STRINGTABLE
+BEGIN
+    IDS_VIEWS_OUTOFSYNC     "Cannot merge differences when documents are not in synch.\n\nRefresh documents before continuing."
+END
+
 // VSS
 STRINGTABLE
 BEGIN
index fa6bb02..43645d9 100644 (file)
 #define IDS_VSSFOLDER_AND_FILE_NOMATCH  17268
 #define IDS_VSS_NODATABASES             17269
 #define IDS_VSS_ERRORFROM               17270
+#define IDS_VIEWS_OUTOFSYNC             17300
 #define ID_DIR_COPY_LEFT_TO_RIGHT       17600
 #define ID_DIR_COPY_LEFT_TO_BROWSE      17601
 #define ID_DIR_COPY_RIGHT_TO_LEFT       17602
 #define ID_TOOLS_CUSTOMIZECOLUMNS       32864
 #define ID_TOOLS_GENERATEPATCH          32865
 #define ID_TOOLS_FILTERS                32866
+#define ID_TOOLS_LOADCONFIG             32867
 #define ID_UNPACK_MANUAL                32880
 #define ID_UNPACK_AUTO                  32881
 #define ID_POPUP_OPEN_WITH_UNPACKER     32882
index e23696b..5ecd495 100644 (file)
@@ -1780,6 +1780,12 @@ BEGIN
     IDS_SAVE_RIGHT_AS       "Save Right File As"
 END
 
+// Editing/Merging file
+STRINGTABLE
+BEGIN
+    IDS_VIEWS_OUTOFSYNC     "Cannot merge differences when documents are not in synch.\n\nRefresh documents before continuing."
+END
+
 // VSS
 STRINGTABLE
 BEGIN
index fa6bb02..43645d9 100644 (file)
 #define IDS_VSSFOLDER_AND_FILE_NOMATCH  17268
 #define IDS_VSS_NODATABASES             17269
 #define IDS_VSS_ERRORFROM               17270
+#define IDS_VIEWS_OUTOFSYNC             17300
 #define ID_DIR_COPY_LEFT_TO_RIGHT       17600
 #define ID_DIR_COPY_LEFT_TO_BROWSE      17601
 #define ID_DIR_COPY_RIGHT_TO_LEFT       17602
 #define ID_TOOLS_CUSTOMIZECOLUMNS       32864
 #define ID_TOOLS_GENERATEPATCH          32865
 #define ID_TOOLS_FILTERS                32866
+#define ID_TOOLS_LOADCONFIG             32867
 #define ID_UNPACK_MANUAL                32880
 #define ID_UNPACK_AUTO                  32881
 #define ID_POPUP_OPEN_WITH_UNPACKER     32882
index 457918b..aa1051b 100644 (file)
@@ -1879,6 +1879,12 @@ BEGIN
     IDS_SAVE_RIGHT_AS       "Save Right File As"
 END
 
+// Editing/Merging file
+STRINGTABLE
+BEGIN
+    IDS_VIEWS_OUTOFSYNC     "Cannot merge differences when documents are not in synch.\n\nRefresh documents before continuing."
+END
+
 // VSS
 STRINGTABLE
 BEGIN
index fa6bb02..43645d9 100644 (file)
 #define IDS_VSSFOLDER_AND_FILE_NOMATCH  17268
 #define IDS_VSS_NODATABASES             17269
 #define IDS_VSS_ERRORFROM               17270
+#define IDS_VIEWS_OUTOFSYNC             17300
 #define ID_DIR_COPY_LEFT_TO_RIGHT       17600
 #define ID_DIR_COPY_LEFT_TO_BROWSE      17601
 #define ID_DIR_COPY_RIGHT_TO_LEFT       17602
 #define ID_TOOLS_CUSTOMIZECOLUMNS       32864
 #define ID_TOOLS_GENERATEPATCH          32865
 #define ID_TOOLS_FILTERS                32866
+#define ID_TOOLS_LOADCONFIG             32867
 #define ID_UNPACK_MANUAL                32880
 #define ID_UNPACK_AUTO                  32881
 #define ID_POPUP_OPEN_WITH_UNPACKER     32882
index bf7c456..2ea9c66 100644 (file)
@@ -1879,6 +1879,12 @@ BEGIN
     IDS_SAVE_RIGHT_AS       "Guardar lado derecho como"
 END
 
+// Editing/Merging file
+STRINGTABLE
+BEGIN
+    IDS_VIEWS_OUTOFSYNC     "Cannot merge differences when documents are not in synch.\n\nRefresh documents before continuing."
+END
+
 // VSS
 STRINGTABLE
 BEGIN
index fa6bb02..43645d9 100644 (file)
 #define IDS_VSSFOLDER_AND_FILE_NOMATCH  17268
 #define IDS_VSS_NODATABASES             17269
 #define IDS_VSS_ERRORFROM               17270
+#define IDS_VIEWS_OUTOFSYNC             17300
 #define ID_DIR_COPY_LEFT_TO_RIGHT       17600
 #define ID_DIR_COPY_LEFT_TO_BROWSE      17601
 #define ID_DIR_COPY_RIGHT_TO_LEFT       17602
 #define ID_TOOLS_CUSTOMIZECOLUMNS       32864
 #define ID_TOOLS_GENERATEPATCH          32865
 #define ID_TOOLS_FILTERS                32866
+#define ID_TOOLS_LOADCONFIG             32867
 #define ID_UNPACK_MANUAL                32880
 #define ID_UNPACK_AUTO                  32881
 #define ID_POPUP_OPEN_WITH_UNPACKER     32882
index 4878afe..9fdb024 100644 (file)
@@ -1878,6 +1878,12 @@ BEGIN
     IDS_SAVE_RIGHT_AS       "Spara höger fil som"
 END
 
+// Editing/Merging file
+STRINGTABLE
+BEGIN
+    IDS_VIEWS_OUTOFSYNC     "Cannot merge differences when documents are not in synch.\n\nRefresh documents before continuing."
+END
+
 // VSS
 STRINGTABLE
 BEGIN
index fa6bb02..43645d9 100644 (file)
 #define IDS_VSSFOLDER_AND_FILE_NOMATCH  17268
 #define IDS_VSS_NODATABASES             17269
 #define IDS_VSS_ERRORFROM               17270
+#define IDS_VIEWS_OUTOFSYNC             17300
 #define ID_DIR_COPY_LEFT_TO_RIGHT       17600
 #define ID_DIR_COPY_LEFT_TO_BROWSE      17601
 #define ID_DIR_COPY_RIGHT_TO_LEFT       17602
 #define ID_TOOLS_CUSTOMIZECOLUMNS       32864
 #define ID_TOOLS_GENERATEPATCH          32865
 #define ID_TOOLS_FILTERS                32866
+#define ID_TOOLS_LOADCONFIG             32867
 #define ID_UNPACK_MANUAL                32880
 #define ID_UNPACK_AUTO                  32881
 #define ID_POPUP_OPEN_WITH_UNPACKER     32882
index c5eb09e..46b74cf 100644 (file)
@@ -1768,6 +1768,12 @@ BEGIN
     IDS_SAVE_RIGHT_AS       "Save Right File As"
 END
 
+// Editing/Merging file
+STRINGTABLE
+BEGIN
+    IDS_VIEWS_OUTOFSYNC     "Cannot merge differences when documents are not in synch.\n\nRefresh documents before continuing."
+END
+
 // VSS
 STRINGTABLE
 BEGIN
index fa6bb02..43645d9 100644 (file)
 #define IDS_VSSFOLDER_AND_FILE_NOMATCH  17268
 #define IDS_VSS_NODATABASES             17269
 #define IDS_VSS_ERRORFROM               17270
+#define IDS_VIEWS_OUTOFSYNC             17300
 #define ID_DIR_COPY_LEFT_TO_RIGHT       17600
 #define ID_DIR_COPY_LEFT_TO_BROWSE      17601
 #define ID_DIR_COPY_RIGHT_TO_LEFT       17602
 #define ID_TOOLS_CUSTOMIZECOLUMNS       32864
 #define ID_TOOLS_GENERATEPATCH          32865
 #define ID_TOOLS_FILTERS                32866
+#define ID_TOOLS_LOADCONFIG             32867
 #define ID_UNPACK_MANUAL                32880
 #define ID_UNPACK_AUTO                  32881
 #define ID_POPUP_OPEN_WITH_UNPACKER     32882
index 750e869..14f4f99 100644 (file)
@@ -1776,6 +1776,12 @@ BEGIN
     IDS_SAVE_RIGHT_AS       "Save Right File As"
 END
 
+// Editing/Merging file
+STRINGTABLE
+BEGIN
+    IDS_VIEWS_OUTOFSYNC     "Cannot merge differences when documents are not in synch.\n\nRefresh documents before continuing."
+END
+
 // VSS
 STRINGTABLE
 BEGIN
index b4f2bfb..fedf82b 100644 (file)
@@ -699,6 +699,44 @@ void CMergeDoc::CopyMultipleList(bool bSrcLeft, bool bCurrentLeft, int firstDiff
 }
 
 /**
+ * @brief Sanity check difference.
+ *
+ * Checks that lines in difference are inside difference in both files.
+ * If file is edited, lines added or removed diff lines get out of sync and
+ * merging fails miserably.
+ *
+ * @param [in] dr Difference to check.
+ * @return TRUE if difference lines match, FALSE otherwise.
+ */
+BOOL CMergeDoc::SanityCheckDiff(DIFFRANGE dr)
+{
+       int cd_dbegin = dr.dbegin0;
+       int cd_dend = dr.dend0;
+       DWORD dwLeftFlags = m_ltBuf.GetLineFlags(cd_dend);
+       DWORD dwRightFlags = m_rtBuf.GetLineFlags(cd_dend);
+
+       // Optimization - check last line first so we don't need to
+       // check whole diff for obvious cases
+       if (!(dwLeftFlags & LF_WINMERGE_FLAGS) ||
+               !(dwRightFlags & LF_WINMERGE_FLAGS))
+       {
+               return FALSE;
+       }
+
+       for (int line = cd_dbegin; line < cd_dend; line++)
+       {
+               dwLeftFlags = m_ltBuf.GetLineFlags(cd_dend);
+               dwRightFlags = m_rtBuf.GetLineFlags(cd_dend);
+               if (!(dwLeftFlags & LF_WINMERGE_FLAGS) ||
+                       !(dwRightFlags & LF_WINMERGE_FLAGS))
+               {
+                       return FALSE;
+               }
+       }
+       return TRUE;
+}
+
+/**
  * @brief Copy selected (=current) difference from from side to side.
  * @param [in] bSrcLeft Source side from which diff is copied
  * @param [in] bCurrentLeft Currently active view (where cursor is)
@@ -718,13 +756,20 @@ void CMergeDoc::ListCopy(bool bSrcLeft, bool bCurrentLeft,
        if (curDiff!=-1)
        {
                DIFFRANGE cd = {0};
-               m_diffList.GetDiff(curDiff, cd);
+               VERIFY(m_diffList.GetDiff(curDiff, cd));
                CDiffTextBuffer& sbuf = bSrcLeft? m_ltBuf:m_rtBuf;
                CDiffTextBuffer& dbuf = bSrcLeft? m_rtBuf:m_ltBuf;
                BOOL bSrcWasMod = sbuf.IsModified();
                int cd_dbegin = bSrcLeft? cd.dbegin0:cd.dbegin1;
                int cd_dend = bSrcLeft? cd.dend0:cd.dend1;
                int cd_blank = bSrcLeft? cd.blank0:cd.blank1;
+               BOOL bInSync = SanityCheckDiff(cd);
+
+               if (bInSync == FALSE)
+               {
+                       AfxMessageBox(IDS_VIEWS_OUTOFSYNC, MB_ICONSTOP);
+                       return;
+               }
 
                // If we remove whole diff from current view, we must fix cursor
                // position first. Normally we would move to end of previous line,
index 81ad24f..6c980a6 100644 (file)
@@ -217,6 +217,7 @@ public:
        BOOL Undo();
        void CopyAllList(bool bSrcLeft, bool bCurrentLeft);
        void CopyMultipleList(bool bSrcLeft, bool bCurrentLeft, int firstDiff, int lastDiff);
+       BOOL SanityCheckDiff(DIFFRANGE dr);
        void ListCopy(bool bSrcLeft, bool bCurrentLeft, bool bGroupWithPrevious = false);
        BOOL TrySaveAs(CString &strPath, int &nLastErrorCode, CString & sError,
                BOOL bLeft, PackingInfo * pInfoTempUnpacker);
index 04b1a65..e73a8e9 100644 (file)
@@ -1,3 +1,8 @@
+2005-06-01 Kimmo
+ PATCH: [ 1210059 ] Sanity check difference before merging it
+  Src: Merge.rc MergeDoc.cpp MergeDoc.h resource.h
+  Src/Languages: *.rc resource.h
+
 2005-05-31 Perry
  PATCH: [ 1206727 ] decouple codepage module from options files
   Src: codepage.cpp codepage.h MainFrm.cpp MainFrm.h
index c5c30d2..43645d9 100644 (file)
 #define IDS_VSSFOLDER_AND_FILE_NOMATCH  17268
 #define IDS_VSS_NODATABASES             17269
 #define IDS_VSS_ERRORFROM               17270
+#define IDS_VIEWS_OUTOFSYNC             17300
 #define ID_DIR_COPY_LEFT_TO_RIGHT       17600
 #define ID_DIR_COPY_LEFT_TO_BROWSE      17601
 #define ID_DIR_COPY_RIGHT_TO_LEFT       17602