Community
Participate
Working Groups
Cloning a git repo may be a long-running operation. Recently if the operation lasts longer than 15 sec, we may see timeouts on the console and the user does not know whether the operation is finished or not. We should handle it better. The approach for now is to return ACCEPT immediately on POST /git/clone. The response should contain the location of the clone resource. We may then start calling GET on the location to see if the repo is in a consistent state. In the future we should use a mechanism for reporting progress of long-running operations. See 334140.
This will apply to all long running operations in git: fetching in general and pushing. No bugs for these two yet, but they were already mentioned on bug 336116.
John has added reporting progress on git clone[1]. I'm leaving this bug open as we will still get timeouts on fetch[2] and pull[3] (once they're ready). [1] http://git.eclipse.org/c/e4/org.eclipse.orion.server.git/commit/?id=5bee150d470fbd760dcb34703b13b472d9198212 [2] bug 339110 [3] bug 339114
I have some client-side changes for git clone coming as well, hopefully today or tomorrow. It's only a change of a few lines in gitCommands.js. Most of the code is in a separate piece for reporting progress. I'm just working out some bugs now. Hopefully this can be reused for the other long-running git commands as well.
I have pushed by changes for git clone: http://git.eclipse.org/c/e4/org.eclipse.orion.server.git/commit/?id=f6729ecf8cf60e5f558fe95b2c21b7be1fa752a7 http://git.eclipse.org/c/e4/org.eclipse.orion.client.git/commit/?id=f9e22cca7a85230b7ec292c821ff479769ff4d16 The progress messages aren't showing, but I verified that the basic workflow works. A clone request is POSTed, then the client waits for the progress to indicate completion, and finally the dialog opens showing the location of the cloned repository. I found the e4 "deeplink" repository is a good test case because the repo is very small: http://git.eclipse.org/c/e4/org.eclipse.e4.deeplink.git/
Thanks John. I will try to use it for Fetch command and see if I can find any issues with it.
John fixed the issue in Git Clone by using the progress service there.