Fossil SCM
Allow merges against an empty branch. Ticket [144180bf7db83724a9].
Commit
4e3cd6ce4eca752496aa06048695b9669ce2a616
Parent
c01e3c17945322b…
2 files changed
+3
-3
+2
-2
+3
-3
| --- src/merge.c | ||
| +++ src/merge.c | ||
| @@ -73,11 +73,11 @@ | ||
| 73 | 73 | } |
| 74 | 74 | mid = name_to_rid(g.argv[2]); |
| 75 | 75 | if( mid==0 ){ |
| 76 | 76 | fossil_fatal("not a version: %s", g.argv[2]); |
| 77 | 77 | } |
| 78 | - if( mid>1 && !db_exists("SELECT 1 FROM plink WHERE cid=%d", mid) ){ | |
| 78 | + if( !is_a_version(mid) ){ | |
| 79 | 79 | fossil_fatal("not a version: %s", g.argv[2]); |
| 80 | 80 | } |
| 81 | 81 | if( pickFlag || backoutFlag ){ |
| 82 | 82 | pid = db_int(0, "SELECT pid FROM plink WHERE cid=%d AND isprim", mid); |
| 83 | 83 | if( pid<=0 ){ |
| @@ -100,12 +100,12 @@ | ||
| 100 | 100 | if( pid<=0 ){ |
| 101 | 101 | fossil_fatal("cannot find a common ancestor between the current" |
| 102 | 102 | "checkout and %s", g.argv[2]); |
| 103 | 103 | } |
| 104 | 104 | } |
| 105 | - if( pid>1 && !db_exists("SELECT 1 FROM plink WHERE cid=%d", pid) ){ | |
| 106 | - fossil_fatal("not a version: record #%d", mid); | |
| 105 | + if( !is_a_version(pid) ){ | |
| 106 | + fossil_fatal("not a version: record #%d", pid); | |
| 107 | 107 | } |
| 108 | 108 | vfile_check_signature(vid, 1); |
| 109 | 109 | db_begin_transaction(); |
| 110 | 110 | undo_begin(); |
| 111 | 111 | load_vfile_from_rid(mid); |
| 112 | 112 |
| --- src/merge.c | |
| +++ src/merge.c | |
| @@ -73,11 +73,11 @@ | |
| 73 | } |
| 74 | mid = name_to_rid(g.argv[2]); |
| 75 | if( mid==0 ){ |
| 76 | fossil_fatal("not a version: %s", g.argv[2]); |
| 77 | } |
| 78 | if( mid>1 && !db_exists("SELECT 1 FROM plink WHERE cid=%d", mid) ){ |
| 79 | fossil_fatal("not a version: %s", g.argv[2]); |
| 80 | } |
| 81 | if( pickFlag || backoutFlag ){ |
| 82 | pid = db_int(0, "SELECT pid FROM plink WHERE cid=%d AND isprim", mid); |
| 83 | if( pid<=0 ){ |
| @@ -100,12 +100,12 @@ | |
| 100 | if( pid<=0 ){ |
| 101 | fossil_fatal("cannot find a common ancestor between the current" |
| 102 | "checkout and %s", g.argv[2]); |
| 103 | } |
| 104 | } |
| 105 | if( pid>1 && !db_exists("SELECT 1 FROM plink WHERE cid=%d", pid) ){ |
| 106 | fossil_fatal("not a version: record #%d", mid); |
| 107 | } |
| 108 | vfile_check_signature(vid, 1); |
| 109 | db_begin_transaction(); |
| 110 | undo_begin(); |
| 111 | load_vfile_from_rid(mid); |
| 112 |
| --- src/merge.c | |
| +++ src/merge.c | |
| @@ -73,11 +73,11 @@ | |
| 73 | } |
| 74 | mid = name_to_rid(g.argv[2]); |
| 75 | if( mid==0 ){ |
| 76 | fossil_fatal("not a version: %s", g.argv[2]); |
| 77 | } |
| 78 | if( !is_a_version(mid) ){ |
| 79 | fossil_fatal("not a version: %s", g.argv[2]); |
| 80 | } |
| 81 | if( pickFlag || backoutFlag ){ |
| 82 | pid = db_int(0, "SELECT pid FROM plink WHERE cid=%d AND isprim", mid); |
| 83 | if( pid<=0 ){ |
| @@ -100,12 +100,12 @@ | |
| 100 | if( pid<=0 ){ |
| 101 | fossil_fatal("cannot find a common ancestor between the current" |
| 102 | "checkout and %s", g.argv[2]); |
| 103 | } |
| 104 | } |
| 105 | if( !is_a_version(pid) ){ |
| 106 | fossil_fatal("not a version: record #%d", pid); |
| 107 | } |
| 108 | vfile_check_signature(vid, 1); |
| 109 | db_begin_transaction(); |
| 110 | undo_begin(); |
| 111 | load_vfile_from_rid(mid); |
| 112 |
+2
-2
| --- src/pivot.c | ||
| +++ src/pivot.c | ||
| @@ -50,11 +50,11 @@ | ||
| 50 | 50 | ); |
| 51 | 51 | |
| 52 | 52 | /* Insert the primary record */ |
| 53 | 53 | db_multi_exec( |
| 54 | 54 | "INSERT INTO aqueue(rid, mtime, pending, src)" |
| 55 | - " SELECT %d, mtime, 1, 1 FROM plink WHERE cid=%d LIMIT 1", | |
| 55 | + " SELECT %d, mtime, 1, 1 FROM event WHERE objid=%d AND type='ci' LIMIT 1", | |
| 56 | 56 | rid, rid |
| 57 | 57 | ); |
| 58 | 58 | } |
| 59 | 59 | |
| 60 | 60 | /* |
| @@ -64,11 +64,11 @@ | ||
| 64 | 64 | */ |
| 65 | 65 | void pivot_set_secondary(int rid){ |
| 66 | 66 | /* Insert the primary record */ |
| 67 | 67 | db_multi_exec( |
| 68 | 68 | "INSERT OR IGNORE INTO aqueue(rid, mtime, pending, src)" |
| 69 | - " SELECT %d, mtime, 1, 0 FROM plink WHERE cid=%d", | |
| 69 | + " SELECT %d, mtime, 1, 0 FROM event WHERE objid=%d AND type='ci'", | |
| 70 | 70 | rid, rid |
| 71 | 71 | ); |
| 72 | 72 | } |
| 73 | 73 | |
| 74 | 74 | /* |
| 75 | 75 |
| --- src/pivot.c | |
| +++ src/pivot.c | |
| @@ -50,11 +50,11 @@ | |
| 50 | ); |
| 51 | |
| 52 | /* Insert the primary record */ |
| 53 | db_multi_exec( |
| 54 | "INSERT INTO aqueue(rid, mtime, pending, src)" |
| 55 | " SELECT %d, mtime, 1, 1 FROM plink WHERE cid=%d LIMIT 1", |
| 56 | rid, rid |
| 57 | ); |
| 58 | } |
| 59 | |
| 60 | /* |
| @@ -64,11 +64,11 @@ | |
| 64 | */ |
| 65 | void pivot_set_secondary(int rid){ |
| 66 | /* Insert the primary record */ |
| 67 | db_multi_exec( |
| 68 | "INSERT OR IGNORE INTO aqueue(rid, mtime, pending, src)" |
| 69 | " SELECT %d, mtime, 1, 0 FROM plink WHERE cid=%d", |
| 70 | rid, rid |
| 71 | ); |
| 72 | } |
| 73 | |
| 74 | /* |
| 75 |
| --- src/pivot.c | |
| +++ src/pivot.c | |
| @@ -50,11 +50,11 @@ | |
| 50 | ); |
| 51 | |
| 52 | /* Insert the primary record */ |
| 53 | db_multi_exec( |
| 54 | "INSERT INTO aqueue(rid, mtime, pending, src)" |
| 55 | " SELECT %d, mtime, 1, 1 FROM event WHERE objid=%d AND type='ci' LIMIT 1", |
| 56 | rid, rid |
| 57 | ); |
| 58 | } |
| 59 | |
| 60 | /* |
| @@ -64,11 +64,11 @@ | |
| 64 | */ |
| 65 | void pivot_set_secondary(int rid){ |
| 66 | /* Insert the primary record */ |
| 67 | db_multi_exec( |
| 68 | "INSERT OR IGNORE INTO aqueue(rid, mtime, pending, src)" |
| 69 | " SELECT %d, mtime, 1, 0 FROM event WHERE objid=%d AND type='ci'", |
| 70 | rid, rid |
| 71 | ); |
| 72 | } |
| 73 | |
| 74 | /* |
| 75 |