Show More
@@ -868,7 +868,38 b' def pull(repo, remote, heads=None, force' | |||
|
868 | 868 | |
|
869 | 869 | return pullop |
|
870 | 870 | |
|
871 | # list of steps to perform discovery before pull | |
|
872 | pulldiscoveryorder = [] | |
|
873 | ||
|
874 | # Mapping between step name and function | |
|
875 | # | |
|
876 | # This exists to help extensions wrap steps if necessary | |
|
877 | pulldiscoverymapping = {} | |
|
878 | ||
|
879 | def pulldiscovery(stepname): | |
|
880 | """decorator for function performing discovery before pull | |
|
881 | ||
|
882 | The function is added to the step -> function mapping and appended to the | |
|
883 | list of steps. Beware that decorated function will be added in order (this | |
|
884 | may matter). | |
|
885 | ||
|
886 | You can only use this decorator for a new step, if you want to wrap a step | |
|
887 | from an extension, change the pulldiscovery dictionary directly.""" | |
|
888 | def dec(func): | |
|
889 | assert stepname not in pulldiscoverymapping | |
|
890 | pulldiscoverymapping[stepname] = func | |
|
891 | pulldiscoveryorder.append(stepname) | |
|
892 | return func | |
|
893 | return dec | |
|
894 | ||
|
871 | 895 | def _pulldiscovery(pullop): |
|
896 | """Run all discovery steps""" | |
|
897 | for stepname in pulldiscoveryorder: | |
|
898 | step = pulldiscoverymapping[stepname] | |
|
899 | step(pullop) | |
|
900 | ||
|
901 | @pulldiscovery('changegroup') | |
|
902 | def _pulldiscoverychangegroup(pullop): | |
|
872 | 903 | """discovery phase for the pull |
|
873 | 904 | |
|
874 | 905 | Current handle changeset discovery only, will change handle all discovery |
General Comments 0
You need to be logged in to leave comments.
Login now