Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Allow merges against an empty branch. Ticket [144180bf7db83724a9]. |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
4e3cd6ce4eca752496aa06048695b966 |
| User & Date: | drh 2010-11-08 15:13:21.000 |
Context
|
2010-11-08
| ||
| 15:33 | Fix a typo in an error message in the merge logic. check-in: 370a89c832 user: drh tags: trunk | |
| 15:13 | Allow merges against an empty branch. Ticket [144180bf7db83724a9]. check-in: 4e3cd6ce4e user: drh tags: trunk | |
| 00:40 | Merge in changes from the venks-emacs branch. check-in: c01e3c1794 user: drh tags: trunk | |
Changes
Changes to src/merge.c.
| ︙ | ︙ | |||
71 72 73 74 75 76 77 |
if( vid==0 ){
fossil_fatal("nothing is checked out");
}
mid = name_to_rid(g.argv[2]);
if( mid==0 ){
fossil_fatal("not a version: %s", g.argv[2]);
}
| | | 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
if( vid==0 ){
fossil_fatal("nothing is checked out");
}
mid = name_to_rid(g.argv[2]);
if( mid==0 ){
fossil_fatal("not a version: %s", g.argv[2]);
}
if( !is_a_version(mid) ){
fossil_fatal("not a version: %s", g.argv[2]);
}
if( pickFlag || backoutFlag ){
pid = db_int(0, "SELECT pid FROM plink WHERE cid=%d AND isprim", mid);
if( pid<=0 ){
fossil_fatal("cannot find an ancestor for %s", g.argv[2]);
}
|
| ︙ | ︙ | |||
98 99 100 101 102 103 104 |
db_finalize(&q);
pid = pivot_find();
if( pid<=0 ){
fossil_fatal("cannot find a common ancestor between the current"
"checkout and %s", g.argv[2]);
}
}
| | | | 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
db_finalize(&q);
pid = pivot_find();
if( pid<=0 ){
fossil_fatal("cannot find a common ancestor between the current"
"checkout and %s", g.argv[2]);
}
}
if( !is_a_version(pid) ){
fossil_fatal("not a version: record #%d", pid);
}
vfile_check_signature(vid, 1);
db_begin_transaction();
undo_begin();
load_vfile_from_rid(mid);
load_vfile_from_rid(pid);
|
| ︙ | ︙ |
Changes to src/pivot.c.
| ︙ | ︙ | |||
48 49 50 51 52 53 54 |
"DELETE FROM aqueue;"
"CREATE INDEX IF NOT EXISTS aqueue_idx1 ON aqueue(pending, mtime);"
);
/* Insert the primary record */
db_multi_exec(
"INSERT INTO aqueue(rid, mtime, pending, src)"
| | | | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
"DELETE FROM aqueue;"
"CREATE INDEX IF NOT EXISTS aqueue_idx1 ON aqueue(pending, mtime);"
);
/* Insert the primary record */
db_multi_exec(
"INSERT INTO aqueue(rid, mtime, pending, src)"
" SELECT %d, mtime, 1, 1 FROM event WHERE objid=%d AND type='ci' LIMIT 1",
rid, rid
);
}
/*
** Set a secondary file. The primary file must be set first. There
** must be at least one secondary but there can be more than one if
** desired.
*/
void pivot_set_secondary(int rid){
/* Insert the primary record */
db_multi_exec(
"INSERT OR IGNORE INTO aqueue(rid, mtime, pending, src)"
" SELECT %d, mtime, 1, 0 FROM event WHERE objid=%d AND type='ci'",
rid, rid
);
}
/*
** Find the most recent common ancestor of the primary and one of
** the secondaries. Return its rid. Return 0 if no common ancestor
|
| ︙ | ︙ |