Check-in [50ff86afd0]
Not logged in
Overview

SHA1 Hash:50ff86afd0ea05c68d5cb7ec67e7d64df1bc92ac
Date: 2007-11-08 16:14:13
User: drh
Comment:Add the --detail flag to the merge command.
Timelines: ancestors | descendants | both | trunk
Other Links: files | ZIP archive | manifest

Tags And Properties
Changes
[hide diffs]

Modified src/merge.c from [246b01382f] to [4db3ee048d].

@@ -44,11 +44,13 @@
 void merge_cmd(void){
   int vid;              /* Current version */
   int mid;              /* Version we are merging against */
   int pid;              /* The pivot version - most recent common ancestor */
   Stmt q;
+  int detailFlag;
 
+  detailFlag = find_option("detail",0,0)!=0;
   if( g.argc!=3 ){
     usage("VERSION");
   }
   db_must_be_within_tree();
   vid = db_lget_int("checkout", 0);
@@ -215,23 +217,28 @@
 
   /*
   ** Do a three-way merge on files that have changes pid->mid and pid->vid
   */
   db_prepare(&q,
-    "SELECT ridm, idv, ridp FROM fv"
+    "SELECT ridm, idv, ridp, ridv FROM fv"
     " WHERE idp>0 AND idv>0 AND idm>0"
     "   AND ridm!=ridp AND (ridv!=ridp OR chnged)"
   );
   while( db_step(&q)==SQLITE_ROW ){
     int ridm = db_column_int(&q, 0);
     int idv = db_column_int(&q, 1);
     int ridp = db_column_int(&q, 2);
+    int ridv = db_column_int(&q, 3);
     char *zName = db_text(0, "SELECT pathname FROM vfile WHERE id=%d", idv);
     char *zFullPath;
     Blob m, p, v, r;
     /* Do a 3-way merge of idp->idm into idp->idv.  The results go into idv. */
-    printf("MERGE %s\n", zName);
+    if( detailFlag ){
+      printf("MERGE %s  (pivot=%d v1=%d v2=%d)\n", zName, ridp, ridm, ridv);
+    }else{
+      printf("MERGE %s\n", zName);
+    }
     undo_save(zName);
     zFullPath = mprintf("%s/%s", g.zLocalRoot, zName);
     free(zName);
     content_get(ridp, &p);
     content_get(ridm, &m);