git-multirepo 1.0.0.beta49 → 1.0.0.beta50

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/.gitattributes +2 -2
  3. data/.gitbugtraq +3 -3
  4. data/.gitignore +38 -38
  5. data/.multirepo.meta +2 -2
  6. data/.rspec +2 -2
  7. data/.rubocop.yml +79 -79
  8. data/CHANGELOG.md +29 -25
  9. data/Gemfile +4 -4
  10. data/Gemfile.lock +42 -42
  11. data/LICENSE +22 -22
  12. data/README.md +154 -154
  13. data/Rakefile +1 -1
  14. data/bin/multi +11 -11
  15. data/docs/bug-repros/91565510-repro.sh +20 -20
  16. data/git-multirepo.gemspec +31 -31
  17. data/lib/git-multirepo.rb +3 -3
  18. data/lib/multirepo/commands/add-command.rb +51 -51
  19. data/lib/multirepo/commands/branch-command.rb +82 -82
  20. data/lib/multirepo/commands/checkout-command.rb +120 -120
  21. data/lib/multirepo/commands/clone-command.rb +68 -68
  22. data/lib/multirepo/commands/command.rb +90 -90
  23. data/lib/multirepo/commands/commands.rb +15 -0
  24. data/lib/multirepo/commands/do-command.rb +103 -103
  25. data/lib/multirepo/commands/graph-command.rb +43 -43
  26. data/lib/multirepo/commands/init-command.rb +121 -121
  27. data/lib/multirepo/commands/inspect-command.rb +39 -39
  28. data/lib/multirepo/commands/install-command.rb +153 -153
  29. data/lib/multirepo/commands/merge-command.rb +249 -225
  30. data/lib/multirepo/commands/open-command.rb +57 -57
  31. data/lib/multirepo/commands/remove-command.rb +48 -48
  32. data/lib/multirepo/commands/uninit-command.rb +18 -18
  33. data/lib/multirepo/commands/update-command.rb +106 -94
  34. data/lib/multirepo/config.rb +16 -16
  35. data/lib/multirepo/files/config-entry.rb +39 -39
  36. data/lib/multirepo/files/config-file.rb +46 -46
  37. data/lib/multirepo/files/lock-entry.rb +29 -29
  38. data/lib/multirepo/files/lock-file.rb +56 -56
  39. data/lib/multirepo/files/meta-file.rb +41 -41
  40. data/lib/multirepo/files/tracking-file.rb +9 -9
  41. data/lib/multirepo/files/tracking-files.rb +47 -47
  42. data/lib/multirepo/git/branch.rb +32 -32
  43. data/lib/multirepo/git/change.rb +11 -11
  44. data/lib/multirepo/git/commit.rb +7 -7
  45. data/lib/multirepo/git/git-runner.rb +56 -56
  46. data/lib/multirepo/git/git.rb +10 -10
  47. data/lib/multirepo/git/ref.rb +38 -38
  48. data/lib/multirepo/git/remote.rb +17 -17
  49. data/lib/multirepo/git/repo.rb +124 -124
  50. data/lib/multirepo/hooks/post-commit-hook.rb +23 -23
  51. data/lib/multirepo/hooks/pre-commit-hook.rb +35 -35
  52. data/lib/{info.rb → multirepo/info.rb} +5 -5
  53. data/lib/multirepo/logic/dependency.rb +6 -6
  54. data/lib/multirepo/logic/merge-descriptor.rb +95 -95
  55. data/lib/multirepo/logic/node.rb +72 -72
  56. data/lib/multirepo/logic/performer.rb +55 -55
  57. data/lib/multirepo/logic/revision-selector.rb +35 -35
  58. data/lib/multirepo/multirepo-exception.rb +6 -6
  59. data/lib/multirepo/utility/console.rb +52 -52
  60. data/lib/multirepo/utility/popen-runner.rb +27 -27
  61. data/lib/multirepo/utility/system-runner.rb +14 -14
  62. data/lib/multirepo/utility/utils.rb +95 -95
  63. data/lib/multirepo/utility/verbosity.rb +6 -6
  64. data/resources/.gitconfig +2 -2
  65. data/resources/post-commit +6 -6
  66. data/resources/pre-commit +6 -6
  67. data/spec/integration/init_spec.rb +19 -19
  68. data/spec/spec_helper.rb +89 -89
  69. metadata +33 -33
  70. data/lib/commands.rb +0 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4d705faf852214b42b3a430b147767ed8c0f333d
