Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Don't use a separate Control artifact for "merge --integrate" any more. |
|---|---|
| Timelines: | family | ancestors | descendants | both | merge-integrate |
| Files: | files | file ages | folders |
| SHA1: |
eb8787a326d4536de4096e988f047dc1 |
| User & Date: | jan.nijtmans 2013-08-19 14:28:45.655 |
Context
|
2013-08-19
| ||
| 14:30 | Don't use a separate Control artifact for "merge --integrate" any more check-in: daa8eb95e4 user: jan.nijtmans tags: trunk | |
| 14:28 | Don't use a separate Control artifact for "merge --integrate" any more. Closed-Leaf check-in: eb8787a326 user: jan.nijtmans tags: merge-integrate | |
| 13:21 | Use C-card in stead of T-card to put comment on timeline for "merge --integrate" Control artifact. Demo: [4d27a34ae936f30c] check-in: 12c30d33d4 user: jan.nijtmans tags: trunk | |
Changes
Changes to src/checkin.c.
| ︙ | ︙ | |||
1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 |
blob_appendf(pOut, "T *branch * %F\n", p->zBranch);
blob_appendf(pOut, "T *sym-%F *\n", p->zBranch);
}
if( zColor && zColor[0] ){
/* One-time background color */
blob_appendf(pOut, "T +bgcolor * %F\n", zColor);
}
if( p->azTag ){
for(i=0; p->azTag[i]; i++){
/* Add a symbolic tag to this check-in. The tag names have already
** been sorted and converted using the %F format */
assert( i==0 || strcmp(p->azTag[i-1], p->azTag[i])<=0 );
blob_appendf(pOut, "T +sym-%s *\n", p->azTag[i]);
}
| > > > > > > > > > > > > | 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 |
blob_appendf(pOut, "T *branch * %F\n", p->zBranch);
blob_appendf(pOut, "T *sym-%F *\n", p->zBranch);
}
if( zColor && zColor[0] ){
/* One-time background color */
blob_appendf(pOut, "T +bgcolor * %F\n", zColor);
}
db_prepare(&q2, "SELECT uuid,merge FROM vmerge JOIN blob ON merge=rid"
" WHERE id=-4 ORDER BY 1");
while( db_step(&q2)==SQLITE_ROW ){
const char *zIntegrateUuid = db_column_text(&q2, 0);
int rid = db_column_int(&q2, 1);
if( is_a_leaf(rid) && !db_exists("SELECT 1 FROM tagxref "
" WHERE tagid=%d AND rid=%d AND tagtype>0", TAG_CLOSED, rid)){
blob_appendf(pOut, "T +closed %s\n", zIntegrateUuid);
}
}
db_finalize(&q2);
if( p->azTag ){
for(i=0; p->azTag[i]; i++){
/* Add a symbolic tag to this check-in. The tag names have already
** been sorted and converted using the %F format */
assert( i==0 || strcmp(p->azTag[i-1], p->azTag[i])<=0 );
blob_appendf(pOut, "T +sym-%s *\n", p->azTag[i]);
}
|
| ︙ | ︙ | |||
1712 1713 1714 1715 1716 1717 1718 |
content_deltify(vid, nvid, 0);
zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", nvid);
db_prepare(&q, "SELECT uuid,merge FROM vmerge JOIN blob ON merge=rid"
" WHERE id=-4");
while( db_step(&q)==SQLITE_ROW ){
const char *zIntegrateUuid = db_column_text(&q, 0);
| | < | < < < < < < < < < < < < < < < < < < < < < | | 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 |
content_deltify(vid, nvid, 0);
zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", nvid);
db_prepare(&q, "SELECT uuid,merge FROM vmerge JOIN blob ON merge=rid"
" WHERE id=-4");
while( db_step(&q)==SQLITE_ROW ){
const char *zIntegrateUuid = db_column_text(&q, 0);
if( is_a_leaf(db_column_int(&q, 1)) ){
fossil_print("Closed: %s\n", zIntegrateUuid);
}else{
fossil_print("Not_Closed: %s (not a leaf any more)\n", zIntegrateUuid);
}
}
db_finalize(&q);
fossil_print("New_Version: %s\n", zUuid);
if( outputManifest ){
zManifestFile = mprintf("%smanifest.uuid", g.zLocalRoot);
|
| ︙ | ︙ |
Changes to src/merge.c.
| ︙ | ︙ | |||
256 257 258 259 260 261 262 |
fossil_fatal("not a version: record #%d", pid);
}
if( !forceFlag && mid==pid ){
fossil_print("Merge skipped because it is a no-op. "
" Use --force to override.\n");
return;
}
| | > > > > > > > | | > | 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 |
fossil_fatal("not a version: record #%d", pid);
}
if( !forceFlag && mid==pid ){
fossil_print("Merge skipped because it is a no-op. "
" Use --force to override.\n");
return;
}
if( integrateFlag ){
if( db_exists("SELECT 1 FROM vmerge WHERE id=-4")) {
/* Fossil earlier than [55cacfcace] cannot handle this,
* therefore disallow it. */
fossil_fatal("Integration of another branch already in progress."
" Commit or Undo needed first", g.argv[2]);
}
if( !is_a_leaf(mid) ){
fossil_warning("ignoring --integrate: %s is not a leaf", g.argv[2]);
integrateFlag = 0;
}
}
if( verboseFlag ){
print_checkin_description(mid, 12, integrateFlag?"integrate:":"merge-from:");
print_checkin_description(pid, 12, "baseline:");
}
vfile_check_signature(vid, CKSIG_ENOTFILE);
db_begin_transaction();
|
| ︙ | ︙ |