feature #10829 Fix issue 9172 (umpirsky)
This PR was squashed before being merged into the 2.3-dev branch (closes #10829).
Discussion
----------
Fix issue 9172
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #9172
| License | MIT
Commits
-------
25f1d85
Fix issue 9172
This commit is contained in:
commit
9c1cdbd82d
@ -5,6 +5,7 @@ CHANGELOG
|
||||
-----
|
||||
|
||||
* Added `translation:debug` command
|
||||
* Added `--no-backup` option to `translation:update` command
|
||||
* Added `config:debug` command
|
||||
* Added `yaml:lint` command
|
||||
* Deprecated the `RouterApacheDumperCommand` which will be removed in Symfony 3.0.
|
||||
|
@ -52,6 +52,10 @@ class TranslationUpdateCommand extends ContainerAwareCommand
|
||||
'force', null, InputOption::VALUE_NONE,
|
||||
'Should the update be done'
|
||||
),
|
||||
new InputOption(
|
||||
'no-backup', null, InputOption::VALUE_NONE,
|
||||
'Should backup be disabled'
|
||||
),
|
||||
new InputOption(
|
||||
'clean', null, InputOption::VALUE_NONE,
|
||||
'Should clean not found messages'
|
||||
@ -139,6 +143,10 @@ EOF
|
||||
}
|
||||
}
|
||||
|
||||
if ($input->getOption('no-backup') === true) {
|
||||
$writer->disableBackup();
|
||||
}
|
||||
|
||||
// save the files
|
||||
if ($input->getOption('force') === true) {
|
||||
$output->writeln('Writing files');
|
||||
|
@ -5,6 +5,7 @@ CHANGELOG
|
||||
-----
|
||||
|
||||
* added relative file path template to the file dumpers
|
||||
* added optional backup to the file dumpers
|
||||
* changed IcuResFileDumper to extend FileDumper
|
||||
|
||||
2.3.0
|
||||
|
@ -31,6 +31,13 @@ abstract class FileDumper implements DumperInterface
|
||||
*/
|
||||
protected $relativePathTemplate = '%domain%.%locale%.%extension%';
|
||||
|
||||
/**
|
||||
* Make file backup before the dump.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
private $backup = true;
|
||||
|
||||
/**
|
||||
* Sets the template for the relative paths to files.
|
||||
*
|
||||
@ -41,6 +48,16 @@ abstract class FileDumper implements DumperInterface
|
||||
$this->relativePathTemplate = $relativePathTemplate;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets backup flag.
|
||||
*
|
||||
* @param bool
|
||||
*/
|
||||
public function setBackup($backup)
|
||||
{
|
||||
$this->backup = $backup;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
@ -55,7 +72,9 @@ abstract class FileDumper implements DumperInterface
|
||||
// backup
|
||||
$fullpath = $options['path'].'/'.$this->getRelativePath($domain, $messages->getLocale());
|
||||
if (file_exists($fullpath)) {
|
||||
copy($fullpath, $fullpath.'~');
|
||||
if ($this->backup) {
|
||||
copy($fullpath, $fullpath.'~');
|
||||
}
|
||||
} else {
|
||||
$directory = dirname($fullpath);
|
||||
if (!file_exists($directory) && !@mkdir($directory, 0777, true)) {
|
||||
|
@ -39,6 +39,16 @@ class TranslationWriter
|
||||
$this->dumpers[$format] = $dumper;
|
||||
}
|
||||
|
||||
/**
|
||||
* Disables dumper backup.
|
||||
*/
|
||||
public function disableBackup()
|
||||
{
|
||||
foreach ($this->dumpers as $dumper) {
|
||||
$dumper->setBackup(false);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtains the list of supported formats.
|
||||
*
|
||||
|
Reference in New Issue
Block a user