4
- data.tar.gz: abcd5b4b4bbe377360350c0349e061cfef5d1c29
3
+ metadata.gz: 96d1c4b54b0bc863b77d19b003b57b427c43a228
4
+ data.tar.gz: 1c7ccd22b0b03c32dccae18f0fc21ecd523e92d4
5
5
  SHA512:
6
- metadata.gz: 64f96f9b51c7c621280e06e326e3219ddc076fff8e7f6f6667b11d0001d4f7a9d9931b955d2bcafb1a723db1c245631a19746d4e1103fb83edc987fcd37c70d1
7
- data.tar.gz: 057b1e54d7d0c063b8fdc9d87097412a7e094ccceca8784f4bcc1f5fe27f9a88a3417d6a083f1dc96103dcc51f8fa91064210d5f7bab7704b253ef5f1cded597
6
+ metadata.gz: 22d584973f5eadf073e03a3767a72700fc8a1ec9390ba4578ff3cd9a2898fe4624245c703ae90aa0bcd75b919ae2de13df626d40d36230c61df893885bd57394
7
+ data.tar.gz: 6f5aab921c711670f41a317783624e024c067c657aeba5393671b0119777401d54fb484cf29312e71612cbe0d3510ffdf734edb6c14ad7077b310a61faae17b7
@@ -1,2 +1,2 @@
1
- .multirepo.lock merge=ours
2
- .multirepo.meta merge=ours
1
+ .multirepo.lock merge=ours
2
+ .multirepo.meta merge=ours
@@ -1,3 +1,3 @@
1
- [bugtraq "pivotal"]
2
- url = https://www.pivotaltracker.com/story/show/%BUGID%
3
- logRegex = (\\b\\d{8}\\b)
1
+ [bugtraq "pivotal"]
2
+ url = https://www.pivotaltracker.com/story/show/%BUGID%
3
+ logRegex = (\\b\\d{8}\\b)
data/.gitignore CHANGED
@@ -1,38 +1,38 @@
1
- *.gem
2
- *.rbc
3
- /.config
4
- /coverage/
5
- /InstalledFiles
6
- /pkg/
7
- /spec/reports/
8
- /test/tmp/
9
- /test/version_tmp/
10
- /tmp/
11
-
12
- ## Specific to RubyMotion:
13
- .dat*
14
- .repl_history
15
- build/
16
-
17
- ## Documentation cache and generated files:
18
- /.yardoc/
19
- /_yardoc/
20
- /doc/
21
- /rdoc/
22
-
23
- ## Environment normalisation:
24
- /.bundle/
25
- /lib/bundler/man/
26
-
27
- # for a library or gem, you might want to ignore these files since the code is
28
- # intended to run in multiple environments; otherwise, check them in:
29
- # Gemfile.lock
30
- # .ruby-version
31
- # .ruby-gemset
32
-
33
- # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
34
- .rvmrc
35
-
36
- # Project-specific
37
- /.multirepo
38
- /.multirepo.lock
1
+ *.gem
2
+ *.rbc
3
+ /.config
4
+ /coverage/
5
+ /InstalledFiles
6
+ /pkg/
7
+ /spec/reports/
8
+ /test/tmp/
9
+ /test/version_tmp/
10
+ /tmp/
11
+
12
+ ## Specific to RubyMotion:
13
+ .dat*
14
+ .repl_history
15
+ build/
16
+
17
+ ## Documentation cache and generated files:
18
+ /.yardoc/
19
+ /_yardoc/
20
+ /doc/
21
+ /rdoc/
22
+
23
+ ## Environment normalisation:
24
+ /.bundle/
25
+ /lib/bundler/man/
26
+
27
+ # for a library or gem, you might want to ignore these files since the code is
28
+ # intended to run in multiple environments; otherwise, check them in:
29
+ # Gemfile.lock
30
+ # .ruby-version
31
+ # .ruby-gemset
32
+
33
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
34
+ .rvmrc
35
+
36
+ # Project-specific
37
+ /.multirepo
38
+ /.multirepo.lock
@@ -1,2 +1,2 @@
1
- --- !ruby/object:MultiRepo::MetaFile
2
- version: 1.0.0.beta48
1
+ --- !ruby/object:MultiRepo::MetaFile
2
+ version: 1.0.0.beta50
data/.rspec CHANGED
@@ -1,2 +1,2 @@
1
- --color
2
- --require spec_helper
1
+ --color
2
+ --require spec_helper
@@ -1,79 +1,79 @@
1
- # This is the configuration used to check the rubocop source code.
2
-
3
- AllCops:
4
- DisplayCopNames: true
5
- Exclude:
6
- - 'resources/*'
7
- - 'pkg/*'
8
- - 'docs/*'
9
- - 'spec/spec_helper.rb'
10
- - 'spec/fixtures/**/*'
11
-
12
- Style/RescueModifier:
13
- Enabled: false
14
-
15
- Lint/EndAlignment:
16
- Enabled: false
17
-
18
- Metrics/MethodLength:
19
- Enabled: false
20
-
21
- Metrics/LineLength:
22
- Enabled: false
23
-
24
- Style/EachWithObject:
25
- Enabled: false
26
-
27
- Style/Documentation:
28
- Enabled: false
29
-
30
- Style/GuardClause:
31
- Enabled: false
32
-
33
- Style/RedundantReturn:
34
- Enabled: false
35
-
36
- Style/SpaceBeforeBlockBraces:
37
- Enabled: false
38
-
39
- Style/StringLiterals:
40
- Enabled: false
41
-
42
- Style/TrailingWhitespace:
43
- Enabled: false
44
-
45
- Metrics/AbcSize:
46
- Enabled: false
47
-
48
- Metrics/ClassLength:
49
- Enabled: false
50
-
51
- Style/ElseAlignment:
52
- Enabled: false
53
-
54
- Style/HashSyntax:
55
- Enabled: false
56
-
57
- Style/MultilineOperationIndentation:
58
- Enabled: false
59
-
60
- Style/Semicolon:
61
- AllowAsExpressionSeparator: true
62
-
63
- Style/IndentationWidth:
64
- Enabled: false
65
-
66
- Style/SingleLineBlockParams:
67
- Enabled: false
68
-
69
- Metrics/CyclomaticComplexity:
70
- Max: 10
71
-
72
- Metrics/PerceivedComplexity:
73
- Max: 8
74
-
75
- Style/FileName:
76
- Enabled: false
77
-
78
- Style/SpecialGlobalVars:
79
- Enabled: false
1
+ # This is the configuration used to check the rubocop source code.
2
+
3
+ AllCops:
4
+ DisplayCopNames: true
5
+ Exclude:
6
+ - 'resources/*'
7
+ - 'pkg/*'
8
+ - 'docs/*'
9
+ - 'spec/spec_helper.rb'
10
+ - 'spec/fixtures/**/*'
11
+
12
+ Style/RescueModifier:
13
+ Enabled: false
14
+
15
+ Lint/EndAlignment:
16
+ Enabled: false
17
+
18
+ Metrics/MethodLength:
19
+ Enabled: false
20
+
21
+ Metrics/LineLength:
22
+ Enabled: false
23
+
24
+ Style/EachWithObject:
25
+ Enabled: false
26
+
27
+ Style/Documentation:
28
+ Enabled: false
29
+
30
+ Style/GuardClause:
31
+ Enabled: false
32
+
33
+ Style/RedundantReturn:
34
+ Enabled: false
35
+
36
+ Style/SpaceBeforeBlockBraces:
37
+ Enabled: false
38
+
39
+ Style/StringLiterals:
40
+ Enabled: false
41
+
42
+ Style/TrailingWhitespace:
43
+ Enabled: false
44
+
45
+ Metrics/AbcSize:
46
+ Enabled: false
47
+
48
+ Metrics/ClassLength:
49
+ Enabled: false
50
+
51
+ Style/ElseAlignment:
52
+ Enabled: false
53
+
54
+ Style/HashSyntax:
55
+ Enabled: false
56
+
57
+ Style/MultilineOperationIndentation:
58
+ Enabled: false
59
+
60
+ Style/Semicolon:
61
+ AllowAsExpressionSeparator: true
62
+
63
+ Style/IndentationWidth:
64
+ Enabled: false
65
+
66
+ Style/SingleLineBlockParams:
67
+ Enabled: false
68
+
69
+ Metrics/CyclomaticComplexity:
70
+ Max: 10
71
+
72
+ Metrics/PerceivedComplexity:
73
+ Max: 8
74
+
75
+ Style/FileName:
76
+ Enabled: false
77
+
78
+ Style/SpecialGlobalVars:
79
+ Enabled: false
@@ -1,25 +1,29 @@
1
- ## Releases
2
-
3
- To install betas run `[sudo] gem install git-multirepo --pre`
4
-
5
- ## 1.0.0.beta49
6
-
7
- - **Enhancement:** Added --deps, --main and --all flags to `multi update` and update all by default
8
- - **Enhancement:** Log a warning on multi install --ci if the main repo HEAD is a merge commit, for CI servers to pick up and optionally force fail with
9
- - **Bug Fix:** "HEAD" was stored in the lock file instead of `nil` when in floating HEAD, which caused some operations to have unexpected results
10
- - **Bug Fix:** Incorrect default behavior for `multi open` (now defaults to "all")
11
-
12
- ## 1.0.0.beta48
13
-
14
- - **New:** `multi update` now updates tracking files in subdependencies
15
- - **Enhancement:** Manual and automated code refactorings using RuboCop
16
-
17
- ## 1.0.0.beta47
18
-
19
- - **Enhancement:** Running commands using system() when we don't need to grab output (enables interactive commands in `multi do` and fixes clone/fetch progress output)
20
-
21
- ## 1.0.0.beta46
22
-
23
- - **Enhancement:** Better `multi install --ci` output
24
- - **Enhancement:** Not requiring a multirepo-enabled repo in InspectCommand, else it's not very useful to inspect random repos
25
- - **Bug Fix:** Fixed exception in `multi do` when providing only the `--help` flag
1
+ ## Releases
2
+
3
+ To install betas run `[sudo] gem install git-multirepo --pre`
4
+
5
+ ## 1.0.0.beta49
6
+
7
+ - **Enhancement:** Added --deps, --main and --all flags to `multi update` and update all by default
8
+ - **Enhancement:** Log a warning on multi install --ci if the main repo HEAD is a merge commit, for CI servers to pick up and optionally force fail with
9
+ - **Bug Fix:** "HEAD" was stored in the lock file instead of `nil` when in floating HEAD, which caused some operations to have unexpected results
10
+ - **Bug Fix:** Incorrect default behavior for `multi open` (now defaults to "all")
11
+
12
+ ## 1.0.0.beta48
13
+
14
+ - **New:** `multi update` now updates tracking files in subdependencies
15
+ - **Enhancement:** Manual and automated code refactorings using RuboCop
16
+
17
+ ## 1.0.0.beta47
18
+
19
+ - **Enhancement:** Running commands using system() when we don't need to grab output (enables interactive commands in `multi do` and fixes clone/fetch progress output)
20
+
21
+ ## 1.0.0.beta46
22
+
23
+ - **Enhancement:** Better `multi install --ci` output
24
+ - **Enhancement:** Not requiring a multirepo-enabled repo in InspectCommand, else it's not very useful to inspect random repos
25
+ - **Bug Fix:** Fixed exception in `multi do` when providing only the `--help` flag
26
+
27
+ ## 1.0.0.beta45 and earlier
28
+
29
+ Refer to the commit history for details on earlier versions of git-multirepo.
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in git-multirepo.gemspec
4
- gemspec
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in git-multirepo.gemspec
4
+ gemspec
@@ -1,42 +1,42 @@
1
- PATH
2
- remote: .
3
- specs:
4
- git-multirepo (1.0.0.beta38)
5
- claide (~> 0.8, >= 0.8.0)
6
- colored (~> 1.2)
7
- os (~> 0.9.6)
8
- ruby-graphviz (~> 1.2.1)
9
- terminal-table (~> 1.4.5)
10
-
11
- GEM
12
- remote: https://rubygems.org/
13
- specs:
14
- claide (0.8.1)
15
- colored (1.2)
16
- diff-lcs (1.2.5)
17
- os (0.9.6)
18
- rake (10.4.2)
19
- rspec (3.1.0)
20
- rspec-core (~> 3.1.0)
21
- rspec-expectations (~> 3.1.0)
22
- rspec-mocks (~> 3.1.0)
23
- rspec-core (3.1.7)
24
- rspec-support (~> 3.1.0)
25
- rspec-expectations (3.1.2)
26
- diff-lcs (>= 1.2.0, < 2.0)
27
- rspec-support (~> 3.1.0)
28
- rspec-mocks (3.1.3)
29
- rspec-support (~> 3.1.0)
30
- rspec-support (3.1.2)
31
- ruby-graphviz (1.2.2)
32
- terminal-table (1.4.5)
33
-
34
- PLATFORMS
35
- ruby
36
- x64-mingw32
37
-
38
- DEPENDENCIES
39
- bundler (~> 1.7)
40
- git-multirepo!
41
- rake (~> 10.0)
42
- rspec (~> 3.1.0)
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ git-multirepo (1.0.0.beta38)
5
+ claide (~> 0.8, >= 0.8.0)
6
+ colored (~> 1.2)
7
+ os (~> 0.9.6)
8
+ ruby-graphviz (~> 1.2.1)
9
+ terminal-table (~> 1.4.5)
10
+
11
+ GEM
12
+ remote: https://rubygems.org/
13
+ specs:
14
+ claide (0.8.1)
15
+ colored (1.2)
16
+ diff-lcs (1.2.5)
17
+ os (0.9.6)
18
+ rake (10.4.2)
19
+ rspec (3.1.0)
20
+ rspec-core (~> 3.1.0)
21
+ rspec-expectations (~> 3.1.0)
22
+ rspec-mocks (~> 3.1.0)
23
+ rspec-core (3.1.7)
24
+ rspec-support (~> 3.1.0)
25
+ rspec-expectations (3.1.2)
26
+ diff-lcs (>= 1.2.0, < 2.0)
27
+ rspec-support (~> 3.1.0)
28
+ rspec-mocks (3.1.3)
29
+ rspec-support (~> 3.1.0)
30
+ rspec-support (3.1.2)
31
+ ruby-graphviz (1.2.2)
32
+ terminal-table (1.4.5)
33
+
34
+ PLATFORMS
35
+ ruby
36
+ x64-mingw32
37
+
38
+ DEPENDENCIES
39
+ bundler (~> 1.7)
40
+ git-multirepo!
41
+ rake (~> 10.0)
42
+ rspec (~> 3.1.0)
data/LICENSE CHANGED
@@ -1,22 +1,22 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2015 Michaël Fortin
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
22
-
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015 Michaël Fortin
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+