Code Duplication    Length = 16-18 lines in 2 locations

Command/UpgradeCommand.php 2 locations

@@ 125-142 (lines=18) @@
122
            $output->writeln(sprintf('<info>Upgrading from %s to %s</info>', $currentVersion ?: '-', $newVersion));
123
124
            $dependenciesOption = $composerFileContents['require'];
125
            foreach ($dependenciesDiff['added'] as $name => $ver) {
126
                if (!isset($dependenciesOption[$name])) {
127
                    $dependenciesOption[$name] = $ver;
128
                } else {
129
                    if ($ver !== $dependenciesOption[$name]) {
130
                        $msg = sprintf(implode('', [
131
                            '<question>',
132
                                'Dependency "%s:%s" already exists. ',
133
                                'Would you like to change it to "%s:%s"? (Y/n)',
134
                            '</question>',
135
                        ]), $name, $dependenciesOption[$name], $name, $ver);
136
137
                        if ($dialog->askConfirmation($output, $msg)) {
138
                            $dependenciesOption[$name] = $ver;
139
                        }
140
                    }
141
                }
142
            }
143
            foreach ($dependenciesDiff['changed'] as $name => $ver) {
144
                if (
145
                       !isset($dependenciesOption[$name])
@@ 177-192 (lines=16) @@
174
                    }
175
                }
176
            }
177
            foreach ($dependenciesDiff['same'] as $name => $ver) {
178
                if (!isset($dependenciesOption[$name])) {
179
                    $dependenciesOption[$name] = $ver;
180
                } elseif ($ver !== $dependenciesOption[$name]) {
181
                    $msg = sprintf(implode('', [
182
                        '<question>',
183
                            'Dependency "%s:%s" has been manually changed. ',
184
                            'Would you like to restore it to "%s:%s"? (Y/n)',
185
                        '</question>',
186
                    ]), $name, $dependenciesOption[$name], $name, $ver);
187
188
                    if ($dialog->askConfirmation($output, $msg)) {
189
                        $dependenciesOption[$name] = $ver;
190
                    }
191
                }
192
            }
193
            $composerFileContents['require'] = $dependenciesOption;
194
195
            // manage repositories