I try to find way for update speсial software (Python application) on client. Client already have HG or GIT, and I can dictate any requirements for clien开发者_高级运维t environment.
But client have slowly and breaking out internet connection.
HG, GIT and others tools ideal for update procedure by changesets with minimal traffic bandwidth.
But if changesets became big (jump from small revision number to HEAD) downloading them may be cancled by connection lost.
Can HG, GIT or others resuming download by pull commands?
One way to use bundle of changesets, download them with wget/curl and others with resuming download option. Then apply bundle.
In this solution server must provide bundles for every revision jumps combination FROM to TO (1-2, 1-15, 2-15). Ideally server must have "Lazzy bundle creation" by client request.
wget -c https://repo.myserver.com/bundle?from=rev1&to=rev2
Has any others ways for client software update from source code repository?
Sorry for my poor English :(
Thanks
Git is particularly efficient and resilient for such network breakdown effects.
Efficient because, it only pulls the objects in the tree that are changed or newly added and even transmits the compressed objects.
Resilient because, unless all the necessary objects are present, the branch is not furthered. That is a merge happens only after the fetch is complete.
If ever the fetch were to be interpreted, the next time the fetch is executed, only the new objects that were not earlier received will be received, this time.
Bundling--transferring-through-wget--applying-bundle is obviously fail proof, but I am not so sure, if that is really necessary.
精彩评论