Fossil SCM

Allow merges against an empty branch. Ticket [144180bf7db83724a9].

drh 2010-11-08 15:13 trunk
Commit 4e3cd6ce4eca752496aa06048695b9669ce2a616
2 files changed +3 -3 +2 -2
+3 -3
--- src/merge.c
+++ src/merge.c
@@ -73,11 +73,11 @@
7373
}
7474
mid = name_to_rid(g.argv[2]);
7575
if( mid==0 ){
7676
fossil_fatal("not a version: %s", g.argv[2]);
7777
}
78
- if( mid>1 && !db_exists("SELECT 1 FROM plink WHERE cid=%d", mid) ){
78
+ if( !is_a_version(mid) ){
7979
fossil_fatal("not a version: %s", g.argv[2]);
8080
}
8181
if( pickFlag || backoutFlag ){
8282
pid = db_int(0, "SELECT pid FROM plink WHERE cid=%d AND isprim", mid);
8383
if( pid<=0 ){
@@ -100,12 +100,12 @@
100100
if( pid<=0 ){
101101
fossil_fatal("cannot find a common ancestor between the current"
102102
"checkout and %s", g.argv[2]);
103103
}
104104
}
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);
107107
}
108108
vfile_check_signature(vid, 1);
109109
db_begin_transaction();
110110
undo_begin();
111111
load_vfile_from_rid(mid);
112112
--- 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 @@
5050
);
5151
5252
/* Insert the primary record */
5353
db_multi_exec(
5454
"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",
5656
rid, rid
5757
);
5858
}
5959
6060
/*
@@ -64,11 +64,11 @@
6464
*/
6565
void pivot_set_secondary(int rid){
6666
/* Insert the primary record */
6767
db_multi_exec(
6868
"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'",
7070
rid, rid
7171
);
7272
}
7373
7474
/*
7575
--- 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

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button