fal 1.7.3__tar.gz → 1.7.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of fal might be problematic. Click here for more details.

Files changed (171) hide show
  1. {fal-1.7.3/fal.egg-info → fal-1.7.4}/PKG-INFO +1 -1
  2. {fal-1.7.3 → fal-1.7.4/fal.egg-info}/PKG-INFO +1 -1
  3. {fal-1.7.3 → fal-1.7.4}/src/fal/_fal_version.py +2 -2
  4. {fal-1.7.3 → fal-1.7.4}/src/fal/toolkit/utils/download_utils.py +5 -1
  5. {fal-1.7.3 → fal-1.7.4}/tests/integration_test.py +22 -6
  6. {fal-1.7.3 → fal-1.7.4}/.gitignore +0 -0
  7. {fal-1.7.3 → fal-1.7.4}/Makefile +0 -0
  8. {fal-1.7.3 → fal-1.7.4}/README.md +0 -0
  9. {fal-1.7.3 → fal-1.7.4}/docs/conf.py +0 -0
  10. {fal-1.7.3 → fal-1.7.4}/docs/index.rst +0 -0
  11. {fal-1.7.3 → fal-1.7.4}/fal.egg-info/SOURCES.txt +0 -0
  12. {fal-1.7.3 → fal-1.7.4}/fal.egg-info/dependency_links.txt +0 -0
  13. {fal-1.7.3 → fal-1.7.4}/fal.egg-info/entry_points.txt +0 -0
  14. {fal-1.7.3 → fal-1.7.4}/fal.egg-info/requires.txt +0 -0
  15. {fal-1.7.3 → fal-1.7.4}/fal.egg-info/top_level.txt +0 -0
  16. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/README.md +0 -0
  17. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/__init__.py +0 -0
  18. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/api/__init__.py +0 -0
  19. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/api/applications/__init__.py +0 -0
  20. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/api/applications/app_metadata.py +0 -0
  21. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/api/billing/__init__.py +0 -0
  22. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/api/billing/get_user_details.py +0 -0
  23. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/api/comfy/__init__.py +0 -0
  24. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/api/comfy/create_workflow.py +0 -0
  25. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/api/comfy/delete_workflow.py +0 -0
  26. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/api/comfy/get_workflow.py +0 -0
  27. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/api/comfy/list_user_workflows.py +0 -0
  28. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/api/comfy/update_workflow.py +0 -0
  29. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/api/files/__init__.py +0 -0
  30. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/api/files/check_dir_hash.py +0 -0
  31. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/api/files/upload_local_file.py +0 -0
  32. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/api/users/__init__.py +0 -0
  33. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/api/users/get_current_user.py +0 -0
  34. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/api/workflows/__init__.py +0 -0
  35. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/api/workflows/create_workflow.py +0 -0
  36. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/api/workflows/delete_workflow.py +0 -0
  37. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/api/workflows/get_workflow.py +0 -0
  38. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/api/workflows/list_user_workflows.py +0 -0
  39. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/api/workflows/update_workflow.py +0 -0
  40. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/client.py +0 -0
  41. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/errors.py +0 -0
  42. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/__init__.py +0 -0
  43. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/app_metadata_response_app_metadata.py +0 -0
  44. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/body_upload_local_file.py +0 -0
  45. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_detail.py +0 -0
  46. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_item.py +0 -0
  47. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema.py +0 -0
  48. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_extra_data.py +0 -0
  49. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_fal_inputs.py +0 -0
  50. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_fal_inputs_dev_info.py +0 -0
  51. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_prompt.py +0 -0
  52. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/current_user.py +0 -0
  53. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/customer_details.py +0 -0
  54. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/hash_check.py +0 -0
  55. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/http_validation_error.py +0 -0
  56. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/lock_reason.py +0 -0
  57. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/page_comfy_workflow_item.py +0 -0
  58. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/page_workflow_item.py +0 -0
  59. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/team_role.py +0 -0
  60. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/typed_comfy_workflow.py +0 -0
  61. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/typed_comfy_workflow_update.py +0 -0
  62. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/typed_workflow.py +0 -0
  63. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/typed_workflow_update.py +0 -0
  64. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/user_member.py +0 -0
  65. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/validation_error.py +0 -0
  66. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents.py +0 -0
  67. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_metadata.py +0 -0
  68. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_nodes.py +0 -0
  69. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_output.py +0 -0
  70. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/workflow_detail.py +0 -0
  71. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/workflow_detail_contents.py +0 -0
  72. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/workflow_item.py +0 -0
  73. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/workflow_node.py +0 -0
  74. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/workflow_node_type.py +0 -0
  75. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema.py +0 -0
  76. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema_input.py +0 -0
  77. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema_output.py +0 -0
  78. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/py.typed +0 -0
  79. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/openapi_fal_rest/types.py +0 -0
  80. {fal-1.7.3 → fal-1.7.4}/openapi-fal-rest/pyproject.toml +0 -0
  81. {fal-1.7.3 → fal-1.7.4}/openapi_rest.config.yaml +0 -0
  82. {fal-1.7.3 → fal-1.7.4}/pyproject.toml +0 -0
  83. {fal-1.7.3 → fal-1.7.4}/setup.cfg +0 -0
  84. {fal-1.7.3 → fal-1.7.4}/src/fal/__init__.py +0 -0
  85. {fal-1.7.3 → fal-1.7.4}/src/fal/__main__.py +0 -0
  86. {fal-1.7.3 → fal-1.7.4}/src/fal/_serialization.py +0 -0
  87. {fal-1.7.3 → fal-1.7.4}/src/fal/_version.py +0 -0
  88. {fal-1.7.3 → fal-1.7.4}/src/fal/api.py +0 -0
  89. {fal-1.7.3 → fal-1.7.4}/src/fal/app.py +0 -0
  90. {fal-1.7.3 → fal-1.7.4}/src/fal/apps.py +0 -0
  91. {fal-1.7.3 → fal-1.7.4}/src/fal/auth/__init__.py +0 -0
  92. {fal-1.7.3 → fal-1.7.4}/src/fal/auth/auth0.py +0 -0
  93. {fal-1.7.3 → fal-1.7.4}/src/fal/auth/local.py +0 -0
  94. {fal-1.7.3 → fal-1.7.4}/src/fal/cli/__init__.py +0 -0
  95. {fal-1.7.3 → fal-1.7.4}/src/fal/cli/_utils.py +0 -0
  96. {fal-1.7.3 → fal-1.7.4}/src/fal/cli/apps.py +0 -0
  97. {fal-1.7.3 → fal-1.7.4}/src/fal/cli/auth.py +0 -0
  98. {fal-1.7.3 → fal-1.7.4}/src/fal/cli/create.py +0 -0
  99. {fal-1.7.3 → fal-1.7.4}/src/fal/cli/debug.py +0 -0
  100. {fal-1.7.3 → fal-1.7.4}/src/fal/cli/deploy.py +0 -0
  101. {fal-1.7.3 → fal-1.7.4}/src/fal/cli/doctor.py +0 -0
  102. {fal-1.7.3 → fal-1.7.4}/src/fal/cli/keys.py +0 -0
  103. {fal-1.7.3 → fal-1.7.4}/src/fal/cli/main.py +0 -0
  104. {fal-1.7.3 → fal-1.7.4}/src/fal/cli/parser.py +0 -0
  105. {fal-1.7.3 → fal-1.7.4}/src/fal/cli/run.py +0 -0
  106. {fal-1.7.3 → fal-1.7.4}/src/fal/cli/runners.py +0 -0
  107. {fal-1.7.3 → fal-1.7.4}/src/fal/cli/secrets.py +0 -0
  108. {fal-1.7.3 → fal-1.7.4}/src/fal/config.py +0 -0
  109. {fal-1.7.3 → fal-1.7.4}/src/fal/console/__init__.py +0 -0
  110. {fal-1.7.3 → fal-1.7.4}/src/fal/console/icons.py +0 -0
  111. {fal-1.7.3 → fal-1.7.4}/src/fal/console/ux.py +0 -0
  112. {fal-1.7.3 → fal-1.7.4}/src/fal/container.py +0 -0
  113. {fal-1.7.3 → fal-1.7.4}/src/fal/exceptions/__init__.py +0 -0
  114. {fal-1.7.3 → fal-1.7.4}/src/fal/exceptions/_base.py +0 -0
  115. {fal-1.7.3 → fal-1.7.4}/src/fal/exceptions/_cuda.py +0 -0
  116. {fal-1.7.3 → fal-1.7.4}/src/fal/exceptions/auth.py +0 -0
  117. {fal-1.7.3 → fal-1.7.4}/src/fal/files.py +0 -0
  118. {fal-1.7.3 → fal-1.7.4}/src/fal/flags.py +0 -0
  119. {fal-1.7.3 → fal-1.7.4}/src/fal/logging/__init__.py +0 -0
  120. {fal-1.7.3 → fal-1.7.4}/src/fal/logging/isolate.py +0 -0
  121. {fal-1.7.3 → fal-1.7.4}/src/fal/logging/style.py +0 -0
  122. {fal-1.7.3 → fal-1.7.4}/src/fal/logging/trace.py +0 -0
  123. {fal-1.7.3 → fal-1.7.4}/src/fal/logging/user.py +0 -0
  124. {fal-1.7.3 → fal-1.7.4}/src/fal/py.typed +0 -0
  125. {fal-1.7.3 → fal-1.7.4}/src/fal/rest_client.py +0 -0
  126. {fal-1.7.3 → fal-1.7.4}/src/fal/sdk.py +0 -0
  127. {fal-1.7.3 → fal-1.7.4}/src/fal/sync.py +0 -0
  128. {fal-1.7.3 → fal-1.7.4}/src/fal/toolkit/__init__.py +0 -0
  129. {fal-1.7.3 → fal-1.7.4}/src/fal/toolkit/exceptions.py +0 -0
  130. {fal-1.7.3 → fal-1.7.4}/src/fal/toolkit/file/__init__.py +0 -0
  131. {fal-1.7.3 → fal-1.7.4}/src/fal/toolkit/file/file.py +0 -0
  132. {fal-1.7.3 → fal-1.7.4}/src/fal/toolkit/file/providers/fal.py +0 -0
  133. {fal-1.7.3 → fal-1.7.4}/src/fal/toolkit/file/providers/gcp.py +0 -0
  134. {fal-1.7.3 → fal-1.7.4}/src/fal/toolkit/file/providers/r2.py +0 -0
  135. {fal-1.7.3 → fal-1.7.4}/src/fal/toolkit/file/providers/s3.py +0 -0
  136. {fal-1.7.3 → fal-1.7.4}/src/fal/toolkit/file/types.py +0 -0
  137. {fal-1.7.3 → fal-1.7.4}/src/fal/toolkit/image/__init__.py +0 -0
  138. {fal-1.7.3 → fal-1.7.4}/src/fal/toolkit/image/image.py +0 -0
  139. {fal-1.7.3 → fal-1.7.4}/src/fal/toolkit/image/nsfw_filter/__init__.py +0 -0
  140. {fal-1.7.3 → fal-1.7.4}/src/fal/toolkit/image/nsfw_filter/env.py +0 -0
  141. {fal-1.7.3 → fal-1.7.4}/src/fal/toolkit/image/nsfw_filter/inference.py +0 -0
  142. {fal-1.7.3 → fal-1.7.4}/src/fal/toolkit/image/nsfw_filter/model.py +0 -0
  143. {fal-1.7.3 → fal-1.7.4}/src/fal/toolkit/image/nsfw_filter/requirements.txt +0 -0
  144. {fal-1.7.3 → fal-1.7.4}/src/fal/toolkit/image/safety_checker.py +0 -0
  145. {fal-1.7.3 → fal-1.7.4}/src/fal/toolkit/optimize.py +0 -0
  146. {fal-1.7.3 → fal-1.7.4}/src/fal/toolkit/types.py +0 -0
  147. {fal-1.7.3 → fal-1.7.4}/src/fal/toolkit/utils/__init__.py +0 -0
  148. {fal-1.7.3 → fal-1.7.4}/src/fal/toolkit/utils/retry.py +0 -0
  149. {fal-1.7.3 → fal-1.7.4}/src/fal/utils.py +0 -0
  150. {fal-1.7.3 → fal-1.7.4}/src/fal/workflows.py +0 -0
  151. {fal-1.7.3 → fal-1.7.4}/tests/__init__.py +0 -0
  152. {fal-1.7.3 → fal-1.7.4}/tests/assets/cat.png +0 -0
  153. {fal-1.7.3 → fal-1.7.4}/tests/cli/__init__.py +0 -0
  154. {fal-1.7.3 → fal-1.7.4}/tests/cli/test_apps.py +0 -0
  155. {fal-1.7.3 → fal-1.7.4}/tests/cli/test_auth.py +0 -0
  156. {fal-1.7.3 → fal-1.7.4}/tests/cli/test_deploy.py +0 -0
  157. {fal-1.7.3 → fal-1.7.4}/tests/cli/test_keys.py +0 -0
  158. {fal-1.7.3 → fal-1.7.4}/tests/cli/test_run.py +0 -0
  159. {fal-1.7.3 → fal-1.7.4}/tests/cli/test_secrets.py +0 -0
  160. {fal-1.7.3 → fal-1.7.4}/tests/conftest.py +0 -0
  161. {fal-1.7.3 → fal-1.7.4}/tests/mainify_package/__init__.py +0 -0
  162. {fal-1.7.3 → fal-1.7.4}/tests/mainify_package/impl.py +0 -0
  163. {fal-1.7.3 → fal-1.7.4}/tests/mainify_package/utils.py +0 -0
  164. {fal-1.7.3 → fal-1.7.4}/tests/mainify_target.py +0 -0
  165. {fal-1.7.3 → fal-1.7.4}/tests/test_apps.py +0 -0
  166. {fal-1.7.3 → fal-1.7.4}/tests/test_stability.py +0 -0
  167. {fal-1.7.3 → fal-1.7.4}/tests/toolkit/file_test.py +0 -0
  168. {fal-1.7.3 → fal-1.7.4}/tests/toolkit/image_test.py +0 -0
  169. {fal-1.7.3 → fal-1.7.4}/tests/toolkit/test_types.py +0 -0
  170. {fal-1.7.3 → fal-1.7.4}/tests/toolkit/utils/retry.py +0 -0
  171. {fal-1.7.3 → fal-1.7.4}/tools/demo_script.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: fal
