Fossil SCM
Any vmerge.id < -2 should be handled as a MERGED_WITH by default, not as BACKOUT (even though trunk fossil cannot produce that yet).
Commit
88e60e8ff3cbf03be4e0da036d10f34ac7030a57
Parent
18d762af88a8ac9…
1 file changed
+3
-3
+3
-3
| --- src/checkin.c | ||
| +++ src/checkin.c | ||
| @@ -989,11 +989,11 @@ | ||
| 989 | 989 | blob_appendf(pOut, "N %F\n", p->zMimetype); |
| 990 | 990 | } |
| 991 | 991 | blob_appendf(pOut, "P %s", zParentUuid); |
| 992 | 992 | if( p->verifyDate ) checkin_verify_younger(vid, zParentUuid, zDate); |
| 993 | 993 | free(zParentUuid); |
| 994 | - db_prepare(&q2, "SELECT merge FROM vmerge WHERE id=0"); | |
| 994 | + db_prepare(&q2, "SELECT merge FROM vmerge WHERE id=0 OR id<-2"); | |
| 995 | 995 | while( db_step(&q2)==SQLITE_ROW ){ |
| 996 | 996 | char *zMergeUuid; |
| 997 | 997 | int mid = db_column_int(&q2, 0); |
| 998 | 998 | if( !g.markPrivate && content_is_private(mid) ) continue; |
| 999 | 999 | zMergeUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", mid); |
| @@ -1008,11 +1008,11 @@ | ||
| 1008 | 1008 | blob_appendf(pOut, "\n"); |
| 1009 | 1009 | |
| 1010 | 1010 | db_prepare(&q2, |
| 1011 | 1011 | "SELECT CASE vmerge.id WHEN -1 THEN '+' ELSE '-' END || blob.uuid" |
| 1012 | 1012 | " FROM vmerge, blob" |
| 1013 | - " WHERE vmerge.id<0" | |
| 1013 | + " WHERE (vmerge.id=-1 OR vmerge.id=-2)" | |
| 1014 | 1014 | " AND blob.rid=vmerge.merge" |
| 1015 | 1015 | " ORDER BY 1"); |
| 1016 | 1016 | while( db_step(&q2)==SQLITE_ROW ){ |
| 1017 | 1017 | const char *zCherrypickUuid = db_column_text(&q2, 0); |
| 1018 | 1018 | blob_appendf(pOut, "Q %s\n", zCherrypickUuid); |
| @@ -1423,11 +1423,11 @@ | ||
| 1423 | 1423 | blob_zero(&ans); |
| 1424 | 1424 | prompt_user("continue (y/N)? ", &ans); |
| 1425 | 1425 | cReply = blob_str(&ans)[0]; |
| 1426 | 1426 | if( cReply!='y' && cReply!='Y' ) fossil_exit(1);; |
| 1427 | 1427 | } |
| 1428 | - isAMerge = db_exists("SELECT 1 FROM vmerge WHERE id=0"); | |
| 1428 | + isAMerge = db_exists("SELECT 1 FROM vmerge WHERE id=0 OR id<-2"); | |
| 1429 | 1429 | if( g.aCommitFile && isAMerge ){ |
| 1430 | 1430 | fossil_fatal("cannot do a partial commit of a merge"); |
| 1431 | 1431 | } |
| 1432 | 1432 | |
| 1433 | 1433 | /* Doing "fossil mv fileA fileB; fossil add fileA; fossil commit fileA" |
| 1434 | 1434 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -989,11 +989,11 @@ | |
| 989 | blob_appendf(pOut, "N %F\n", p->zMimetype); |
| 990 | } |
| 991 | blob_appendf(pOut, "P %s", zParentUuid); |
| 992 | if( p->verifyDate ) checkin_verify_younger(vid, zParentUuid, zDate); |
| 993 | free(zParentUuid); |
| 994 | db_prepare(&q2, "SELECT merge FROM vmerge WHERE id=0"); |
| 995 | while( db_step(&q2)==SQLITE_ROW ){ |
| 996 | char *zMergeUuid; |
| 997 | int mid = db_column_int(&q2, 0); |
| 998 | if( !g.markPrivate && content_is_private(mid) ) continue; |
| 999 | zMergeUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", mid); |
| @@ -1008,11 +1008,11 @@ | |
| 1008 | blob_appendf(pOut, "\n"); |
| 1009 | |
| 1010 | db_prepare(&q2, |
| 1011 | "SELECT CASE vmerge.id WHEN -1 THEN '+' ELSE '-' END || blob.uuid" |
| 1012 | " FROM vmerge, blob" |
| 1013 | " WHERE vmerge.id<0" |
| 1014 | " AND blob.rid=vmerge.merge" |
| 1015 | " ORDER BY 1"); |
| 1016 | while( db_step(&q2)==SQLITE_ROW ){ |
| 1017 | const char *zCherrypickUuid = db_column_text(&q2, 0); |
| 1018 | blob_appendf(pOut, "Q %s\n", zCherrypickUuid); |
| @@ -1423,11 +1423,11 @@ | |
| 1423 | blob_zero(&ans); |
| 1424 | prompt_user("continue (y/N)? ", &ans); |
| 1425 | cReply = blob_str(&ans)[0]; |
| 1426 | if( cReply!='y' && cReply!='Y' ) fossil_exit(1);; |
| 1427 | } |
| 1428 | isAMerge = db_exists("SELECT 1 FROM vmerge WHERE id=0"); |
| 1429 | if( g.aCommitFile && isAMerge ){ |
| 1430 | fossil_fatal("cannot do a partial commit of a merge"); |
| 1431 | } |
| 1432 | |
| 1433 | /* Doing "fossil mv fileA fileB; fossil add fileA; fossil commit fileA" |
| 1434 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -989,11 +989,11 @@ | |
| 989 | blob_appendf(pOut, "N %F\n", p->zMimetype); |
| 990 | } |
| 991 | blob_appendf(pOut, "P %s", zParentUuid); |
| 992 | if( p->verifyDate ) checkin_verify_younger(vid, zParentUuid, zDate); |
| 993 | free(zParentUuid); |
| 994 | db_prepare(&q2, "SELECT merge FROM vmerge WHERE id=0 OR id<-2"); |
| 995 | while( db_step(&q2)==SQLITE_ROW ){ |
| 996 | char *zMergeUuid; |
| 997 | int mid = db_column_int(&q2, 0); |
| 998 | if( !g.markPrivate && content_is_private(mid) ) continue; |
| 999 | zMergeUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", mid); |
| @@ -1008,11 +1008,11 @@ | |
| 1008 | blob_appendf(pOut, "\n"); |
| 1009 | |
| 1010 | db_prepare(&q2, |
| 1011 | "SELECT CASE vmerge.id WHEN -1 THEN '+' ELSE '-' END || blob.uuid" |
| 1012 | " FROM vmerge, blob" |
| 1013 | " WHERE (vmerge.id=-1 OR vmerge.id=-2)" |
| 1014 | " AND blob.rid=vmerge.merge" |
| 1015 | " ORDER BY 1"); |
| 1016 | while( db_step(&q2)==SQLITE_ROW ){ |
| 1017 | const char *zCherrypickUuid = db_column_text(&q2, 0); |
| 1018 | blob_appendf(pOut, "Q %s\n", zCherrypickUuid); |
| @@ -1423,11 +1423,11 @@ | |
| 1423 | blob_zero(&ans); |
| 1424 | prompt_user("continue (y/N)? ", &ans); |
| 1425 | cReply = blob_str(&ans)[0]; |
| 1426 | if( cReply!='y' && cReply!='Y' ) fossil_exit(1);; |
| 1427 | } |
| 1428 | isAMerge = db_exists("SELECT 1 FROM vmerge WHERE id=0 OR id<-2"); |
| 1429 | if( g.aCommitFile && isAMerge ){ |
| 1430 | fossil_fatal("cannot do a partial commit of a merge"); |
| 1431 | } |
| 1432 | |
| 1433 | /* Doing "fossil mv fileA fileB; fossil add fileA; fossil commit fileA" |
| 1434 |