Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | On a merge or update, prompt to continue of autosync fails, just like is done for commit. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | autosync-failure-prompt |
Files: | files | file ages | folders |
SHA1: |
d5575d14dee9244c43a80c4b254ed411 |
User & Date: | drh 2016-05-30 22:25:29.633 |
Context
2016-05-30
| ||
22:30 | On a merge or update, prompt to continue of autosync fails, just like is done for commit. ... (check-in: d685096f user: drh tags: trunk) | |
22:25 | On a merge or update, prompt to continue of autosync fails, just like is done for commit. ... (Closed-Leaf check-in: d5575d14 user: drh tags: autosync-failure-prompt) | |
21:10 | Add a new robot detection string. ... (check-in: 1e2d76ec user: drh tags: trunk) | |
Changes
Changes to src/branch.c.
︙ | ︙ | |||
174 175 176 177 178 179 180 | } /* Commit */ db_end_transaction(0); /* Do an autosync push, if requested */ | | | 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | } /* Commit */ db_end_transaction(0); /* Do an autosync push, if requested */ if( !isPrivate ) autosync_loop(SYNC_PUSH, db_get_int("autosync-tries",1),0); } #if INTERFACE /* ** Allows bits in the mBplqFlags parameter to branch_prepare_list_query(). */ #define BRL_CLOSED_ONLY 0x001 /* Show only closed branches */ |
︙ | ︙ |
Changes to src/checkin.c.
︙ | ︙ | |||
1812 1813 1814 1815 1816 1817 1818 | g.markPrivate = 1; } /* ** Autosync if autosync is enabled and this is not a private check-in. */ if( !g.markPrivate ){ | | < < < | < | 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 | g.markPrivate = 1; } /* ** Autosync if autosync is enabled and this is not a private check-in. */ if( !g.markPrivate ){ if( autosync_loop(SYNC_PULL, db_get_int("autosync-tries", 1), 1) ){ fossil_exit(1); } } /* Require confirmation to continue with the check-in if there is ** clock skew */ if( g.clockSkewSeen ){ |
︙ | ︙ | |||
2234 2235 2236 2237 2238 2239 2240 | if( dryRunFlag ){ db_end_transaction(1); exit(1); } db_end_transaction(0); if( !g.markPrivate ){ | | | 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 | if( dryRunFlag ){ db_end_transaction(1); exit(1); } db_end_transaction(0); if( !g.markPrivate ){ autosync_loop(SYNC_PUSH|SYNC_PULL, db_get_int("autosync-tries", 1), 0); } if( count_nonbranch_children(vid)>1 ){ fossil_print("**** warning: a fork has occurred *****\n"); } } |
Changes to src/merge.c.
︙ | ︙ | |||
263 264 265 266 267 268 269 | if( zBinGlob==0 ) zBinGlob = db_get("binary-glob",0); vid = db_lget_int("checkout", 0); if( vid==0 ){ fossil_fatal("nothing is checked out"); } if( !dryRunFlag ){ if( autosync_loop(SYNC_PULL + SYNC_VERBOSE*verboseFlag, | | | | 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 | if( zBinGlob==0 ) zBinGlob = db_get("binary-glob",0); vid = db_lget_int("checkout", 0); if( vid==0 ){ fossil_fatal("nothing is checked out"); } if( !dryRunFlag ){ if( autosync_loop(SYNC_PULL + SYNC_VERBOSE*verboseFlag, db_get_int("autosync-tries", 1), 1) ){ fossil_fatal("merge abandoned due to sync failure"); } } /* Find mid, the artifactID of the version to be merged into the current ** check-out */ if( g.argc==3 ){ /* Mid is specified as an argument on the command-line */ |
︙ | ︙ |
Changes to src/sync.c.
︙ | ︙ | |||
75 76 77 78 79 80 81 | url_enable_proxy("via proxy: "); rc = client_sync(flags, configSync, 0); return rc; } /* ** This routine will try a number of times to perform autosync with a | | > > > > | > > > > > > > > | 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | url_enable_proxy("via proxy: "); rc = client_sync(flags, configSync, 0); return rc; } /* ** This routine will try a number of times to perform autosync with a ** 0.5 second sleep between attempts. ** ** Return zero on success and non-zero on a failure. If failure occurs ** and doPrompt flag is true, ask the user if they want to continue, and ** if they answer "yes" then return zero in spite of the failure. */ int autosync_loop(int flags, int nTries, int doPrompt){ int n = 0; int rc = 0; while( (n==0 || n<nTries) && (rc=autosync(flags)) ){ if( rc ){ if( ++n<nTries ){ fossil_warning("Autosync failed, making another attempt."); sqlite3_sleep(500); }else{ fossil_warning("Autosync failed."); } } } if( rc && doPrompt ){ Blob ans; char cReply; prompt_user("continue in spite of sync failure (y/N)? ", &ans); cReply = blob_str(&ans)[0]; if( cReply=='y' || cReply=='Y' ) rc = 0; blob_reset(&ans); } return rc; } /* ** This routine processes the command-line argument for push, pull, ** and sync. If a command-line argument is given, that is the URL |
︙ | ︙ |
Changes to src/update.c.
︙ | ︙ | |||
151 152 153 154 155 156 157 | verify_all_options(); db_must_be_within_tree(); vid = db_lget_int("checkout", 0); user_select(); if( !dryRunFlag && !internalUpdate ){ if( autosync_loop(SYNC_PULL + SYNC_VERBOSE*verboseFlag, | | | | 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | verify_all_options(); db_must_be_within_tree(); vid = db_lget_int("checkout", 0); user_select(); if( !dryRunFlag && !internalUpdate ){ if( autosync_loop(SYNC_PULL + SYNC_VERBOSE*verboseFlag, db_get_int("autosync-tries", 1), 1) ){ fossil_fatal("update abandoned due to sync failure"); } } /* Create any empty directories now, as well as after the update, ** so changes in settings are reflected now */ if( !dryRunFlag ) ensure_empty_dirs_created(); |
︙ | ︙ |