3
- Version: 1.7.3
3
+ Version: 1.7.4
4
4
  Summary: fal is an easy-to-use Serverless Python Framework
5
5
  Author: Features & Labels <support@fal.ai>
6
6
  Requires-Python: >=3.8
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: fal
3
- Version: 1.7.3
3
+ Version: 1.7.4
4
4
  Summary: fal is an easy-to-use Serverless Python Framework
5
5
  Author: Features & Labels <support@fal.ai>
6
6
  Requires-Python: >=3.8
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '1.7.3'
16
- __version_tuple__ = version_tuple = (1, 7, 3)
15
+ __version__ = version = '1.7.4'
16
+ __version_tuple__ = version_tuple = (1, 7, 4)
@@ -389,7 +389,11 @@ def clone_repository(
389
389
  A Path object representing the full path to the cloned Git repository.
390
390
  """
391
391
  target_dir = target_dir or FAL_REPOSITORY_DIR # type: ignore[assignment]
392
- repo_name = repo_name or Path(https_url).stem
392
+
393
+ if repo_name is None:
394
+ repo_name = Path(https_url).stem
395
+ if commit_hash:
396
+ repo_name += f"-{commit_hash[:8]}"
393
397
 
394
398
  local_repo_path = Path(target_dir) / repo_name # type: ignore[arg-type]
395
399
 
@@ -355,6 +355,12 @@ def test_clone_repository(isolated_client, mock_fal_persistent_dirs):
355
355
  EXAMPLE_REPO_FIRST_COMMIT = "64b0a89c8391bd2cb3ca23cdeae01779e11aee05"
356
356
  EXAMPLE_REPO_SECOND_COMMIT = "34ecbca8cc7b64719d2a5c40dd3272f8d13bc1d2"
357
357
  expected_path = FAL_REPOSITORY_DIR / "isolate"
358
+ first_expected_path = (
359
+ FAL_REPOSITORY_DIR / f"isolate-{EXAMPLE_REPO_FIRST_COMMIT[:8]}"
360
+ )
361
+ second_expected_path = (
362
+ FAL_REPOSITORY_DIR / f"isolate-{EXAMPLE_REPO_SECOND_COMMIT[:8]}"
363
+ )
358
364
 
359
365
  @isolated_client()
360
366
  def clone_without_commit_hash():
@@ -376,7 +382,7 @@ def test_clone_repository(isolated_client, mock_fal_persistent_dirs):
376
382
  EXAMPLE_REPO_URL, commit_hash=EXAMPLE_REPO_SECOND_COMMIT
377
383
  )
378
384
 
379
- second_repo_hash = _get_git_revision_hash(repo_path)
385
+ second_repo_hash = _get_git_revision_hash(second_path)
380
386
 
381
387
  return first_path, first_repo_hash, second_path, second_repo_hash
382
388
 
@@ -387,8 +393,12 @@ def test_clone_repository(isolated_client, mock_fal_persistent_dirs):
387
393
  second_repo_hash,
388
394
  ) = clone_with_commit_hash()
389
395
 
390
- assert str(expected_path) == str(first_path), "Path should be the target location"
391
- assert str(expected_path) == str(second_path), "Path should be the target location"
396
+ assert str(first_expected_path) == str(
397
+ first_path
398
+ ), "Path should be the target location"
399
+ assert str(second_expected_path) == str(
400
+ second_path
401
+ ), "Path should be the target location"
392
402
 
393
403
  assert (
394
404
  first_repo_hash == EXAMPLE_REPO_FIRST_COMMIT
@@ -432,9 +442,15 @@ def test_clone_repository(isolated_client, mock_fal_persistent_dirs):
432
442
  third_repo_stat,
433
443
  ) = clone_with_force()
434
444
 
435
- assert str(expected_path) == str(first_path), "Path should be the target location"
436
- assert str(expected_path) == str(second_path), "Path should be the target location"
437
- assert str(expected_path) == str(third_path), "Path should be the target location"
445
+ assert str(first_expected_path) == str(
446
+ first_path
447
+ ), "Path should be the target location"
448
+ assert str(first_expected_path) == str(
449
+ second_path
450
+ ), "Path should be the target location"
451
+ assert str(first_expected_path) == str(
452
+ third_path
453
+ ), "Path should be the target location"
438
454
 
439
455
  assert (
440
456
  first_repo_stat.st_mtime == second_repo_stat.st_mtime
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes