@@ -819,54 +819,32 @@
819 819 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
820 820 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static void server_private_xfer_not_authorized(void){
821 821 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ error not\sauthorized\sto\ssync\sprivate\scontent
822 822 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
823 823 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
824 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /*
825 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Return the common TH1 code to evaluate prior to evaluating any other
826 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** TH1 transfer notification scripts.
827 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
828 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *xfer_common_code(void){
829 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return db_get("xfer-common-script", 0);
830 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
831 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
832 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /*
833 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Return the TH1 code to evaluate when a push is processed.
834 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
835 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *xfer_push_code(void){
836 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return db_get("xfer-push-script", 0);
837 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
838 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
839 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /*
840 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Return the TH1 code to evaluate when a commit is processed.
841 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
842 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *xfer_commit_code(void){
843 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return db_get("xfer-commit-script", 0);
844 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
845 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
846 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /*
847 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Return the TH1 code to evaluate when a ticket change is processed.
848 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
849 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *xfer_ticket_code(void){
850 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return db_get("xfer-ticket-script", 0);
851 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
824 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static int commonScriptRan = 0;
852 825 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
853 826 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
854 827 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Run the specified TH1 script, if any, and returns 1 on error.
855 828 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
856 829 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int xfer_run_script(const char *zScript, const char *zUuid){
857 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int result;
858 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( !zScript ) return TH_OK;
859 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Th_FossilInit(TH_INIT_DEFAULT);
860 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zUuid ){
861 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- result = Th_SetVar(g.interp, "uuid", -1, zUuid, -1);
862 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( result!=TH_OK ){
863 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_error(1, "%s", Th_GetResult(g.interp, 0));
864 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return result;
865 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
866 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
867 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- result = Th_Eval(g.interp, 0, zScript, -1);
830 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int result = 0;
831 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( !commonScriptRan || !zScript || !(zScript = db_get(zScript, 0))){
832 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return 0; /* No script or common script didn't run, return success. */
833 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
834 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( commonScriptRan == 1 ){
835 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zUuid ){
836 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ result = Th_SetVar(g.interp, "uuid", -1, zUuid, -1);
837 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( result!=TH_OK ){
838 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_error(1, "%s", Th_GetResult(g.interp, 0));
839 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return result;
840 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
841 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
842 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ result = Th_Eval(g.interp, 0, zScript, -1) != TH_OK;
843 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
844 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ result = TH_ERROR;
845 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
868 846 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( result!=TH_OK ){
869 847 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_error(1, "%s", Th_GetResult(g.interp, 0));
870 848 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
871 849 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return result;
872 850 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -873,12 +851,21 @@
873 851 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
874 852 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
875 853 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Runs the pre-transfer TH1 script, if any, and returns its return code.
876 854 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
877 855 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int xfer_run_common_script(void){
878 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Th_FossilInit(TH_INIT_DEFAULT);
879 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return xfer_run_script(xfer_common_code(), 0);
856 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int result = 0;
857 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( !commonScriptRan ){
858 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Th_FossilInit(TH_INIT_DEFAULT); /* Make sure TH1 is ready. */
859 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ commonScriptRan = 1; /* enable run_script to do something */
860 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ result = xfer_run_script("xfer-common-script", 0);
861 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( result == TH_ERROR ){
862 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Error message is left in th interpreter. */
863 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ commonScriptRan = 2;
864 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
865 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
866 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return result;
880 867 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
881 868 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
882 869 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
883 870 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** If this variable is set, disable login checks. Used for debugging
884 871 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** only.
@@ -1263,11 +1250,11 @@
1263 1250 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1264 1251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blobarray_reset(xfer.aToken, xfer.nToken);
1265 1252 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&xfer.line);
1266 1253 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1267 1254 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( isPush ){
1268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( xfer_run_script(xfer_push_code(), 0)!=TH_OK ){
1255 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( xfer_run_script("xfer-push-script", 0)!=TH_OK ){
1269 1256 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cgi_reset_content();
1270 1257 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ error push\sscript\sfailed:\s%F(g.zErrMsg)
1271 1258 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nErr++;
1272 1259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1273 1260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
request_phantoms(&xfer, 500);
1274 1261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!