Fossil SCM

Avoid an unnecessary HTTP round-trip on syncs.

drh 2007-08-01 13:08 trunk
Commit ae40356c5771a4f3d6083d34036f0b1cfac924ed
1 file changed +4 -2
+4 -2
--- src/xfer.c
+++ src/xfer.c
@@ -651,14 +651,16 @@
651651
if( pushFlag && blob_eq(&aToken[0], "leaf") ){
652652
db_multi_exec(
653653
"INSERT OR IGNORE INTO pending(rid) "
654654
"SELECT cid FROM plink WHERE pid=%d", rid
655655
);
656
- go = 1;
656
+ if( db_changes()>0 ){
657
+ go = 1;
658
+ }
657659
}
658660
if( pullFlag && !go &&
659
- db_exists("SELECT 1 FROM blob WHERE rid=%d AND size>=0", rid) ){
661
+ db_exists("SELECT 1 FROM blob WHERE rid=%d AND size<=0", rid) ){
660662
go = 1;
661663
}
662664
}else if( pullFlag ){
663665
go = 1;
664666
content_put(0, blob_str(&aToken[1]));
665667
--- src/xfer.c
+++ src/xfer.c
@@ -651,14 +651,16 @@
651 if( pushFlag && blob_eq(&aToken[0], "leaf") ){
652 db_multi_exec(
653 "INSERT OR IGNORE INTO pending(rid) "
654 "SELECT cid FROM plink WHERE pid=%d", rid
655 );
656 go = 1;
 
 
657 }
658 if( pullFlag && !go &&
659 db_exists("SELECT 1 FROM blob WHERE rid=%d AND size>=0", rid) ){
660 go = 1;
661 }
662 }else if( pullFlag ){
663 go = 1;
664 content_put(0, blob_str(&aToken[1]));
665
--- src/xfer.c
+++ src/xfer.c
@@ -651,14 +651,16 @@
651 if( pushFlag && blob_eq(&aToken[0], "leaf") ){
652 db_multi_exec(
653 "INSERT OR IGNORE INTO pending(rid) "
654 "SELECT cid FROM plink WHERE pid=%d", rid
655 );
656 if( db_changes()>0 ){
657 go = 1;
658 }
659 }
660 if( pullFlag && !go &&
661 db_exists("SELECT 1 FROM blob WHERE rid=%d AND size<=0", rid) ){
662 go = 1;
663 }
664 }else if( pullFlag ){
665 go = 1;
666 content_put(0, blob_str(&aToken[1]));
667

Keyboard Shortcuts

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