Thus said Arseniy Terekhin on Sat, 24 Sep 2016 01:17:23 +0300: > f ci > Autosync: http://fossil-scm.org/ > Round-trips: 1 Artifacts sent: 0 received: 0 > *** time skew *** server is slow by 2.7 minutes > Pull done, sent: 366 received: 283 ip: xx.xx.xx.xxx > continue in spite of time skew (y/N)? y > C:\Windows\notepad.exe "./ci-comment-B5483EC133DB.txt" > New_Version: f1b8192ce1d8ed845149ee9f63193c82b1fdbc67 > Autosync: http://fossil-scm.org/ > Round-trips: 1 Artifacts sent: 2 received: 0 > Error: not authorized to write > Round-trips: 1 Artifacts sent: 2 received: 0 > Sync done, sent: 646 received: 311 ip: xx.xx.xx.xxx > Autosync failed. > > Autosync has failed, and the reason is not specified.
The reason is there, you just have to look back a few lines of output to see the failure. Maybe Error: should be ERROR: to make it easier to single out. > f sync > Sync with http://fossil-scm.org/ > Round-trips: 1 Artifacts sent: 0 received: 79 > *** time skew *** server is slow by 2.7 minutes > Sync done, sent: 516 received: 2507 ip: xx.xx.xx.xxx This is due to some client sync optimization code that only tries to sync content once (working as designed): http://www.fossil-scm.org/index.html/artifact/7d011291275f5e5a82a06df1fcc5bde9554a75ea?txt=1&ln=837-853 Below is a simple test that shows that it does eventually get pushed once authorized. Here's the failure during autosync: $ fossil ci -m trial Autosync: http://localhost:8080/ Round-trips: 1 Artifacts sent: 0 received: 0 Pull done, sent: 283 received: 365 ip: 127.0.0.1 New_Version: 255ae3258fdc3b65147c28245dc5bf86f7fc7833 Autosync: http://localhost:8080/ Round-trips: 1 Artifacts sent: 2 received: 0 Error: not authorized to write Round-trips: 1 Artifacts sent: 2 received: 0 Sync done, sent: 525 received: 394 ip: 127.0.0.1 Autosync failed. If I try to sync, it doesn't try to push: $ fossil sync Sync with http://localhost:8080/ Round-trips: 1 Artifacts sent: 0 received: 0 Sync done, sent: 417 received: 406 ip: 127.0.0.1 Now, let's set remote-url to include a username and try again: $ fossil remote-url http://amb@localhost:8080/ password for amb: remember password (Y/n)? y http://amb@localhost:8080/ $ fossil sync Sync with http://amb@localhost:8080/ Round-trips: 2 Artifacts sent: 2 received: 0 Sync done, sent: 1053 received: 830 ip: 127.0.0.1 Notice that now it pushed. What allowed this to happen is that during the sync, the client requested a push/pull and announced artifacts that it has in ``igot'' cards. It got a response that indicated the client isn't authorized to push. (I believe this is not necessarily considered an error because the sync was anonymous.) Then after getting authorization in the remote-url, the client again announced the unsent content as ``igot'' and the server requested them. Notice that an error is ignored on the first round-trip: http://www.fossil-scm.org/index.html/artifact/7d011291275f5e5a82a06df1fcc5bde9554a75ea?txt=1&ln=2313 > Hope my feedback doesn't look rude. Not at all, I think it's fine feedback. In the case of autosync, there are actually two operations happening, and the error message is actually printed at the end of the first operation (the push), perhaps it just wasn't ugly enough to be noticed? Does this clarify? Thanks, Andy -- TAI64 timestamp: 4000000057e6ceee _______________________________________________ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users