-
Improvement
-
Resolution: Unresolved
-
Major
-
Windows/Linux
When cloning a large repository (~2G, general_delta format), using --rev to only clone a specific branch can lead to vastly increased clone times as shown in the table below:
--rev default | --uncompressed | elapsed time |
---|---|---|
![]() |
![]() |
16:12,05 |
![]() |
![]() |
15:21,41 |
![]() |
![]() |
1:24,41 |
![]() |
![]() |
8:18,24 |
The times have been measured on a Linux host using the following command:
time hg clone <options> <URL>
As can be seen, adding --rev default increases the clone time dramatically, while adding --uncompressed yields the fastest result. On Windows, the situation is even worse (~3 - 4 times slower).
It would therefor be nice if one could enable or disable clone options on a per-job basis, or even have something similar to Git plugin's "Additional Behaviours" which allows to specify "Advanced clone behaviours" (and many more).
[JENKINS-60748] clone options (--rev) not well suited for large repositories
Description |
Original:
When cloning a large repository (~2G, general_delta format), using --rev to only clone a specific branch can lead to vastly increased clone times as shown in the table below: ||--rev default||--uncompressed||elapsed time|| |(/)|(/)|16:12,05| |(/)|(-)|15:21,41| |(-)|(/)|1:24,41| |(-)|(-)|8:18,24| The times have been measured on a Linux host using the following command: {code:java} time hg clone <options> <URL>{code} As can be seen, adding _--rev default_ increases the clone time dramatically, while adding _--uncompressed_ yields the fastest result. On Windows, the situation is even worse (~3 - 4 times slower). It would therefor be nice if one could enable or disable clone options on a per-job basis, or even have something similar to Git plugin's "Additional Behaviours" which allows to specify "Advanced clone behaviours" (and many more). |
New:
When cloning a large repository (~2G, general_delta format), using --rev to only clone a specific branch can lead to vastly increased clone times as shown in the table below: ||--rev default||--uncompressed||elapsed time|| |(/)|(/)|16:12,05| |(/)|(-)|15:21,41| |(-)|(/)|1:24,41| |(-)|(-)|8:18,24| The times have been measured on a Linux host using the following command: {code:java} time hg clone <options> <URL>{code} As can be seen, adding --rev default increases the clone time dramatically, while adding --uncompressed yields the fastest result. On Windows, the situation is even worse (~3 - 4 times slower). It would therefor be nice if one could enable or disable clone options on a per-job basis, or even have something similar to Git plugin's "Additional Behaviours" which allows to specify "Advanced clone behaviours" (and many more). |
Labels | New: performance |
Any news on this? We largely use shell/batch script steps to clone/pull Mercurial repositories instead of just using SCM because of this problem, which is quite cumbersome.