wayfarer 0.4.2 → 0.4.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (647) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +10 -0
  3. data/Gemfile.lock +2 -2
  4. data/docs/cookbook/batch_routing.md +1 -1
  5. data/docs/cookbook/navigation.md +43 -0
  6. data/docs/guides/error_handling.md +23 -1
  7. data/docs/guides/jobs.md +4 -4
  8. data/docs/guides/navigation.md +1 -1
  9. data/docs/guides/{browser_automation → networking}/capybara.md +3 -1
  10. data/docs/guides/{browser_automation → networking}/custom_adapters.md +0 -0
  11. data/docs/guides/{browser_automation → networking}/ferrum.md +0 -0
  12. data/docs/guides/networking/http.md +33 -0
  13. data/docs/guides/{browser_automation → networking}/selenium.md +0 -0
  14. data/docs/reference/configuration_keys.md +1 -0
  15. data/lib/wayfarer/base.rb +37 -27
  16. data/lib/wayfarer/cli/base.rb +19 -1
  17. data/lib/wayfarer/cli/job.rb +4 -8
  18. data/lib/wayfarer/config/networking.rb +3 -0
  19. data/lib/wayfarer/gc.rb +3 -4
  20. data/lib/wayfarer/handler.rb +15 -0
  21. data/lib/wayfarer/middleware/base.rb +19 -0
  22. data/lib/wayfarer/middleware/chain.rb +8 -0
  23. data/lib/wayfarer/middleware/controller.rb +40 -0
  24. data/lib/wayfarer/middleware/dedup.rb +5 -0
  25. data/lib/wayfarer/middleware/dispatch.rb +22 -0
  26. data/lib/wayfarer/middleware/fetch.rb +24 -15
  27. data/lib/wayfarer/middleware/lazy.rb +11 -0
  28. data/lib/wayfarer/middleware/normalize.rb +2 -0
  29. data/lib/wayfarer/middleware/router.rb +20 -14
  30. data/lib/wayfarer/middleware/stage.rb +6 -2
  31. data/lib/wayfarer/networking/context.rb +2 -1
  32. data/lib/wayfarer/networking/ferrum.rb +1 -0
  33. data/lib/wayfarer/networking/follow.rb +22 -0
  34. data/lib/wayfarer/networking/result.rb +0 -8
  35. data/lib/wayfarer/routing/matchers/host.rb +3 -1
  36. data/lib/wayfarer/routing/matchers/path.rb +1 -1
  37. data/lib/wayfarer/routing/result.rb +0 -5
  38. data/lib/wayfarer/routing/router.rb +3 -2
  39. data/lib/wayfarer/serializer.rb +2 -2
  40. data/lib/wayfarer/task.rb +4 -2
  41. data/lib/wayfarer.rb +2 -9
  42. data/spec/base_spec.rb +33 -42
  43. data/spec/cli/job_spec.rb +9 -5
  44. data/spec/gc_spec.rb +5 -9
  45. data/spec/handler_spec.rb +11 -0
  46. data/spec/integration/callbacks_spec.rb +85 -0
  47. data/spec/integration/page_spec.rb +62 -0
  48. data/spec/integration/params_spec.rb +56 -0
  49. data/spec/integration/stage_spec.rb +51 -0
  50. data/spec/integration/steering_spec.rb +57 -0
  51. data/spec/middleware/chain_spec.rb +15 -2
  52. data/spec/middleware/controller_spec.rb +86 -0
  53. data/spec/middleware/dedup_spec.rb +20 -8
  54. data/spec/middleware/dispatch_spec.rb +43 -0
  55. data/spec/middleware/fetch_spec.rb +109 -54
  56. data/spec/middleware/normalize_spec.rb +5 -4
  57. data/spec/middleware/router_spec.rb +73 -48
  58. data/spec/middleware/stage_spec.rb +42 -19
  59. data/spec/networking/context_spec.rb +17 -0
  60. data/spec/networking/follow_spec.rb +41 -0
  61. data/spec/spec_helpers.rb +11 -3
  62. data/spec/support/static/git-scm.com/assets/application-38b0d42ff05ffea45841edebbd14b75b89585646153808e82907c2c5c11f324b.js +772 -0
  63. data/spec/support/static/git-scm.com/assets/application-cafcf280f67db0e6d8168ba98a38da878769a9d5f37793b68ffb963a02d185e0.css +1 -0
  64. data/spec/support/static/git-scm.com/assets/modernize-b3ebe0c31c24f230dc62179d3e1030d2e57a53b1668d9382c0a27dbd44a94beb.js +20 -0
  65. data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Bash.html +751 -0
  66. data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Git-in-PowerShell.html +804 -0
  67. data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Sublime-Text.html +728 -0
  68. data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Visual-Studio-Code.html +751 -0
  69. data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Visual-Studio.html +740 -0
  70. data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Zsh.html +765 -0
  71. data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Graphical-Interfaces.html +931 -0
  72. data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Summary.html +702 -0
  73. data/spec/support/static/git-scm.com/book/en/v2/Appendix-B:-Embedding-Git-in-your-Applications-Command-line-Git.html +720 -0
  74. data/spec/support/static/git-scm.com/book/en/v2/Appendix-B:-Embedding-Git-in-your-Applications-Dulwich.html +746 -0
  75. data/spec/support/static/git-scm.com/book/en/v2/Appendix-B:-Embedding-Git-in-your-Applications-JGit.html +889 -0
  76. data/spec/support/static/git-scm.com/book/en/v2/Appendix-B:-Embedding-Git-in-your-Applications-Libgit2.html +1003 -0
  77. data/spec/support/static/git-scm.com/book/en/v2/Appendix-B:-Embedding-Git-in-your-Applications-go-git.html +792 -0
  78. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Administration.html +745 -0
  79. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Basic-Snapshotting.html +840 -0
  80. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Branching-and-Merging.html +829 -0
  81. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Debugging.html +731 -0
  82. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Email.html +766 -0
  83. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-External-Systems.html +721 -0
  84. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Getting-and-Creating-Projects.html +746 -0
  85. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison.html +735 -0
  86. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Patching.html +742 -0
  87. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Plumbing-Commands.html +715 -0
  88. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Setup-and-Config.html +863 -0
  89. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Sharing-and-Updating-Projects.html +802 -0
  90. data/spec/support/static/git-scm.com/book/en/v2/Customizing-Git-An-Example-Git-Enforced-Policy.html +1200 -0
  91. data/spec/support/static/git-scm.com/book/en/v2/Customizing-Git-Git-Attributes.html +1134 -0
  92. data/spec/support/static/git-scm.com/book/en/v2/Customizing-Git-Git-Configuration.html +1315 -0
  93. data/spec/support/static/git-scm.com/book/en/v2/Customizing-Git-Git-Hooks.html +876 -0
  94. data/spec/support/static/git-scm.com/book/en/v2/Customizing-Git-Summary.html +704 -0
  95. data/spec/support/static/git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project.html +1667 -0
  96. data/spec/support/static/git-scm.com/book/en/v2/Distributed-Git-Distributed-Workflows.html +859 -0
  97. data/spec/support/static/git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project.html +1354 -0
  98. data/spec/support/static/git-scm.com/book/en/v2/Distributed-Git-Summary.html +704 -0
  99. data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-A-Short-History-of-Git.html +735 -0
  100. data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-About-Version-Control.html +783 -0
  101. data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup.html +889 -0
  102. data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-Getting-Help.html +750 -0
  103. data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-Installing-Git.html +879 -0
  104. data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-Summary.html +704 -0
  105. data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-The-Command-Line.html +711 -0
  106. data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-What-is-Git?.html +857 -0
  107. data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository.html +816 -0
  108. data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Git-Aliases.html +775 -0
  109. data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository.html +1432 -0
  110. data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Summary.html +703 -0
  111. data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Tagging.html +1049 -0
  112. data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Undoing-Things.html +998 -0
  113. data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History.html +1172 -0
  114. data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes.html +983 -0
  115. data/spec/support/static/git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging.html +1102 -0
  116. data/spec/support/static/git-scm.com/book/en/v2/Git-Branching-Branch-Management.html +946 -0
  117. data/spec/support/static/git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell.html +1020 -0
  118. data/spec/support/static/git-scm.com/book/en/v2/Git-Branching-Branching-Workflows.html +786 -0
  119. data/spec/support/static/git-scm.com/book/en/v2/Git-Branching-Rebasing.html +1028 -0
  120. data/spec/support/static/git-scm.com/book/en/v2/Git-Branching-Remote-Branches.html +1009 -0
  121. data/spec/support/static/git-scm.com/book/en/v2/Git-Branching-Summary.html +705 -0
  122. data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Environment-Variables.html +1009 -0
  123. data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Git-Objects.html +1209 -0
  124. data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Git-References.html +939 -0
  125. data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery.html +1086 -0
  126. data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Packfiles.html +876 -0
  127. data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain.html +745 -0
  128. data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Summary.html +708 -0
  129. data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-The-Refspec.html +872 -0
  130. data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Transfer-Protocols.html +1043 -0
  131. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Advanced-Merging.html +1605 -0
  132. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Bundling.html +888 -0
  133. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Credential-Storage.html +1035 -0
  134. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git.html +861 -0
  135. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Interactive-Staging.html +920 -0
  136. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Replace.html +949 -0
  137. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Rerere.html +983 -0
  138. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Reset-Demystified.html +1236 -0
  139. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Revision-Selection.html +1178 -0
  140. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Rewriting-History.html +1182 -0
  141. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Searching.html +875 -0
  142. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work.html +922 -0
  143. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Stashing-and-Cleaning.html +1039 -0
  144. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Submodules.html +1864 -0
  145. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Summary.html +705 -0
  146. data/spec/support/static/git-scm.com/book/en/v2/Git-and-Other-Systems-Git-as-a-Client.html +2656 -0
  147. data/spec/support/static/git-scm.com/book/en/v2/Git-and-Other-Systems-Migrating-to-Git.html +1741 -0
  148. data/spec/support/static/git-scm.com/book/en/v2/Git-and-Other-Systems-Summary.html +703 -0
  149. data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-Generating-Your-SSH-Public-Key.html +759 -0
  150. data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-Getting-Git-on-a-Server.html +827 -0
  151. data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-Git-Daemon.html +775 -0
  152. data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-GitLab.html +872 -0
  153. data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-GitWeb.html +776 -0
  154. data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server.html +870 -0
  155. data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-Smart-HTTP.html +789 -0
  156. data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-Summary.html +709 -0
  157. data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols.html +963 -0
  158. data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-Third-Party-Hosted-Options.html +711 -0
  159. data/spec/support/static/git-scm.com/book/en/v2/GitHub-Account-Setup-and-Configuration.html +858 -0
  160. data/spec/support/static/git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project.html +1502 -0
  161. data/spec/support/static/git-scm.com/book/en/v2/GitHub-Maintaining-a-Project.html +1218 -0
  162. data/spec/support/static/git-scm.com/book/en/v2/GitHub-Managing-an-organization.html +797 -0
  163. data/spec/support/static/git-scm.com/book/en/v2/GitHub-Scripting-GitHub.html +1059 -0
  164. data/spec/support/static/git-scm.com/book/en/v2/GitHub-Summary.html +704 -0
  165. data/spec/support/static/git-scm.com/book/en/v2/ch00/_abort_merge.html +1605 -0
  166. data/spec/support/static/git-scm.com/book/en/v2/ch00/_add_email_addresses.html +858 -0
  167. data/spec/support/static/git-scm.com/book/en/v2/ch00/_advanced_merging.html +1605 -0
  168. data/spec/support/static/git-scm.com/book/en/v2/ch00/_an_example_git_enforced_policy.html +1200 -0
  169. data/spec/support/static/git-scm.com/book/en/v2/ch00/_annotated_tags.html +1049 -0
  170. data/spec/support/static/git-scm.com/book/en/v2/ch00/_api_comment.html +1059 -0
  171. data/spec/support/static/git-scm.com/book/en/v2/ch00/_bare_repo.html +827 -0
  172. data/spec/support/static/git-scm.com/book/en/v2/ch00/_basic_branching.html +1102 -0
  173. data/spec/support/static/git-scm.com/book/en/v2/ch00/_basic_merge_conflicts.html +1102 -0
  174. data/spec/support/static/git-scm.com/book/en/v2/ch00/_basic_merging.html +1102 -0
  175. data/spec/support/static/git-scm.com/book/en/v2/ch00/_binary_search.html +861 -0
  176. data/spec/support/static/git-scm.com/book/en/v2/ch00/_branch_management.html +946 -0
  177. data/spec/support/static/git-scm.com/book/en/v2/ch00/_branch_references.html +1178 -0
  178. data/spec/support/static/git-scm.com/book/en/v2/ch00/_build_number.html +1354 -0
  179. data/spec/support/static/git-scm.com/book/en/v2/ch00/_bundling.html +888 -0
  180. data/spec/support/static/git-scm.com/book/en/v2/ch00/_changing_multiple.html +1182 -0
  181. data/spec/support/static/git-scm.com/book/en/v2/ch00/_checking_out_conflicts.html +1605 -0
  182. data/spec/support/static/git-scm.com/book/en/v2/ch00/_checking_out_remotes.html +1354 -0
  183. data/spec/support/static/git-scm.com/book/en/v2/ch00/_checking_status.html +1432 -0
  184. data/spec/support/static/git-scm.com/book/en/v2/ch00/_cloning_submodules.html +1864 -0
  185. data/spec/support/static/git-scm.com/book/en/v2/ch00/_commit_guidelines.html +1667 -0
  186. data/spec/support/static/git-scm.com/book/en/v2/ch00/_commit_ranges.html +1178 -0
  187. data/spec/support/static/git-scm.com/book/en/v2/ch00/_commit_status.html +1059 -0
  188. data/spec/support/static/git-scm.com/book/en/v2/ch00/_committing_changes.html +1432 -0
  189. data/spec/support/static/git-scm.com/book/en/v2/ch00/_contrib_file.html +1218 -0
  190. data/spec/support/static/git-scm.com/book/en/v2/ch00/_contributing_project.html +1667 -0
  191. data/spec/support/static/git-scm.com/book/en/v2/ch00/_create_new_branch.html +1020 -0
  192. data/spec/support/static/git-scm.com/book/en/v2/ch00/_credential_caching.html +1035 -0
  193. data/spec/support/static/git-scm.com/book/en/v2/ch00/_custom_importer.html +1741 -0
  194. data/spec/support/static/git-scm.com/book/en/v2/ch00/_data_recovery.html +1086 -0
  195. data/spec/support/static/git-scm.com/book/en/v2/ch00/_delete_branches.html +1009 -0
  196. data/spec/support/static/git-scm.com/book/en/v2/ch00/_editor.html +889 -0
  197. data/spec/support/static/git-scm.com/book/en/v2/ch00/_eg_task_lists.html +1502 -0
  198. data/spec/support/static/git-scm.com/book/en/v2/ch00/_email_hooks.html +876 -0
  199. data/spec/support/static/git-scm.com/book/en/v2/ch00/_email_notification.html +1502 -0
  200. data/spec/support/static/git-scm.com/book/en/v2/ch00/_email_notifications.html +1218 -0
  201. data/spec/support/static/git-scm.com/book/en/v2/ch00/_email_pr.html +1218 -0
  202. data/spec/support/static/git-scm.com/book/en/v2/ch00/_enforcing_commit_message_format.html +1200 -0
  203. data/spec/support/static/git-scm.com/book/en/v2/ch00/_example_markdown.html +1502 -0
  204. data/spec/support/static/git-scm.com/book/en/v2/ch00/_external_merge_tools.html +1315 -0
  205. data/spec/support/static/git-scm.com/book/en/v2/ch00/_fetch_and_push_on_different_repositories.html +1502 -0
  206. data/spec/support/static/git-scm.com/book/en/v2/ch00/_fetching_and_pulling.html +983 -0
  207. data/spec/support/static/git-scm.com/book/en/v2/ch00/_file_annotation.html +861 -0
  208. data/spec/support/static/git-scm.com/book/en/v2/ch00/_first_time.html +889 -0
  209. data/spec/support/static/git-scm.com/book/en/v2/ch00/_generate_ssh_key.html +759 -0
  210. data/spec/support/static/git-scm.com/book/en/v2/ch00/_getting_a_repo.html +816 -0
  211. data/spec/support/static/git-scm.com/book/en/v2/ch00/_getting_git_on_a_server.html +827 -0
  212. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_aliases.html +775 -0
  213. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_am.html +1354 -0
  214. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_amend.html +1182 -0
  215. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_branches_overview.html +1020 -0
  216. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_clean.html +1039 -0
  217. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_cloning.html +816 -0
  218. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_commit_objects.html +1209 -0
  219. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_config.html +1315 -0
  220. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_diff_staged.html +1432 -0
  221. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_gc.html +1086 -0
  222. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_grep.html +875 -0
  223. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_help.html +750 -0
  224. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_hooks.html +876 -0
  225. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_mv.html +1432 -0
  226. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_p4.html +1741 -0
  227. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_p4_branches.html +2656 -0
  228. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_reflog.html +1178 -0
  229. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_refs.html +939 -0
  230. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_reset.html +1236 -0
  231. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_stashing.html +1039 -0
  232. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_submodules.html +1864 -0
  233. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_svn.html +2656 -0
  234. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_tagging.html +1049 -0
  235. data/spec/support/static/git-scm.com/book/en/v2/ch00/_gitlab_groups_section.html +872 -0
  236. data/spec/support/static/git-scm.com/book/en/v2/ch00/_ignoring.html +1432 -0
  237. data/spec/support/static/git-scm.com/book/en/v2/ch00/_inspecting_remote.html +983 -0
  238. data/spec/support/static/git-scm.com/book/en/v2/ch00/_integration_manager.html +859 -0
  239. data/spec/support/static/git-scm.com/book/en/v2/ch00/_interactive_staging.html +920 -0
  240. data/spec/support/static/git-scm.com/book/en/v2/ch00/_keyword_expansion.html +1134 -0
  241. data/spec/support/static/git-scm.com/book/en/v2/ch00/_libgit2_bindings.html +1003 -0
  242. data/spec/support/static/git-scm.com/book/en/v2/ch00/_manual_remerge.html +1605 -0
  243. data/spec/support/static/git-scm.com/book/en/v2/ch00/_md_code.html +1502 -0
  244. data/spec/support/static/git-scm.com/book/en/v2/ch00/_md_drag.html +1502 -0
  245. data/spec/support/static/git-scm.com/book/en/v2/ch00/_md_emoji.html +1502 -0
  246. data/spec/support/static/git-scm.com/book/en/v2/ch00/_md_quote.html +1502 -0
  247. data/spec/support/static/git-scm.com/book/en/v2/ch00/_merge_button.html +1218 -0
  248. data/spec/support/static/git-scm.com/book/en/v2/ch00/_merge_log.html +1605 -0
  249. data/spec/support/static/git-scm.com/book/en/v2/ch00/_merge_rebase_work.html +1028 -0
  250. data/spec/support/static/git-scm.com/book/en/v2/ch00/_new_repo_dropdown.html +1218 -0
  251. data/spec/support/static/git-scm.com/book/en/v2/ch00/_not_center.html +1218 -0
  252. data/spec/support/static/git-scm.com/book/en/v2/ch00/_org_page.html +797 -0
  253. data/spec/support/static/git-scm.com/book/en/v2/ch00/_other_client_hooks.html +876 -0
  254. data/spec/support/static/git-scm.com/book/en/v2/ch00/_p4_git_fusion.html +2656 -0
  255. data/spec/support/static/git-scm.com/book/en/v2/ch00/_patches_from_email.html +1354 -0
  256. data/spec/support/static/git-scm.com/book/en/v2/ch00/_personal_avatar.html +858 -0
  257. data/spec/support/static/git-scm.com/book/en/v2/ch00/_plumbing_porcelain.html +745 -0
  258. data/spec/support/static/git-scm.com/book/en/v2/ch00/_pr_closed.html +1502 -0
  259. data/spec/support/static/git-scm.com/book/en/v2/ch00/_pr_discussion.html +1502 -0
  260. data/spec/support/static/git-scm.com/book/en/v2/ch00/_pr_fail.html +1502 -0
  261. data/spec/support/static/git-scm.com/book/en/v2/ch00/_pr_final.html +1502 -0
  262. data/spec/support/static/git-scm.com/book/en/v2/ch00/_pr_references.html +1502 -0
  263. data/spec/support/static/git-scm.com/book/en/v2/ch00/_pr_references_render.html +1502 -0
  264. data/spec/support/static/git-scm.com/book/en/v2/ch00/_pr_refs.html +1218 -0
  265. data/spec/support/static/git-scm.com/book/en/v2/ch00/_pre_merge_rebase_work.html +1028 -0
  266. data/spec/support/static/git-scm.com/book/en/v2/ch00/_preparing_release.html +1354 -0
  267. data/spec/support/static/git-scm.com/book/en/v2/ch00/_private_team.html +1667 -0
  268. data/spec/support/static/git-scm.com/book/en/v2/ch00/_project_over_email.html +1667 -0
  269. data/spec/support/static/git-scm.com/book/en/v2/ch00/_public_project.html +1667 -0
  270. data/spec/support/static/git-scm.com/book/en/v2/ch00/_publishing_submodules.html +1864 -0
  271. data/spec/support/static/git-scm.com/book/en/v2/ch00/_pushing_branches.html +1009 -0
  272. data/spec/support/static/git-scm.com/book/en/v2/ch00/_pushing_refspecs.html +872 -0
  273. data/spec/support/static/git-scm.com/book/en/v2/ch00/_pushing_remotes.html +983 -0
  274. data/spec/support/static/git-scm.com/book/en/v2/ch00/_rebase_cherry_pick.html +1354 -0
  275. data/spec/support/static/git-scm.com/book/en/v2/ch00/_rebase_peril.html +1028 -0
  276. data/spec/support/static/git-scm.com/book/en/v2/ch00/_rebase_rebase.html +1028 -0
  277. data/spec/support/static/git-scm.com/book/en/v2/ch00/_rebase_rebase_work.html +1028 -0
  278. data/spec/support/static/git-scm.com/book/en/v2/ch00/_rebasing.html +1028 -0
  279. data/spec/support/static/git-scm.com/book/en/v2/ch00/_refspec.html +872 -0
  280. data/spec/support/static/git-scm.com/book/en/v2/ch00/_remote_branches.html +1009 -0
  281. data/spec/support/static/git-scm.com/book/en/v2/ch00/_remote_repos.html +983 -0
  282. data/spec/support/static/git-scm.com/book/en/v2/ch00/_removing_file_every_commit.html +1182 -0
  283. data/spec/support/static/git-scm.com/book/en/v2/ch00/_removing_files.html +1432 -0
  284. data/spec/support/static/git-scm.com/book/en/v2/ch00/_removing_objects.html +1086 -0
  285. data/spec/support/static/git-scm.com/book/en/v2/ch00/_replace.html +949 -0
  286. data/spec/support/static/git-scm.com/book/en/v2/ch00/_reverse_commit.html +1605 -0
  287. data/spec/support/static/git-scm.com/book/en/v2/ch00/_revision_selection.html +1178 -0
  288. data/spec/support/static/git-scm.com/book/en/v2/ch00/_rewriting_history.html +1182 -0
  289. data/spec/support/static/git-scm.com/book/en/v2/ch00/_searching.html +875 -0
  290. data/spec/support/static/git-scm.com/book/en/v2/ch00/_service_config.html +1059 -0
  291. data/spec/support/static/git-scm.com/book/en/v2/ch00/_services_hooks.html +1059 -0
  292. data/spec/support/static/git-scm.com/book/en/v2/ch00/_setting_up_server.html +870 -0
  293. data/spec/support/static/git-scm.com/book/en/v2/ch00/_sharing_tags.html +1049 -0
  294. data/spec/support/static/git-scm.com/book/en/v2/ch00/_signing.html +922 -0
  295. data/spec/support/static/git-scm.com/book/en/v2/ch00/_signing_commits.html +922 -0
  296. data/spec/support/static/git-scm.com/book/en/v2/ch00/_squashing.html +1182 -0
  297. data/spec/support/static/git-scm.com/book/en/v2/ch00/_starting_submodules.html +1864 -0
  298. data/spec/support/static/git-scm.com/book/en/v2/ch00/_subtree_merge.html +1605 -0
  299. data/spec/support/static/git-scm.com/book/en/v2/ch00/_switching_branches.html +1020 -0
  300. data/spec/support/static/git-scm.com/book/en/v2/ch00/_tagging_releases.html +1354 -0
  301. data/spec/support/static/git-scm.com/book/en/v2/ch00/_task_list_progress.html +1502 -0
  302. data/spec/support/static/git-scm.com/book/en/v2/ch00/_team_page.html +797 -0
  303. data/spec/support/static/git-scm.com/book/en/v2/ch00/_the_index.html +1236 -0
  304. data/spec/support/static/git-scm.com/book/en/v2/ch00/_the_shortlog.html +1354 -0
  305. data/spec/support/static/git-scm.com/book/en/v2/ch00/_topic_branch.html +786 -0
  306. data/spec/support/static/git-scm.com/book/en/v2/ch00/_tracking_branches.html +1009 -0
  307. data/spec/support/static/git-scm.com/book/en/v2/ch00/_tracking_files.html +1432 -0
  308. data/spec/support/static/git-scm.com/book/en/v2/ch00/_tree_objects.html +1209 -0
  309. data/spec/support/static/git-scm.com/book/en/v2/ch00/_triple_dot.html +1178 -0
  310. data/spec/support/static/git-scm.com/book/en/v2/ch00/_undoing.html +998 -0
  311. data/spec/support/static/git-scm.com/book/en/v2/ch00/_unstaging.html +998 -0
  312. data/spec/support/static/git-scm.com/book/en/v2/ch00/_viewing_history.html +1172 -0
  313. data/spec/support/static/git-scm.com/book/en/v2/ch00/_web_hook.html +1059 -0
  314. data/spec/support/static/git-scm.com/book/en/v2/ch00/_what_is_introduced.html +1354 -0
  315. data/spec/support/static/git-scm.com/book/en/v2/ch00/ch01-getting-started.html +783 -0
  316. data/spec/support/static/git-scm.com/book/en/v2/ch00/ch02-git-basics-chapter.html +816 -0
  317. data/spec/support/static/git-scm.com/book/en/v2/ch00/ch03-git-branching.html +1020 -0
  318. data/spec/support/static/git-scm.com/book/en/v2/ch00/ch05-distributed-git.html +859 -0
  319. data/spec/support/static/git-scm.com/book/en/v2/ch00/ch06-github.html +858 -0
  320. data/spec/support/static/git-scm.com/book/en/v2/ch00/ch06-github_flow.html +1502 -0
  321. data/spec/support/static/git-scm.com/book/en/v2/ch00/ch10-git-internals.html +745 -0
  322. data/spec/support/static/git-scm.com/book/en/v2/ch00/ch_core_editor.html +863 -0
  323. data/spec/support/static/git-scm.com/book/en/v2/ch00/divergent_history.html +1020 -0
  324. data/spec/support/static/git-scm.com/book/en/v2/ch00/double_dot.html +1178 -0
  325. data/spec/support/static/git-scm.com/book/en/v2/ch00/filters_a.html +1134 -0
  326. data/spec/support/static/git-scm.com/book/en/v2/ch00/filters_b.html +1134 -0
  327. data/spec/support/static/git-scm.com/book/en/v2/ch00/limit_options.html +1172 -0
  328. data/spec/support/static/git-scm.com/book/en/v2/ch00/log_options.html +1172 -0
  329. data/spec/support/static/git-scm.com/book/en/v2/ch00/merwf_a.html +1354 -0
  330. data/spec/support/static/git-scm.com/book/en/v2/ch00/merwf_b.html +1354 -0
  331. data/spec/support/static/git-scm.com/book/en/v2/ch00/merwf_c.html +1354 -0
  332. data/spec/support/static/git-scm.com/book/en/v2/ch00/merwf_d.html +1354 -0
  333. data/spec/support/static/git-scm.com/book/en/v2/ch00/merwf_e.html +1354 -0
  334. data/spec/support/static/git-scm.com/book/en/v2/ch00/merwf_f.html +1354 -0
  335. data/spec/support/static/git-scm.com/book/en/v2/ch00/oh_my_zsh_git.html +765 -0
  336. data/spec/support/static/git-scm.com/book/en/v2/ch00/pretty_format.html +1172 -0
  337. data/spec/support/static/git-scm.com/book/en/v2/ch00/psp_b.html +1667 -0
  338. data/spec/support/static/git-scm.com/book/en/v2/ch00/rbdiag_e.html +1028 -0
  339. data/spec/support/static/git-scm.com/book/en/v2/ch00/rbdiag_g.html +1028 -0
  340. data/spec/support/static/git-scm.com/book/en/v2/ch00/rbdiag_h.html +1028 -0
  341. data/spec/support/static/git-scm.com/book/en/v2/ch00/rbdiag_i.html +1028 -0
  342. data/spec/support/static/git-scm.com/book/en/v2/ch00/rebasing-merging-example.html +1028 -0
  343. data/spec/support/static/git-scm.com/book/en/v2/ch00/ref_rerere.html +983 -0
  344. data/spec/support/static/git-scm.com/book/en/v2/ch00/ref_the_ref.html +939 -0
  345. data/spec/support/static/git-scm.com/book/en/v2/ch00/wfdiag_b.html +859 -0
  346. data/spec/support/static/git-scm.com/book/en/v2/ch00/wfdiag_c.html +859 -0
  347. data/spec/support/static/git-scm.com/book/en/v2/ch00/what_is_git_section.html +857 -0
  348. data/spec/support/static/git-scm.com/book/en/v2/images/2fa-1.png +0 -0
  349. data/spec/support/static/git-scm.com/book/en/v2/images/account-settings.png +0 -0
  350. data/spec/support/static/git-scm.com/book/en/v2/images/advance-master.png +0 -0
  351. data/spec/support/static/git-scm.com/book/en/v2/images/advance-testing.png +0 -0
  352. data/spec/support/static/git-scm.com/book/en/v2/images/areas.png +0 -0
  353. data/spec/support/static/git-scm.com/book/en/v2/images/avatar-crop.png +0 -0
  354. data/spec/support/static/git-scm.com/book/en/v2/images/basic-branching-1.png +0 -0
  355. data/spec/support/static/git-scm.com/book/en/v2/images/basic-branching-2.png +0 -0
  356. data/spec/support/static/git-scm.com/book/en/v2/images/basic-branching-3.png +0 -0
  357. data/spec/support/static/git-scm.com/book/en/v2/images/basic-branching-4.png +0 -0
  358. data/spec/support/static/git-scm.com/book/en/v2/images/basic-branching-5.png +0 -0
  359. data/spec/support/static/git-scm.com/book/en/v2/images/basic-branching-6.png +0 -0
  360. data/spec/support/static/git-scm.com/book/en/v2/images/basic-merging-1.png +0 -0
  361. data/spec/support/static/git-scm.com/book/en/v2/images/basic-merging-2.png +0 -0
  362. data/spec/support/static/git-scm.com/book/en/v2/images/basic-rebase-1.png +0 -0
  363. data/spec/support/static/git-scm.com/book/en/v2/images/basic-rebase-2.png +0 -0
  364. data/spec/support/static/git-scm.com/book/en/v2/images/basic-rebase-3.png +0 -0
  365. data/spec/support/static/git-scm.com/book/en/v2/images/basic-rebase-4.png +0 -0
  366. data/spec/support/static/git-scm.com/book/en/v2/images/benevolent-dictator.png +0 -0
  367. data/spec/support/static/git-scm.com/book/en/v2/images/blink-01-start.png +0 -0
  368. data/spec/support/static/git-scm.com/book/en/v2/images/blink-02-pr.png +0 -0
  369. data/spec/support/static/git-scm.com/book/en/v2/images/blink-03-pull-request-open.png +0 -0
  370. data/spec/support/static/git-scm.com/book/en/v2/images/blink-04-email.png +0 -0
  371. data/spec/support/static/git-scm.com/book/en/v2/images/blink-04-pr-comment.png +0 -0
  372. data/spec/support/static/git-scm.com/book/en/v2/images/blink-05-general-comment.png +0 -0
  373. data/spec/support/static/git-scm.com/book/en/v2/images/blink-06-final.png +0 -0
  374. data/spec/support/static/git-scm.com/book/en/v2/images/branch-and-history.png +0 -0
  375. data/spec/support/static/git-scm.com/book/en/v2/images/branch_widget_mac.png +0 -0
  376. data/spec/support/static/git-scm.com/book/en/v2/images/branch_widget_win.png +0 -0
  377. data/spec/support/static/git-scm.com/book/en/v2/images/centralized.png +0 -0
  378. data/spec/support/static/git-scm.com/book/en/v2/images/centralized_workflow.png +0 -0
  379. data/spec/support/static/git-scm.com/book/en/v2/images/checkout-master.png +0 -0
  380. data/spec/support/static/git-scm.com/book/en/v2/images/clean.png +0 -0
  381. data/spec/support/static/git-scm.com/book/en/v2/images/collaborators.png +0 -0
  382. data/spec/support/static/git-scm.com/book/en/v2/images/commit-and-tree.png +0 -0
  383. data/spec/support/static/git-scm.com/book/en/v2/images/commits-and-parents.png +0 -0
  384. data/spec/support/static/git-scm.com/book/en/v2/images/data-model-1.png +0 -0
  385. data/spec/support/static/git-scm.com/book/en/v2/images/data-model-2.png +0 -0
  386. data/spec/support/static/git-scm.com/book/en/v2/images/data-model-3.png +0 -0
  387. data/spec/support/static/git-scm.com/book/en/v2/images/data-model-4.png +0 -0
  388. data/spec/support/static/git-scm.com/book/en/v2/images/deltas.png +0 -0
  389. data/spec/support/static/git-scm.com/book/en/v2/images/distributed.png +0 -0
  390. data/spec/support/static/git-scm.com/book/en/v2/images/double-dot.png +0 -0
  391. data/spec/support/static/git-scm.com/book/en/v2/images/email-settings.png +0 -0
  392. data/spec/support/static/git-scm.com/book/en/v2/images/forkbutton.png +0 -0
  393. data/spec/support/static/git-scm.com/book/en/v2/images/git-bash.png +0 -0
  394. data/spec/support/static/git-scm.com/book/en/v2/images/git-diff-check.png +0 -0
  395. data/spec/support/static/git-scm.com/book/en/v2/images/git-fusion-boot.png +0 -0
  396. data/spec/support/static/git-scm.com/book/en/v2/images/git-fusion-perforce-graph.png +0 -0
  397. data/spec/support/static/git-scm.com/book/en/v2/images/git-gui.png +0 -0
  398. data/spec/support/static/git-scm.com/book/en/v2/images/git-instaweb.png +0 -0
  399. data/spec/support/static/git-scm.com/book/en/v2/images/git-osx-installer.png +0 -0
  400. data/spec/support/static/git-scm.com/book/en/v2/images/github_mac.png +0 -0
  401. data/spec/support/static/git-scm.com/book/en/v2/images/github_win.png +0 -0
  402. data/spec/support/static/git-scm.com/book/en/v2/images/gitk.png +0 -0
  403. data/spec/support/static/git-scm.com/book/en/v2/images/gitlab-groups.png +0 -0
  404. data/spec/support/static/git-scm.com/book/en/v2/images/gitlab-menu.png +0 -0
  405. data/spec/support/static/git-scm.com/book/en/v2/images/gitlab-users.png +0 -0
  406. data/spec/support/static/git-scm.com/book/en/v2/images/head-to-master.png +0 -0
  407. data/spec/support/static/git-scm.com/book/en/v2/images/head-to-testing.png +0 -0
  408. data/spec/support/static/git-scm.com/book/en/v2/images/integration-manager.png +0 -0
  409. data/spec/support/static/git-scm.com/book/en/v2/images/interesting-rebase-1.png +0 -0
  410. data/spec/support/static/git-scm.com/book/en/v2/images/interesting-rebase-2.png +0 -0
  411. data/spec/support/static/git-scm.com/book/en/v2/images/interesting-rebase-3.png +0 -0
  412. data/spec/support/static/git-scm.com/book/en/v2/images/interesting-rebase-4.png +0 -0
  413. data/spec/support/static/git-scm.com/book/en/v2/images/interesting-rebase-5.png +0 -0
  414. data/spec/support/static/git-scm.com/book/en/v2/images/jb.png +0 -0
  415. data/spec/support/static/git-scm.com/book/en/v2/images/large-merges-1.png +0 -0
  416. data/spec/support/static/git-scm.com/book/en/v2/images/large-merges-2.png +0 -0
  417. data/spec/support/static/git-scm.com/book/en/v2/images/lifecycle.png +0 -0
  418. data/spec/support/static/git-scm.com/book/en/v2/images/local.png +0 -0
  419. data/spec/support/static/git-scm.com/book/en/v2/images/lr-branches-1.png +0 -0
  420. data/spec/support/static/git-scm.com/book/en/v2/images/lr-branches-2.png +0 -0
  421. data/spec/support/static/git-scm.com/book/en/v2/images/maint-01-email.png +0 -0
  422. data/spec/support/static/git-scm.com/book/en/v2/images/maint-02-merge.png +0 -0
  423. data/spec/support/static/git-scm.com/book/en/v2/images/maint-03-email-resp.png +0 -0
  424. data/spec/support/static/git-scm.com/book/en/v2/images/maint-04-target.png +0 -0
  425. data/spec/support/static/git-scm.com/book/en/v2/images/maint-05-mentions.png +0 -0
  426. data/spec/support/static/git-scm.com/book/en/v2/images/maint-06-unsubscribe.png +0 -0
  427. data/spec/support/static/git-scm.com/book/en/v2/images/maint-07-notifications.png +0 -0
  428. data/spec/support/static/git-scm.com/book/en/v2/images/maint-08-notifications-page.png +0 -0
  429. data/spec/support/static/git-scm.com/book/en/v2/images/maint-09-contrib.png +0 -0
  430. data/spec/support/static/git-scm.com/book/en/v2/images/maint-10-default-branch.png +0 -0
  431. data/spec/support/static/git-scm.com/book/en/v2/images/maint-11-transfer.png +0 -0
  432. data/spec/support/static/git-scm.com/book/en/v2/images/managed-team-1.png +0 -0
  433. data/spec/support/static/git-scm.com/book/en/v2/images/managed-team-2.png +0 -0
  434. data/spec/support/static/git-scm.com/book/en/v2/images/managed-team-3.png +0 -0
  435. data/spec/support/static/git-scm.com/book/en/v2/images/managed-team-flow.png +0 -0
  436. data/spec/support/static/git-scm.com/book/en/v2/images/markdown-01-example.png +0 -0
  437. data/spec/support/static/git-scm.com/book/en/v2/images/markdown-02-tasks.png +0 -0
  438. data/spec/support/static/git-scm.com/book/en/v2/images/markdown-03-task-summary.png +0 -0
  439. data/spec/support/static/git-scm.com/book/en/v2/images/markdown-04-fenced-code.png +0 -0
  440. data/spec/support/static/git-scm.com/book/en/v2/images/markdown-05-quote.png +0 -0
  441. data/spec/support/static/git-scm.com/book/en/v2/images/markdown-06-emoji-complete.png +0 -0
  442. data/spec/support/static/git-scm.com/book/en/v2/images/markdown-07-emoji.png +0 -0
  443. data/spec/support/static/git-scm.com/book/en/v2/images/markdown-08-drag-drop.png +0 -0
  444. data/spec/support/static/git-scm.com/book/en/v2/images/mentions-01-syntax.png +0 -0
  445. data/spec/support/static/git-scm.com/book/en/v2/images/mentions-02-render.png +0 -0
  446. data/spec/support/static/git-scm.com/book/en/v2/images/mentions-03-closed.png +0 -0
  447. data/spec/support/static/git-scm.com/book/en/v2/images/merging-workflows-1.png +0 -0
  448. data/spec/support/static/git-scm.com/book/en/v2/images/merging-workflows-2.png +0 -0
  449. data/spec/support/static/git-scm.com/book/en/v2/images/merging-workflows-3.png +0 -0
  450. data/spec/support/static/git-scm.com/book/en/v2/images/merging-workflows-4.png +0 -0
  451. data/spec/support/static/git-scm.com/book/en/v2/images/merging-workflows-5.png +0 -0
  452. data/spec/support/static/git-scm.com/book/en/v2/images/new-repo.png +0 -0
  453. data/spec/support/static/git-scm.com/book/en/v2/images/neworg.png +0 -0
  454. data/spec/support/static/git-scm.com/book/en/v2/images/newrepo.png +0 -0
  455. data/spec/support/static/git-scm.com/book/en/v2/images/newrepoform.png +0 -0
  456. data/spec/support/static/git-scm.com/book/en/v2/images/orgs-01-page.png +0 -0
  457. data/spec/support/static/git-scm.com/book/en/v2/images/orgs-02-teams.png +0 -0
  458. data/spec/support/static/git-scm.com/book/en/v2/images/orgs-03-audit.png +0 -0
  459. data/spec/support/static/git-scm.com/book/en/v2/images/p4merge.png +0 -0
  460. data/spec/support/static/git-scm.com/book/en/v2/images/perils-of-rebasing-1.png +0 -0
  461. data/spec/support/static/git-scm.com/book/en/v2/images/perils-of-rebasing-2.png +0 -0
  462. data/spec/support/static/git-scm.com/book/en/v2/images/perils-of-rebasing-3.png +0 -0
  463. data/spec/support/static/git-scm.com/book/en/v2/images/perils-of-rebasing-4.png +0 -0
  464. data/spec/support/static/git-scm.com/book/en/v2/images/perils-of-rebasing-5.png +0 -0
  465. data/spec/support/static/git-scm.com/book/en/v2/images/posh-git.png +0 -0
  466. data/spec/support/static/git-scm.com/book/en/v2/images/pr-01-fail.png +0 -0
  467. data/spec/support/static/git-scm.com/book/en/v2/images/pr-02-merge-fix.png +0 -0
  468. data/spec/support/static/git-scm.com/book/en/v2/images/public-small-1.png +0 -0
  469. data/spec/support/static/git-scm.com/book/en/v2/images/public-small-2.png +0 -0
  470. data/spec/support/static/git-scm.com/book/en/v2/images/public-small-3.png +0 -0
  471. data/spec/support/static/git-scm.com/book/en/v2/images/rebasing-1.png +0 -0
  472. data/spec/support/static/git-scm.com/book/en/v2/images/rebasing-2.png +0 -0
  473. data/spec/support/static/git-scm.com/book/en/v2/images/remote-branches-1.png +0 -0
  474. data/spec/support/static/git-scm.com/book/en/v2/images/remote-branches-2.png +0 -0
  475. data/spec/support/static/git-scm.com/book/en/v2/images/remote-branches-3.png +0 -0
  476. data/spec/support/static/git-scm.com/book/en/v2/images/remote-branches-4.png +0 -0
  477. data/spec/support/static/git-scm.com/book/en/v2/images/remote-branches-5.png +0 -0
  478. data/spec/support/static/git-scm.com/book/en/v2/images/replace1.png +0 -0
  479. data/spec/support/static/git-scm.com/book/en/v2/images/replace2.png +0 -0
  480. data/spec/support/static/git-scm.com/book/en/v2/images/replace3.png +0 -0
  481. data/spec/support/static/git-scm.com/book/en/v2/images/replace4.png +0 -0
  482. data/spec/support/static/git-scm.com/book/en/v2/images/replace5.png +0 -0
  483. data/spec/support/static/git-scm.com/book/en/v2/images/reposettingslink.png +0 -0
  484. data/spec/support/static/git-scm.com/book/en/v2/images/rerere1.png +0 -0
  485. data/spec/support/static/git-scm.com/book/en/v2/images/rerere2.png +0 -0
  486. data/spec/support/static/git-scm.com/book/en/v2/images/rerere3.png +0 -0
  487. data/spec/support/static/git-scm.com/book/en/v2/images/reset-checkout.png +0 -0
  488. data/spec/support/static/git-scm.com/book/en/v2/images/reset-ex1.png +0 -0
  489. data/spec/support/static/git-scm.com/book/en/v2/images/reset-ex2.png +0 -0
  490. data/spec/support/static/git-scm.com/book/en/v2/images/reset-ex3.png +0 -0
  491. data/spec/support/static/git-scm.com/book/en/v2/images/reset-ex4.png +0 -0
  492. data/spec/support/static/git-scm.com/book/en/v2/images/reset-ex5.png +0 -0
  493. data/spec/support/static/git-scm.com/book/en/v2/images/reset-ex6.png +0 -0
  494. data/spec/support/static/git-scm.com/book/en/v2/images/reset-hard.png +0 -0
  495. data/spec/support/static/git-scm.com/book/en/v2/images/reset-mixed.png +0 -0
  496. data/spec/support/static/git-scm.com/book/en/v2/images/reset-path1.png +0 -0
  497. data/spec/support/static/git-scm.com/book/en/v2/images/reset-path2.png +0 -0
  498. data/spec/support/static/git-scm.com/book/en/v2/images/reset-path3.png +0 -0
  499. data/spec/support/static/git-scm.com/book/en/v2/images/reset-soft.png +0 -0
  500. data/spec/support/static/git-scm.com/book/en/v2/images/reset-squash-r1.png +0 -0
  501. data/spec/support/static/git-scm.com/book/en/v2/images/reset-squash-r2.png +0 -0
  502. data/spec/support/static/git-scm.com/book/en/v2/images/reset-squash-r3.png +0 -0
  503. data/spec/support/static/git-scm.com/book/en/v2/images/reset-start.png +0 -0
  504. data/spec/support/static/git-scm.com/book/en/v2/images/reset-workflow.png +0 -0
  505. data/spec/support/static/git-scm.com/book/en/v2/images/scripting-01-services.png +0 -0
  506. data/spec/support/static/git-scm.com/book/en/v2/images/scripting-02-email-service.png +0 -0
  507. data/spec/support/static/git-scm.com/book/en/v2/images/scripting-03-webhook.png +0 -0
  508. data/spec/support/static/git-scm.com/book/en/v2/images/scripting-04-webhook-debug.png +0 -0
  509. data/spec/support/static/git-scm.com/book/en/v2/images/scripting-05-access-token.png +0 -0
  510. data/spec/support/static/git-scm.com/book/en/v2/images/scripting-06-comment.png +0 -0
  511. data/spec/support/static/git-scm.com/book/en/v2/images/scripting-07-status.png +0 -0
  512. data/spec/support/static/git-scm.com/book/en/v2/images/signup.png +0 -0
  513. data/spec/support/static/git-scm.com/book/en/v2/images/small-team-1.png +0 -0
  514. data/spec/support/static/git-scm.com/book/en/v2/images/small-team-2.png +0 -0
  515. data/spec/support/static/git-scm.com/book/en/v2/images/small-team-3.png +0 -0
  516. data/spec/support/static/git-scm.com/book/en/v2/images/small-team-4.png +0 -0
  517. data/spec/support/static/git-scm.com/book/en/v2/images/small-team-5.png +0 -0
  518. data/spec/support/static/git-scm.com/book/en/v2/images/small-team-6.png +0 -0
  519. data/spec/support/static/git-scm.com/book/en/v2/images/small-team-7.png +0 -0
  520. data/spec/support/static/git-scm.com/book/en/v2/images/small-team-flow.png +0 -0
  521. data/spec/support/static/git-scm.com/book/en/v2/images/smudge.png +0 -0
  522. data/spec/support/static/git-scm.com/book/en/v2/images/snapshots.png +0 -0
  523. data/spec/support/static/git-scm.com/book/en/v2/images/ssh-keys.png +0 -0
  524. data/spec/support/static/git-scm.com/book/en/v2/images/topic-branches-1.png +0 -0
  525. data/spec/support/static/git-scm.com/book/en/v2/images/topic-branches-2.png +0 -0
  526. data/spec/support/static/git-scm.com/book/en/v2/images/two-branches.png +0 -0
  527. data/spec/support/static/git-scm.com/book/en/v2/images/undomerge-reset.png +0 -0
  528. data/spec/support/static/git-scm.com/book/en/v2/images/undomerge-revert.png +0 -0
  529. data/spec/support/static/git-scm.com/book/en/v2/images/undomerge-revert2.png +0 -0
  530. data/spec/support/static/git-scm.com/book/en/v2/images/undomerge-revert3.png +0 -0
  531. data/spec/support/static/git-scm.com/book/en/v2/images/undomerge-start.png +0 -0
  532. data/spec/support/static/git-scm.com/book/en/v2/images/your-profile.png +0 -0
  533. data/spec/support/static/git-scm.com/book/en/v2/images/zsh-oh-my.png +0 -0
  534. data/spec/support/static/git-scm.com/book/en/v2/images/zsh-prompt.png +0 -0
  535. data/spec/support/static/git-scm.com/book/en/v2.html +688 -0
  536. data/spec/support/static/git-scm.com/favicon.ico +0 -0
  537. data/spec/support/static/git-scm.com/images/bg/body.jpg +0 -0
  538. data/spec/support/static/git-scm.com/images/bg/isometric-grid.png +0 -0
  539. data/spec/support/static/git-scm.com/images/bg/isometric-grid@2x.png +0 -0
  540. data/spec/support/static/git-scm.com/images/bg/search-header.jpg +0 -0
  541. data/spec/support/static/git-scm.com/images/company-project-logos/android.png +0 -0
  542. data/spec/support/static/git-scm.com/images/company-project-logos/android@2x.png +0 -0
  543. data/spec/support/static/git-scm.com/images/company-project-logos/eclipse.png +0 -0
  544. data/spec/support/static/git-scm.com/images/company-project-logos/eclipse@2x.png +0 -0
  545. data/spec/support/static/git-scm.com/images/company-project-logos/facebook.png +0 -0
  546. data/spec/support/static/git-scm.com/images/company-project-logos/facebook@2x.png +0 -0
  547. data/spec/support/static/git-scm.com/images/company-project-logos/gnome.png +0 -0
  548. data/spec/support/static/git-scm.com/images/company-project-logos/gnome@2x.png +0 -0
  549. data/spec/support/static/git-scm.com/images/company-project-logos/google.png +0 -0
  550. data/spec/support/static/git-scm.com/images/company-project-logos/google@2x.png +0 -0
  551. data/spec/support/static/git-scm.com/images/company-project-logos/kde.png +0 -0
  552. data/spec/support/static/git-scm.com/images/company-project-logos/kde@2x.png +0 -0
  553. data/spec/support/static/git-scm.com/images/company-project-logos/linked-in.png +0 -0
  554. data/spec/support/static/git-scm.com/images/company-project-logos/linked-in@2x.png +0 -0
  555. data/spec/support/static/git-scm.com/images/company-project-logos/linux.png +0 -0
  556. data/spec/support/static/git-scm.com/images/company-project-logos/linux@2x.png +0 -0
  557. data/spec/support/static/git-scm.com/images/company-project-logos/microsoft.png +0 -0
  558. data/spec/support/static/git-scm.com/images/company-project-logos/microsoft@2x.png +0 -0
  559. data/spec/support/static/git-scm.com/images/company-project-logos/netflix.png +0 -0
  560. data/spec/support/static/git-scm.com/images/company-project-logos/netflix@2x.png +0 -0
  561. data/spec/support/static/git-scm.com/images/company-project-logos/perl.png +0 -0
  562. data/spec/support/static/git-scm.com/images/company-project-logos/perl@2x.png +0 -0
  563. data/spec/support/static/git-scm.com/images/company-project-logos/postgresql.png +0 -0
  564. data/spec/support/static/git-scm.com/images/company-project-logos/postgresql@2x.png +0 -0
  565. data/spec/support/static/git-scm.com/images/company-project-logos/qt.png +0 -0
  566. data/spec/support/static/git-scm.com/images/company-project-logos/qt@2x.png +0 -0
  567. data/spec/support/static/git-scm.com/images/company-project-logos/rails.png +0 -0
  568. data/spec/support/static/git-scm.com/images/company-project-logos/rails@2x.png +0 -0
  569. data/spec/support/static/git-scm.com/images/company-project-logos/twitter.png +0 -0
  570. data/spec/support/static/git-scm.com/images/company-project-logos/twitter@2x.png +0 -0
  571. data/spec/support/static/git-scm.com/images/company-project-logos/x.png +0 -0
  572. data/spec/support/static/git-scm.com/images/company-project-logos/x@2x.png +0 -0
  573. data/spec/support/static/git-scm.com/images/epub.png +0 -0
  574. data/spec/support/static/git-scm.com/images/icons/admin-sm.png +0 -0
  575. data/spec/support/static/git-scm.com/images/icons/admin-sm@2x.png +0 -0
  576. data/spec/support/static/git-scm.com/images/icons/apple.png +0 -0
  577. data/spec/support/static/git-scm.com/images/icons/apple@2x.png +0 -0
  578. data/spec/support/static/git-scm.com/images/icons/book.png +0 -0
  579. data/spec/support/static/git-scm.com/images/icons/book@2x.png +0 -0
  580. data/spec/support/static/git-scm.com/images/icons/box.png +0 -0
  581. data/spec/support/static/git-scm.com/images/icons/box@2x.png +0 -0
  582. data/spec/support/static/git-scm.com/images/icons/branch-sm.png +0 -0
  583. data/spec/support/static/git-scm.com/images/icons/branch-sm@2x.png +0 -0
  584. data/spec/support/static/git-scm.com/images/icons/camera-sm.png +0 -0
  585. data/spec/support/static/git-scm.com/images/icons/camera-sm@2x.png +0 -0
  586. data/spec/support/static/git-scm.com/images/icons/chevron-up@2x.png +0 -0
  587. data/spec/support/static/git-scm.com/images/icons/code.png +0 -0
  588. data/spec/support/static/git-scm.com/images/icons/code@2x.png +0 -0
  589. data/spec/support/static/git-scm.com/images/icons/debugging-sm.png +0 -0
  590. data/spec/support/static/git-scm.com/images/icons/debugging-sm@2x.png +0 -0
  591. data/spec/support/static/git-scm.com/images/icons/document.png +0 -0
  592. data/spec/support/static/git-scm.com/images/icons/document@2x.png +0 -0
  593. data/spec/support/static/git-scm.com/images/icons/download.png +0 -0
  594. data/spec/support/static/git-scm.com/images/icons/email-sm.png +0 -0
  595. data/spec/support/static/git-scm.com/images/icons/email-sm@2x.png +0 -0
  596. data/spec/support/static/git-scm.com/images/icons/external-sm.png +0 -0
  597. data/spec/support/static/git-scm.com/images/icons/external-sm@2x.png +0 -0
  598. data/spec/support/static/git-scm.com/images/icons/gui.png +0 -0
  599. data/spec/support/static/git-scm.com/images/icons/gui@2x.png +0 -0
  600. data/spec/support/static/git-scm.com/images/icons/info.png +0 -0
  601. data/spec/support/static/git-scm.com/images/icons/info@2x.png +0 -0
  602. data/spec/support/static/git-scm.com/images/icons/inspection-sm.png +0 -0
  603. data/spec/support/static/git-scm.com/images/icons/inspection-sm@2x.png +0 -0
  604. data/spec/support/static/git-scm.com/images/icons/linux.png +0 -0
  605. data/spec/support/static/git-scm.com/images/icons/linux@2x.png +0 -0
  606. data/spec/support/static/git-scm.com/images/icons/nav-circles.png +0 -0
  607. data/spec/support/static/git-scm.com/images/icons/nav-circles@2x.png +0 -0
  608. data/spec/support/static/git-scm.com/images/icons/patching-sm.png +0 -0
  609. data/spec/support/static/git-scm.com/images/icons/patching-sm@2x.png +0 -0
  610. data/spec/support/static/git-scm.com/images/icons/plumbing-sm.png +0 -0
  611. data/spec/support/static/git-scm.com/images/icons/plumbing-sm@2x.png +0 -0
  612. data/spec/support/static/git-scm.com/images/icons/projects-sm.png +0 -0
  613. data/spec/support/static/git-scm.com/images/icons/projects-sm@2x.png +0 -0
  614. data/spec/support/static/git-scm.com/images/icons/search.png +0 -0
  615. data/spec/support/static/git-scm.com/images/icons/search@2x.png +0 -0
  616. data/spec/support/static/git-scm.com/images/icons/server-admin-sm.png +0 -0
  617. data/spec/support/static/git-scm.com/images/icons/server-admin-sm@2x.png +0 -0
  618. data/spec/support/static/git-scm.com/images/icons/setup-sm.png +0 -0
  619. data/spec/support/static/git-scm.com/images/icons/setup-sm@2x.png +0 -0
  620. data/spec/support/static/git-scm.com/images/icons/sharing-sm.png +0 -0
  621. data/spec/support/static/git-scm.com/images/icons/sharing-sm@2x.png +0 -0
  622. data/spec/support/static/git-scm.com/images/icons/sidebar.png +0 -0
  623. data/spec/support/static/git-scm.com/images/icons/sidebar@2x.png +0 -0
  624. data/spec/support/static/git-scm.com/images/icons/source-code.png +0 -0
  625. data/spec/support/static/git-scm.com/images/icons/source-code@2x.png +0 -0
  626. data/spec/support/static/git-scm.com/images/icons/windows.png +0 -0
  627. data/spec/support/static/git-scm.com/images/icons/windows@2x.png +0 -0
  628. data/spec/support/static/git-scm.com/images/logo@2x.png +0 -0
  629. data/spec/support/static/git-scm.com/images/mobi.png +0 -0
  630. data/spec/support/static/git-scm.com/images/monitor-default.png +0 -0
  631. data/spec/support/static/git-scm.com/images/monitor-default@2x.png +0 -0
  632. data/spec/support/static/git-scm.com/images/monitor-linux.png +0 -0
  633. data/spec/support/static/git-scm.com/images/monitor-linux@2x.png +0 -0
  634. data/spec/support/static/git-scm.com/images/monitor-mac.png +0 -0
  635. data/spec/support/static/git-scm.com/images/monitor-mac@2x.png +0 -0
  636. data/spec/support/static/git-scm.com/images/monitor-windows.png +0 -0
  637. data/spec/support/static/git-scm.com/images/monitor-windows@2x.png +0 -0
  638. data/spec/support/static/git-scm.com/images/pdf.png +0 -0
  639. data/spec/support/static/git-scm.com/images/progit2.png +0 -0
  640. data/spec/support/static/git-scm.com/images/sidebar-divider.png +0 -0
  641. data/spec/support/static/git-scm.com/images/sidebar-divider@2x.png +0 -0
  642. data/spec/support/static/git-scm.com/robots.txt +0 -0
  643. data/spec/task_spec.rb +7 -0
  644. data/wayfarer.gemspec +2 -2
  645. metadata +605 -9
  646. data/lib/wayfarer/middleware/worker.rb +0 -30
  647. data/spec/middleware/worker_spec.rb +0 -117
