Fossil SCM

Only run xfer_ticket_code() when needed, and fix another logic error (found by Mark Janssen)

jan.nijtmans 2014-01-10 10:44 delay-ticket-hook
Commit 80e443bdbdd744d55cf3782bbf61f5b3c98ebaa0
2 files changed +6 -4 +1 -1
+6 -4
--- src/manifest.c
+++ src/manifest.c
@@ -1501,19 +1501,21 @@
15011501
int i;
15021502
int rc = TH_OK;
15031503
int permitHooks = (flags & MC_PERMIT_HOOKS);
15041504
const char *zScript = 0;
15051505
assert( manifest_crosslink_busy==1 );
1506
- zScript = xfer_ticket_code();
1507
- if( zScript && permitHooks ){
1508
- rc = xfer_run_common_script();
1506
+ if( permitHooks ){
1507
+ zScript = xfer_ticket_code();
1508
+ if( zScript ){
1509
+ rc = xfer_run_common_script();
1510
+ }
15091511
}
15101512
db_prepare(&q, "SELECT uuid FROM pending_tkt");
15111513
while( db_step(&q)==SQLITE_ROW ){
15121514
const char *zUuid = db_column_text(&q, 0);
15131515
ticket_rebuild_entry(zUuid);
1514
- if( rc==TH_OK && zScript && permitHooks ){
1516
+ if( rc==TH_OK && zScript ){
15151517
rc = xfer_run_script(zScript, zUuid);
15161518
}
15171519
}
15181520
db_finalize(&q);
15191521
db_multi_exec("DROP TABLE pending_tkt");
15201522
--- src/manifest.c
+++ src/manifest.c
@@ -1501,19 +1501,21 @@
1501 int i;
1502 int rc = TH_OK;
1503 int permitHooks = (flags & MC_PERMIT_HOOKS);
1504 const char *zScript = 0;
1505 assert( manifest_crosslink_busy==1 );
1506 zScript = xfer_ticket_code();
1507 if( zScript && permitHooks ){
1508 rc = xfer_run_common_script();
 
 
1509 }
1510 db_prepare(&q, "SELECT uuid FROM pending_tkt");
1511 while( db_step(&q)==SQLITE_ROW ){
1512 const char *zUuid = db_column_text(&q, 0);
1513 ticket_rebuild_entry(zUuid);
1514 if( rc==TH_OK && zScript && permitHooks ){
1515 rc = xfer_run_script(zScript, zUuid);
1516 }
1517 }
1518 db_finalize(&q);
1519 db_multi_exec("DROP TABLE pending_tkt");
1520
--- src/manifest.c
+++ src/manifest.c
@@ -1501,19 +1501,21 @@
1501 int i;
1502 int rc = TH_OK;
1503 int permitHooks = (flags & MC_PERMIT_HOOKS);
1504 const char *zScript = 0;
1505 assert( manifest_crosslink_busy==1 );
1506 if( permitHooks ){
1507 zScript = xfer_ticket_code();
1508 if( zScript ){
1509 rc = xfer_run_common_script();
1510 }
1511 }
1512 db_prepare(&q, "SELECT uuid FROM pending_tkt");
1513 while( db_step(&q)==SQLITE_ROW ){
1514 const char *zUuid = db_column_text(&q, 0);
1515 ticket_rebuild_entry(zUuid);
1516 if( rc==TH_OK && zScript ){
1517 rc = xfer_run_script(zScript, zUuid);
1518 }
1519 }
1520 db_finalize(&q);
1521 db_multi_exec("DROP TABLE pending_tkt");
1522
+1 -1
--- src/tkt.c
+++ src/tkt.c
@@ -537,11 +537,11 @@
537537
db_multi_exec("INSERT OR IGNORE INTO unclustered VALUES(%d);", rid);
538538
}
539539
manifest_crosslink_begin();
540540
result = (manifest_crosslink(rid, pTicket, 0)==0);
541541
assert( blob_is_reset(pTicket) );
542
- if( result ){
542
+ if( !result ){
543543
result = manifest_crosslink_end(MC_PERMIT_HOOKS);
544544
}else{
545545
manifest_crosslink_end(0);
546546
}
547547
return result;
548548
--- src/tkt.c
+++ src/tkt.c
@@ -537,11 +537,11 @@
537 db_multi_exec("INSERT OR IGNORE INTO unclustered VALUES(%d);", rid);
538 }
539 manifest_crosslink_begin();
540 result = (manifest_crosslink(rid, pTicket, 0)==0);
541 assert( blob_is_reset(pTicket) );
542 if( result ){
543 result = manifest_crosslink_end(MC_PERMIT_HOOKS);
544 }else{
545 manifest_crosslink_end(0);
546 }
547 return result;
548
--- src/tkt.c
+++ src/tkt.c
@@ -537,11 +537,11 @@
537 db_multi_exec("INSERT OR IGNORE INTO unclustered VALUES(%d);", rid);
538 }
539 manifest_crosslink_begin();
540 result = (manifest_crosslink(rid, pTicket, 0)==0);
541 assert( blob_is_reset(pTicket) );
542 if( !result ){
543 result = manifest_crosslink_end(MC_PERMIT_HOOKS);
544 }else{
545 manifest_crosslink_end(0);
546 }
547 return result;
548

Keyboard Shortcuts

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