@@ -0,0 +1,888 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <!-- Global site tag (gtag.js) - Google Analytics -->
6
+ <script async src="https://www.googletagmanager.com/gtag/js?id=UA-49925874-3"></script>
7
+ <script>
8
+ window.dataLayer = window.dataLayer || [];
9
+ function gtag(){dataLayer.push(arguments);}
10
+ gtag('js', new Date());
11
+
12
+ gtag('config', 'UA-49925874-3');
13
+ </script>
14
+
15
+ <meta charset='utf-8'>
16
+ <meta content='IE=edge,chrome=1' http-equiv='X-UA-Compatible'>
17
+ <meta name="viewport" content="width=device-width, initial-scale=1">
18
+ <title>Git - Bundling</title>
19
+
20
+ <link href='../../../../favicon.ico' rel='shortcut icon' type='image/x-icon'>
21
+
22
+ <link rel="stylesheet" media="screen" href="../../../../assets/application-cafcf280f67db0e6d8168ba98a38da878769a9d5f37793b68ffb963a02d185e0.css" />
23
+ <script src="../../../../assets/modernize-b3ebe0c31c24f230dc62179d3e1030d2e57a53b1668d9382c0a27dbd44a94beb.js"></script>
24
+ <!--[if (gte IE 6)&(lte IE 8)]>
25
+ <script src="/javascripts/selectivizr-min.js"></script>
26
+ <![endif]-->
27
+
28
+ </head>
29
+
30
+ <body id="documentation">
31
+
32
+ <div class="inner">
33
+ <header>
34
+
35
+ <a href="https://git-scm.com/"><img src="../../../../images/logo@2x.png" width="110" height="46" alt="Git" /></a>
36
+ <span id="tagline"></span>
37
+ <script type="text/javascript">
38
+ var taglines = ["fast-version-control","everything-is-local","distributed-even-if-your-workflow-isnt","local-branching-on-the-cheap","distributed-is-the-new-centralized"];
39
+ var tagline = taglines[Math.floor(Math.random() * taglines.length)];
40
+ document.getElementById('tagline').innerHTML = '--' + tagline;
41
+ </script>
42
+ <form id="search" action="https://git-scm.com/search/results">
43
+ <input id="search-text" name="search" placeholder="Search entire site..." autocomplete="off" type="text" />
44
+ </form>
45
+ <div id="search-results"></div>
46
+
47
+ </header>
48
+
49
+ </div> <!-- .inner -->
50
+
51
+ <div class="inner">
52
+ <div id="content-wrapper">
53
+ <button class="sidebar-btn"></button>
54
+ <aside class="sidebar" id="sidebar">
55
+ <nav>
56
+ <ul>
57
+ <li>
58
+ <a href="https://git-scm.com/about">About</a>
59
+ <ul class="">
60
+ <li>
61
+ <a href="https://git-scm.com/about">Branching and Merging</a>
62
+ </li>
63
+ <li>
64
+ <a href="https://git-scm.com/about/small-and-fast">Small and Fast</a>
65
+ </li>
66
+ <li>
67
+ <a href="https://git-scm.com/about/distributed">Distributed</a>
68
+ </li>
69
+ <li>
70
+ <a href="https://git-scm.com/about/info-assurance">Data Assurance</a>
71
+ </li>
72
+ <li>
73
+ <a href="https://git-scm.com/about/staging-area">Staging Area</a>
74
+ </li>
75
+ <li>
76
+ <a href="https://git-scm.com/about/free-and-open-source">Free and Open Source</a>
77
+ </li>
78
+ <li>
79
+ <a href="https://git-scm.com/about/trademark">Trademark</a>
80
+ </li>
81
+ </ul>
82
+ </li>
83
+ <li>
84
+ <a class="active" href="https://git-scm.com/doc">Documentation</a>
85
+ <ul class="expanded">
86
+ <li>
87
+ <a href="https://git-scm.com/docs">Reference</a>
88
+ </li>
89
+ <li>
90
+ <a class="active" href="https://git-scm.com/book">Book</a>
91
+ </li>
92
+ <li>
93
+ <a href="https://git-scm.com/videos">Videos</a>
94
+ </li>
95
+ <li>
96
+ <a href="https://git-scm.com/doc/ext">External Links</a>
97
+ </li>
98
+ </ul>
99
+ </li>
100
+ <li>
101
+ <a href="https://git-scm.com/downloads">Downloads</a>
102
+ <ul class="">
103
+ <li>
104
+ <a href="https://git-scm.com/downloads/guis">GUI Clients</a>
105
+ </li>
106
+ <li>
107
+ <a href="https://git-scm.com/downloads/logos">Logos</a>
108
+ </li>
109
+ </ul>
110
+ </li>
111
+ <li>
112
+ <a href="https://git-scm.com/community">Community</a>
113
+ </li>
114
+ </ul>
115
+ <hr class="sidebar">
116
+ <p>
117
+ This book is available in
118
+ <a href="https://git-scm.com/book/en">English</a>.
119
+ </p>
120
+ <p>
121
+ Full translation available in
122
+ <table>
123
+ <tr><td><a href="https://git-scm.com/book/az">azərbaycan dili</a>,</td></tr>
124
+ <tr><td><a href="https://git-scm.com/book/bg">български език</a>,</td></tr>
125
+ <tr><td><a href="https://git-scm.com/book/de">Deutsch</a>,</td></tr>
126
+ <tr><td><a href="https://git-scm.com/book/es">Español</a>,</td></tr>
127
+ <tr><td><a href="https://git-scm.com/book/fr">Français</a>,</td></tr>
128
+ <tr><td><a href="https://git-scm.com/book/gr">Ελληνικά</a>,</td></tr>
129
+ <tr><td><a href="https://git-scm.com/book/ja">日本語</a>,</td></tr>
130
+ <tr><td><a href="https://git-scm.com/book/ko">한국어</a>,</td></tr>
131
+ <tr><td><a href="https://git-scm.com/book/nl">Nederlands</a>,</td></tr>
132
+ <tr><td><a href="https://git-scm.com/book/ru">Русский</a>,</td></tr>
133
+ <tr><td><a href="https://git-scm.com/book/sl">Slovenščina</a>,</td></tr>
134
+ <tr><td><a href="https://git-scm.com/book/tl">Tagalog</a>,</td></tr>
135
+ <tr><td><a href="https://git-scm.com/book/uk">Українська</a></td></tr>
136
+ <tr><td><a href="https://git-scm.com/book/zh">简体中文</a>,</td></tr>
137
+ </table>
138
+ </p>
139
+ <p>
140
+ Partial translations available in
141
+ <table>
142
+ <tr><td><a href="https://git-scm.com/book/cs">Čeština</a>,</td></tr>
143
+ <tr><td><a href="https://git-scm.com/book/mk">Македонски</a>,</td></tr>
144
+ <tr><td><a href="https://git-scm.com/book/pl">Polski</a>,</td></tr>
145
+ <tr><td><a href="https://git-scm.com/book/sr">Српски</a>,</td></tr>
146
+ <tr><td><a href="https://git-scm.com/book/uz">Ўзбекча</a>,</td></tr>
147
+ <tr><td><a href="https://git-scm.com/book/zh-tw">繁體中文</a>,</td></tr>
148
+ </table>
149
+ </p>
150
+ <p>
151
+ Translations started for
152
+ <table>
153
+ <tr><td><a href="https://git-scm.com/book/be">Беларуская</a>,</td></tr>
154
+ <tr><td><a href="https://git-scm.com/book/fa" dir="rtl">فارسی</a>,</td></tr>
155
+ <tr><td><a href="https://git-scm.com/book/id">Indonesian</a>,</td></tr>
156
+ <tr><td><a href="https://git-scm.com/book/it">Italiano</a>,</td></tr>
157
+ <tr><td><a href="https://git-scm.com/book/ms">Bahasa Melayu</a>,</td></tr>
158
+ <tr><td><a href="https://git-scm.com/book/pt-br">Português (Brasil)</a>,</td></tr>
159
+ <tr><td><a href="https://git-scm.com/book/pt-pt">Português (Portugal)</a>,</td></tr>
160
+ <tr><td><a href="https://git-scm.com/book/sv">Svenska</a>,</td></tr>
161
+ <tr><td><a href="https://git-scm.com/book/tr">Türkçe</a>.</td></tr>
162
+ </table>
163
+ </p>
164
+ <hr class="sidebar"/>
165
+ <p>
166
+ The source of this book is <a href="https://github.com/progit/progit2">hosted on GitHub.</a></br>
167
+ Patches, suggestions and comments are welcome.
168
+ </p>
169
+
170
+
171
+ </nav>
172
+ </aside>
173
+
174
+ <div id="content">
175
+
176
+
177
+ <div id='book-chapters'>
178
+ <a class="dropdown-trigger" id="book-chapters-trigger" data-panel-id="chapters-dropdown" href="_bundling.html#">Chapters ▾</a>
179
+ <div class='dropdown-panel' id='chapters-dropdown'>
180
+ <div class="three-column">
181
+ <div class='column-left'>
182
+ <ol class='book-toc'>
183
+ <li class='chapter'>
184
+ <h2>1. <a href="ch01-getting-started.html">Getting Started</a></h2>
185
+ <ol>
186
+ <li>
187
+ 1.1
188
+ <a href="ch01-getting-started.html" >About Version Control </a>
189
+ </li>
190
+ <li>
191
+ 1.2
192
+ <a href="../Getting-Started-A-Short-History-of-Git.html" >A Short History of Git </a>
193
+ </li>
194
+ <li>
195
+ 1.3
196
+ <a href="what_is_git_section.html" >What is Git? </a>
197
+ </li>
198
+ <li>
199
+ 1.4
200
+ <a href="../Getting-Started-The-Command-Line.html" >The Command Line </a>
201
+ </li>
202
+ <li>
203
+ 1.5
204
+ <a href="../Getting-Started-Installing-Git.html" >Installing Git </a>
205
+ </li>
206
+ <li>
207
+ 1.6
208
+ <a href="_editor.html" >First-Time Git Setup </a>
209
+ </li>
210
+ <li>
211
+ 1.7
212
+ <a href="_git_help.html" >Getting Help </a>
213
+ </li>
214
+ <li>
215
+ 1.8
216
+ <a href="../Getting-Started-Summary.html" >Summary </a>
217
+ </li>
218
+ </ol>
219
+ </li>
220
+ <li class='chapter'>
221
+ <h2>2. <a href="_git_cloning.html">Git Basics</a></h2>
222
+ <ol>
223
+ <li>
224
+ 2.1
225
+ <a href="_git_cloning.html" >Getting a Git Repository </a>
226
+ </li>
227
+ <li>
228
+ 2.2
229
+ <a href="_git_mv.html" >Recording Changes to the Repository </a>
230
+ </li>
231
+ <li>
232
+ 2.3
233
+ <a href="_viewing_history.html" >Viewing the Commit History </a>
234
+ </li>
235
+ <li>
236
+ 2.4
237
+ <a href="_unstaging.html" >Undoing Things </a>
238
+ </li>
239
+ <li>
240
+ 2.5
241
+ <a href="_remote_repos.html" >Working with Remotes </a>
242
+ </li>
243
+ <li>
244
+ 2.6
245
+ <a href="_annotated_tags.html" >Tagging </a>
246
+ </li>
247
+ <li>
248
+ 2.7
249
+ <a href="_git_aliases.html" >Git Aliases </a>
250
+ </li>
251
+ <li>
252
+ 2.8
253
+ <a href="../Git-Basics-Summary.html" >Summary </a>
254
+ </li>
255
+ </ol>
256
+ </li>
257
+ <li class='chapter'>
258
+ <h2>3. <a href="_switching_branches.html">Git Branching</a></h2>
259
+ <ol>
260
+ <li>
261
+ 3.1
262
+ <a href="_switching_branches.html" >Branches in a Nutshell </a>
263
+ </li>
264
+ <li>
265
+ 3.2
266
+ <a href="_basic_branching.html" >Basic Branching and Merging </a>
267
+ </li>
268
+ <li>
269
+ 3.3
270
+ <a href="_branch_management.html" >Branch Management </a>
271
+ </li>
272
+ <li>
273
+ 3.4
274
+ <a href="_topic_branch.html" >Branching Workflows </a>
275
+ </li>
276
+ <li>
277
+ 3.5
278
+ <a href="_delete_branches.html" >Remote Branches </a>
279
+ </li>
280
+ <li>
281
+ 3.6
282
+ <a href="_rebase_rebase.html" >Rebasing </a>
283
+ </li>
284
+ <li>
285
+ 3.7
286
+ <a href="../Git-Branching-Summary.html" >Summary </a>
287
+ </li>
288
+ </ol>
289
+ </li>
290
+ <li class='chapter'>
291
+ <h2>4. <a href="../Git-on-the-Server-The-Protocols.html">Git on the Server</a></h2>
292
+ <ol>
293
+ <li>
294
+ 4.1
295
+ <a href="../Git-on-the-Server-The-Protocols.html" >The Protocols </a>
296
+ </li>
297
+ <li>
298
+ 4.2
299
+ <a href="_bare_repo.html" >Getting Git on a Server </a>
300
+ </li>
301
+ <li>
302
+ 4.3
303
+ <a href="_generate_ssh_key.html" >Generating Your SSH Public Key </a>
304
+ </li>
305
+ <li>
306
+ 4.4
307
+ <a href="_setting_up_server.html" >Setting Up the Server </a>
308
+ </li>
309
+ <li>
310
+ 4.5
311
+ <a href="../Git-on-the-Server-Git-Daemon.html" >Git Daemon </a>
312
+ </li>
313
+ <li>
314
+ 4.6
315
+ <a href="../Git-on-the-Server-Smart-HTTP.html" >Smart HTTP </a>
316
+ </li>
317
+ <li>
318
+ 4.7
319
+ <a href="../Git-on-the-Server-GitWeb.html" >GitWeb </a>
320
+ </li>
321
+ <li>
322
+ 4.8
323
+ <a href="_gitlab_groups_section.html" >GitLab </a>
324
+ </li>
325
+ <li>
326
+ 4.9
327
+ <a href="../Git-on-the-Server-Third-Party-Hosted-Options.html" >Third Party Hosted Options </a>
328
+ </li>
329
+ <li>
330
+ 4.10
331
+ <a href="../Git-on-the-Server-Summary.html" >Summary </a>
332
+ </li>
333
+ </ol>
334
+ </li>
335
+ <li class='chapter'>
336
+ <h2>5. <a href="_integration_manager.html">Distributed Git</a></h2>
337
+ <ol>
338
+ <li>
339
+ 5.1
340
+ <a href="_integration_manager.html" >Distributed Workflows </a>
341
+ </li>
342
+ <li>
343
+ 5.2
344
+ <a href="_project_over_email.html" >Contributing to a Project </a>
345
+ </li>
346
+ <li>
347
+ 5.3
348
+ <a href="_git_am.html" >Maintaining a Project </a>
349
+ </li>
350
+ <li>
351
+ 5.4
352
+ <a href="../Distributed-Git-Summary.html" >Summary </a>
353
+ </li>
354
+ </ol>
355
+ </li>
356
+ </ol>
357
+
358
+ </div>
359
+ <div class='column-middle'>
360
+ <ol class='book-toc'>
361
+ <li class='chapter'>
362
+ <h2>6. <a href="_personal_avatar.html">GitHub</a></h2>
363
+ <ol>
364
+ <li>
365
+ 6.1
366
+ <a href="_personal_avatar.html" >Account Setup and Configuration </a>
367
+ </li>
368
+ <li>
369
+ 6.2
370
+ <a href="_fetch_and_push_on_different_repositories.html" >Contributing to a Project </a>
371
+ </li>
372
+ <li>
373
+ 6.3
374
+ <a href="_email_notifications.html" >Maintaining a Project </a>
375
+ </li>
376
+ <li>
377
+ 6.4
378
+ <a href="_team_page.html" >Managing an organization </a>
379
+ </li>
380
+ <li>
381
+ 6.5
382
+ <a href="_commit_status.html" >Scripting GitHub </a>
383
+ </li>
384
+ <li>
385
+ 6.6
386
+ <a href="../GitHub-Summary.html" >Summary </a>
387
+ </li>
388
+ </ol>
389
+ </li>
390
+ <li class='chapter'>
391
+ <h2>7. <a href="_git_reflog.html">Git Tools</a></h2>
392
+ <ol>
393
+ <li>
394
+ 7.1
395
+ <a href="_git_reflog.html" >Revision Selection </a>
396
+ </li>
397
+ <li>
398
+ 7.2
399
+ <a href="_interactive_staging.html" >Interactive Staging </a>
400
+ </li>
401
+ <li>
402
+ 7.3
403
+ <a href="_git_clean.html" >Stashing and Cleaning </a>
404
+ </li>
405
+ <li>
406
+ 7.4
407
+ <a href="_signing_commits.html" >Signing Your Work </a>
408
+ </li>
409
+ <li>
410
+ 7.5
411
+ <a href="_git_grep.html" >Searching </a>
412
+ </li>
413
+ <li>
414
+ 7.6
415
+ <a href="_removing_file_every_commit.html" >Rewriting History </a>
416
+ </li>
417
+ <li>
418
+ 7.7
419
+ <a href="_the_index.html" >Reset Demystified </a>
420
+ </li>
421
+ <li>
422
+ 7.8
423
+ <a href="_reverse_commit.html" >Advanced Merging </a>
424
+ </li>
425
+ <li>
426
+ 7.9
427
+ <a href="ref_rerere.html" >Rerere </a>
428
+ </li>
429
+ <li>
430
+ 7.10
431
+ <a href="_file_annotation.html" >Debugging with Git </a>
432
+ </li>
433
+ <li>
434
+ 7.11
435
+ <a href="_publishing_submodules.html" >Submodules </a>
436
+ </li>
437
+ <li>
438
+ 7.12
439
+ <a href="_bundling.html" class=active>Bundling </a>
440
+ </li>
441
+ <li>
442
+ 7.13
443
+ <a href="_replace.html" >Replace </a>
444
+ </li>
445
+ <li>
446
+ 7.14
447
+ <a href="_credential_caching.html" >Credential Storage </a>
448
+ </li>
449
+ <li>
450
+ 7.15
451
+ <a href="../Git-Tools-Summary.html" >Summary </a>
452
+ </li>
453
+ </ol>
454
+ </li>
455
+ <li class='chapter'>
456
+ <h2>8. <a href="_external_merge_tools.html">Customizing Git</a></h2>
457
+ <ol>
458
+ <li>
459
+ 8.1
460
+ <a href="_external_merge_tools.html" >Git Configuration </a>
461
+ </li>
462
+ <li>
463
+ 8.2
464
+ <a href="_keyword_expansion.html" >Git Attributes </a>
465
+ </li>
466
+ <li>
467
+ 8.3
468
+ <a href="_email_hooks.html" >Git Hooks </a>
469
+ </li>
470
+ <li>
471
+ 8.4
472
+ <a href="_enforcing_commit_message_format.html" >An Example Git-Enforced Policy </a>
473
+ </li>
474
+ <li>
475
+ 8.5
476
+ <a href="../Customizing-Git-Summary.html" >Summary </a>
477
+ </li>
478
+ </ol>
479
+ </li>
480
+ <li class='chapter'>
481
+ <h2>9. <a href="_git_svn.html">Git and Other Systems</a></h2>
482
+ <ol>
483
+ <li>
484
+ 9.1
485
+ <a href="_git_svn.html" >Git as a Client </a>
486
+ </li>
487
+ <li>
488
+ 9.2
489
+ <a href="_git_p4.html" >Migrating to Git </a>
490
+ </li>
491
+ <li>
492
+ 9.3
493
+ <a href="../Git-and-Other-Systems-Summary.html" >Summary </a>
494
+ </li>
495
+ </ol>
496
+ </li>
497
+ <li class='chapter'>
498
+ <h2>10. <a href="_plumbing_porcelain.html">Git Internals</a></h2>
499
+ <ol>
500
+ <li>
501
+ 10.1
502
+ <a href="_plumbing_porcelain.html" >Plumbing and Porcelain </a>
503
+ </li>
504
+ <li>
505
+ 10.2
506
+ <a href="_git_commit_objects.html" >Git Objects </a>
507
+ </li>
508
+ <li>
509
+ 10.3
510
+ <a href="ref_the_ref.html" >Git References </a>
511
+ </li>
512
+ <li>
513
+ 10.4
514
+ <a href="../Git-Internals-Packfiles.html" >Packfiles </a>
515
+ </li>
516
+ <li>
517
+ 10.5
518
+ <a href="_pushing_refspecs.html" >The Refspec </a>
519
+ </li>
520
+ <li>
521
+ 10.6
522
+ <a href="../Git-Internals-Transfer-Protocols.html" >Transfer Protocols </a>
523
+ </li>
524
+ <li>
525
+ 10.7
526
+ <a href="_git_gc.html" >Maintenance and Data Recovery </a>
527
+ </li>
528
+ <li>
529
+ 10.8
530
+ <a href="../Git-Internals-Environment-Variables.html" >Environment Variables </a>
531
+ </li>
532
+ <li>
533
+ 10.9
534
+ <a href="../Git-Internals-Summary.html" >Summary </a>
535
+ </li>
536
+ </ol>
537
+ </li>
538
+ </ol>
539
+
540
+ </div>
541
+ <div class='column-right'>
542
+ <ol class='book-toc'>
543
+ <li class='chapter'>
544
+ <h2>A1. <a href="../Appendix-A:-Git-in-Other-Environments-Graphical-Interfaces.html">Appendix A: Git in Other Environments</a></h2>
545
+ <ol>
546
+ <li>
547
+ A1.1
548
+ <a href="../Appendix-A:-Git-in-Other-Environments-Graphical-Interfaces.html" >Graphical Interfaces </a>
549
+ </li>
550
+ <li>
551
+ A1.2
552
+ <a href="../Appendix-A:-Git-in-Other-Environments-Git-in-Visual-Studio.html" >Git in Visual Studio </a>
553
+ </li>
554
+ <li>
555
+ A1.3
556
+ <a href="../Appendix-A:-Git-in-Other-Environments-Git-in-Visual-Studio-Code.html" >Git in Visual Studio Code </a>
557
+ </li>
558
+ <li>
559
+ A1.4
560
+ <a href="../Appendix-A:-Git-in-Other-Environments-Git-in-IntelliJ-%252F-PyCharm-%252F-WebStorm-%252F-PhpStorm-%252F-RubyMine.html" >Git in IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine </a>
561
+ </li>
562
+ <li>
563
+ A1.5
564
+ <a href="../Appendix-A:-Git-in-Other-Environments-Git-in-Sublime-Text.html" >Git in Sublime Text </a>
565
+ </li>
566
+ <li>
567
+ A1.6
568
+ <a href="../Appendix-A:-Git-in-Other-Environments-Git-in-Bash.html" >Git in Bash </a>
569
+ </li>
570
+ <li>
571
+ A1.7
572
+ <a href="oh_my_zsh_git.html" >Git in Zsh </a>
573
+ </li>
574
+ <li>
575
+ A1.8
576
+ <a href="../Appendix-A:-Git-in-Other-Environments-Git-in-PowerShell.html" >Git in PowerShell </a>
577
+ </li>
578
+ <li>
579
+ A1.9
580
+ <a href="../Appendix-A:-Git-in-Other-Environments-Summary.html" >Summary </a>
581
+ </li>
582
+ </ol>
583
+ </li>
584
+ <li class='chapter'>
585
+ <h2>A2. <a href="../Appendix-B:-Embedding-Git-in-your-Applications-Command-line-Git.html">Appendix B: Embedding Git in your Applications</a></h2>
586
+ <ol>
587
+ <li>
588
+ A2.1
589
+ <a href="../Appendix-B:-Embedding-Git-in-your-Applications-Command-line-Git.html" >Command-line Git </a>
590
+ </li>
591
+ <li>
592
+ A2.2
593
+ <a href="_libgit2_bindings.html" >Libgit2 </a>
594
+ </li>
595
+ <li>
596
+ A2.3
597
+ <a href="../Appendix-B:-Embedding-Git-in-your-Applications-JGit.html" >JGit </a>
598
+ </li>
599
+ <li>
600
+ A2.4
601
+ <a href="../Appendix-B:-Embedding-Git-in-your-Applications-go-git.html" >go-git </a>
602
+ </li>
603
+ <li>
604
+ A2.5
605
+ <a href="../Appendix-B:-Embedding-Git-in-your-Applications-Dulwich.html" >Dulwich </a>
606
+ </li>
607
+ </ol>
608
+ </li>
609
+ <li class='chapter'>
610
+ <h2>A3. <a href="ch_core_editor.html">Appendix C: Git Commands</a></h2>
611
+ <ol>
612
+ <li>
613
+ A3.1
614
+ <a href="ch_core_editor.html" >Setup and Config </a>
615
+ </li>
616
+ <li>
617
+ A3.2
618
+ <a href="../Appendix-C:-Git-Commands-Getting-and-Creating-Projects.html" >Getting and Creating Projects </a>
619
+ </li>
620
+ <li>
621
+ A3.3
622
+ <a href="../Appendix-C:-Git-Commands-Basic-Snapshotting.html" >Basic Snapshotting </a>
623
+ </li>
624
+ <li>
625
+ A3.4
626
+ <a href="../Appendix-C:-Git-Commands-Branching-and-Merging.html" >Branching and Merging </a>
627
+ </li>
628
+ <li>
629
+ A3.5
630
+ <a href="../Appendix-C:-Git-Commands-Sharing-and-Updating-Projects.html" >Sharing and Updating Projects </a>
631
+ </li>
632
+ <li>
633
+ A3.6
634
+ <a href="../Appendix-C:-Git-Commands-Inspection-and-Comparison.html" >Inspection and Comparison </a>
635
+ </li>
636
+ <li>
637
+ A3.7
638
+ <a href="../Appendix-C:-Git-Commands-Debugging.html" >Debugging </a>
639
+ </li>
640
+ <li>
641
+ A3.8
642
+ <a href="../Appendix-C:-Git-Commands-Patching.html" >Patching </a>
643
+ </li>
644
+ <li>
645
+ A3.9
646
+ <a href="../Appendix-C:-Git-Commands-Email.html" >Email </a>
647
+ </li>
648
+ <li>
649
+ A3.10
650
+ <a href="../Appendix-C:-Git-Commands-External-Systems.html" >External Systems </a>
651
+ </li>
652
+ <li>
653
+ A3.11
654
+ <a href="../Appendix-C:-Git-Commands-Administration.html" >Administration </a>
655
+ </li>
656
+ <li>
657
+ A3.12
658
+ <a href="../Appendix-C:-Git-Commands-Plumbing-Commands.html" >Plumbing Commands </a>
659
+ </li>
660
+ </ol>
661
+ </li>
662
+ </ol>
663
+
664
+ </div>
665
+ </div>
666
+ </div>
667
+
668
+ <span class="light" id="edition">
669
+ 2nd Edition
670
+ </span>
671
+ </div>
672
+
673
+ <div id='main' class="book edition2">
674
+ <h1>7.12 Git Tools - Bundling</h1>
675
+ <div>
676
+ <h2 id="_bundling">Bundling</h2>
677
+ <div class="paragraph">
678
+ <p>Though we’ve covered the common ways to transfer Git data over a network (HTTP, SSH, etc), there is actually one more way to do so that is not commonly used but can actually be quite useful.</p>
679
+ </div>
680
+ <div class="paragraph">
681
+ <p>Git is capable of “bundling” its data into a single file.
682
+ This can be useful in various scenarios.
683
+ Maybe your network is down and you want to send changes to your co-workers.
684
+ Perhaps you’re working somewhere offsite and don’t have access to the local network for security reasons.
685
+ Maybe your wireless/ethernet card just broke.
686
+ Maybe you don’t have access to a shared server for the moment, you want to email someone updates and you don’t want to transfer 40 commits via <code>format-patch</code>.</p>
687
+ </div>
688
+ <div class="paragraph">
689
+ <p>This is where the <code>git bundle</code> command can be helpful.
690
+ The <code>bundle</code> command will package up everything that would normally be pushed over the wire with a <code>git push</code> command into a binary file that you can email to someone or put on a flash drive, then unbundle into another repository.</p>
691
+ </div>
692
+ <div class="paragraph">
693
+ <p>Let’s see a simple example.
694
+ Let’s say you have a repository with two commits:</p>
695
+ </div>
696
+ <div class="listingblock">
697
+ <div class="content">
698
+ <pre class="highlight"><code class="language-console" data-lang="console">$ git log
699
+ commit 9a466c572fe88b195efd356c3f2bbeccdb504102
700
+ Author: Scott Chacon &lt;schacon@gmail.com&gt;
701
+ Date: Wed Mar 10 07:34:10 2010 -0800
702
+
703
+ Second commit
704
+
705
+ commit b1ec3248f39900d2a406049d762aa68e9641be25
706
+ Author: Scott Chacon &lt;schacon@gmail.com&gt;
707
+ Date: Wed Mar 10 07:34:01 2010 -0800
708
+
709
+ First commit</code></pre>
710
+ </div>
711
+ </div>
712
+ <div class="paragraph">
713
+ <p>If you want to send that repository to someone and you don’t have access to a repository to push to, or simply don’t want to set one up, you can bundle it with <code>git bundle create</code>.</p>
714
+ </div>
715
+ <div class="listingblock">
716
+ <div class="content">
717
+ <pre class="highlight"><code class="language-console" data-lang="console">$ git bundle create repo.bundle HEAD master
718
+ Counting objects: 6, done.
719
+ Delta compression using up to 2 threads.
720
+ Compressing objects: 100% (2/2), done.
721
+ Writing objects: 100% (6/6), 441 bytes, done.
722
+ Total 6 (delta 0), reused 0 (delta 0)</code></pre>
723
+ </div>
724
+ </div>
725
+ <div class="paragraph">
726
+ <p>Now you have a file named <code>repo.bundle</code> that has all the data needed to re-create the repository’s <code>master</code> branch.
727
+ With the <code>bundle</code> command you need to list out every reference or specific range of commits that you want to be included.
728
+ If you intend for this to be cloned somewhere else, you should add HEAD as a reference as well as we’ve done here.</p>
729
+ </div>
730
+ <div class="paragraph">
731
+ <p>You can email this <code>repo.bundle</code> file to someone else, or put it on a USB drive and walk it over.</p>
732
+ </div>
733
+ <div class="paragraph">
734
+ <p>On the other side, say you are sent this <code>repo.bundle</code> file and want to work on the project.
735
+ You can clone from the binary file into a directory, much like you would from a URL.</p>
736
+ </div>
737
+ <div class="listingblock">
738
+ <div class="content">
739
+ <pre class="highlight"><code class="language-console" data-lang="console">$ git clone repo.bundle repo
740
+ Cloning into 'repo'...
741
+ ...
742
+ $ cd repo
743
+ $ git log --oneline
744
+ 9a466c5 Second commit
745
+ b1ec324 First commit</code></pre>
746
+ </div>
747
+ </div>
748
+ <div class="paragraph">
749
+ <p>If you don’t include HEAD in the references, you have to also specify <code>-b master</code> or whatever branch is included because otherwise it won’t know what branch to check out.</p>
750
+ </div>
751
+ <div class="paragraph">
752
+ <p>Now let’s say you do three commits on it and want to send the new commits back via a bundle on a USB stick or email.</p>
753
+ </div>
754
+ <div class="listingblock">
755
+ <div class="content">
756
+ <pre class="highlight"><code class="language-console" data-lang="console">$ git log --oneline
757
+ 71b84da Last commit - second repo
758
+ c99cf5b Fourth commit - second repo
759
+ 7011d3d Third commit - second repo
760
+ 9a466c5 Second commit
761
+ b1ec324 First commit</code></pre>
762
+ </div>
763
+ </div>
764
+ <div class="paragraph">
765
+ <p>First we need to determine the range of commits we want to include in the bundle.
766
+ Unlike the network protocols which figure out the minimum set of data to transfer over the network for us, we’ll have to figure this out manually.
767
+ Now, you could just do the same thing and bundle the entire repository, which will work, but it’s better to just bundle up the difference - just the three commits we just made locally.</p>
768
+ </div>
769
+ <div class="paragraph">
770
+ <p>In order to do that, you’ll have to calculate the difference.
771
+ As we described in <a href="_commit_ranges.html">Commit Ranges</a>, you can specify a range of commits in a number of ways.
772
+ To get the three commits that we have in our <code>master</code> branch that weren’t in the branch we originally cloned, we can use something like <code>origin/master..master</code> or <code>master ^origin/master</code>.
773
+ You can test that with the <code>log</code> command.</p>
774
+ </div>
775
+ <div class="listingblock">
776
+ <div class="content">
777
+ <pre class="highlight"><code class="language-console" data-lang="console">$ git log --oneline master ^origin/master
778
+ 71b84da Last commit - second repo
779
+ c99cf5b Fourth commit - second repo
780
+ 7011d3d Third commit - second repo</code></pre>
781
+ </div>
782
+ </div>
783
+ <div class="paragraph">
784
+ <p>So now that we have the list of commits we want to include in the bundle, let’s bundle them up.
785
+ We do that with the <code>git bundle create</code> command, giving it a filename we want our bundle to be and the range of commits we want to go into it.</p>
786
+ </div>
787
+ <div class="listingblock">
788
+ <div class="content">
789
+ <pre class="highlight"><code class="language-console" data-lang="console">$ git bundle create commits.bundle master ^9a466c5
790
+ Counting objects: 11, done.
791
+ Delta compression using up to 2 threads.
792
+ Compressing objects: 100% (3/3), done.
793
+ Writing objects: 100% (9/9), 775 bytes, done.
794
+ Total 9 (delta 0), reused 0 (delta 0)</code></pre>
795
+ </div>
796
+ </div>
797
+ <div class="paragraph">
798
+ <p>Now we have a <code>commits.bundle</code> file in our directory.
799
+ If we take that and send it to our partner, she can then import it into the original repository, even if more work has been done there in the meantime.</p>
800
+ </div>
801
+ <div class="paragraph">
802
+ <p>When she gets the bundle, she can inspect it to see what it contains before she imports it into her repository.
803
+ The first command is the <code>bundle verify</code> command that will make sure the file is actually a valid Git bundle and that you have all the necessary ancestors to reconstitute it properly.</p>
804
+ </div>
805
+ <div class="listingblock">
806
+ <div class="content">
807
+ <pre class="highlight"><code class="language-console" data-lang="console">$ git bundle verify ../commits.bundle
808
+ The bundle contains 1 ref
809
+ 71b84daaf49abed142a373b6e5c59a22dc6560dc refs/heads/master
810
+ The bundle requires these 1 ref
811
+ 9a466c572fe88b195efd356c3f2bbeccdb504102 second commit
812
+ ../commits.bundle is okay</code></pre>
813
+ </div>
814
+ </div>
815
+ <div class="paragraph">
816
+ <p>If the bundler had created a bundle of just the last two commits they had done, rather than all three, the original repository would not be able to import it, since it is missing requisite history.
817
+ The <code>verify</code> command would have looked like this instead:</p>
818
+ </div>
819
+ <div class="listingblock">
820
+ <div class="content">
821
+ <pre class="highlight"><code class="language-console" data-lang="console">$ git bundle verify ../commits-bad.bundle
822
+ error: Repository lacks these prerequisite commits:
823
+ error: 7011d3d8fc200abe0ad561c011c3852a4b7bbe95 Third commit - second repo</code></pre>
824
+ </div>
825
+ </div>
826
+ <div class="paragraph">
827
+ <p>However, our first bundle is valid, so we can fetch in commits from it.
828
+ If you want to see what branches are in the bundle that can be imported, there is also a command to just list the heads:</p>
829
+ </div>
830
+ <div class="listingblock">
831
+ <div class="content">
832
+ <pre class="highlight"><code class="language-console" data-lang="console">$ git bundle list-heads ../commits.bundle
833
+ 71b84daaf49abed142a373b6e5c59a22dc6560dc refs/heads/master</code></pre>
834
+ </div>
835
+ </div>
836
+ <div class="paragraph">
837
+ <p>The <code>verify</code> sub-command will tell you the heads as well.
838
+ The point is to see what can be pulled in, so you can use the <code>fetch</code> or <code>pull</code> commands to import commits from this bundle.
839
+ Here we’ll fetch the <code>master</code> branch of the bundle to a branch named <code>other-master</code> in our repository:</p>
840
+ </div>
841
+ <div class="listingblock">
842
+ <div class="content">
843
+ <pre class="highlight"><code class="language-console" data-lang="console">$ git fetch ../commits.bundle master:other-master
844
+ From ../commits.bundle
845
+ * [new branch] master -&gt; other-master</code></pre>
846
+ </div>
847
+ </div>
848
+ <div class="paragraph">
849
+ <p>Now we can see that we have the imported commits on the <code>other-master</code> branch as well as any commits we’ve done in the meantime in our own <code>master</code> branch.</p>
850
+ </div>
851
+ <div class="listingblock">
852
+ <div class="content">
853
+ <pre class="highlight"><code class="language-console" data-lang="console">$ git log --oneline --decorate --graph --all
854
+ * 8255d41 (HEAD, master) Third commit - first repo
855
+ | * 71b84da (other-master) Last commit - second repo
856
+ | * c99cf5b Fourth commit - second repo
857
+ | * 7011d3d Third commit - second repo
858
+ |/
859
+ * 9a466c5 Second commit
860
+ * b1ec324 First commit</code></pre>
861
+ </div>
862
+ </div>
863
+ <div class="paragraph">
864
+ <p>So, <code>git bundle</code> can be really useful for sharing or doing network-type operations when you don’t have the proper network or shared repository to do so.</p>
865
+ </div>
866
+ <div id="nav"><a href="_publishing_submodules.html">prev</a> | <a href="_replace.html">next</a></div></div>
867
+ </div>
868
+
869
+ </div>
870
+ </div>
871
+ <footer>
872
+ <div class="site-source">
873
+ <a href="https://git-scm.com/site">About this site</a><br>
874
+ Patches, suggestions, and comments are welcome.
875
+ </div>
876
+ <div class="sfc-member">
877
+ Git is a member of <a href="https://git-scm.com/sfc">Software Freedom Conservancy</a>
878
+ </div>
879
+ </footer>
880
+ <a href="_bundling.html#top" class="no-js scrollToTop" id="scrollToTop" data-label="Scroll to top">
881
+ <img src="../../../../images/icons/chevron-up@2x.png" width="20" height="20" alt="scroll-to-top"/>
882
+ </a>
883
+ <script src="../../../../assets/application-38b0d42ff05ffea45841edebbd14b75b89585646153808e82907c2c5c11f324b.js"></script>
884
+
885
+ </div>
886
+
887
+ </body>
888
+ </html>