Свойства SVN Mergeinfo на путях кроме рабочего корня копии

Ошибка синтаксиса: ошибка синтаксиса, неожиданный T_ENCAPSED_AND_WHITESPACE

Эта ошибка чаще всего встречается при попытке ссылаться на значение массива с помощью ключевого слова для интерполяции внутри строки с двумя кавычками , когда вся конструкция комплексной переменной не заключена в {}.

Случай ошибки:

Это приведет к Unexpected T_ENCAPSED_AND_WHITESPACE:

echo "This is a double-quoted string with a quoted array key in $array['key']";
//---------------------------------------------------------------------^^^^^

Возможные исправления:

В строке с двойными кавычками PHP разрешает использовать строки ключей ключей без кавычек и не выдаст E_NOTICE. Таким образом, вышесказанное может быть записано как:

echo "This is a double-quoted string with an un-quoted array key in $array[key]";
//------------------------------------------------------------------------^^^^^

Вся сложная переменная массива и ключ (ы) могут быть заключены в {}, и в этом случае они должны быть указаны чтобы избежать E_NOTICE. Документация PHP рекомендует этот синтаксис для сложных переменных.

echo "This is a double-quoted string with a quoted array key in {$array['key']}";
//--------------------------------------------------------------^^^^^^^^^^^^^^^
// Or a complex array property of an object:
echo "This is a a double-quoted string with a complex {$object->property->array['key']}";

Конечно, альтернатива любой из вышеперечисленного заключается в объединении переменной массива in вместо интерполировать его:

echo "This is a double-quoted string with an array variable " . $array['key'] . " concatenated inside.";
//----------------------------------------------------------^^^^^^^^^^^^^^^^^^^^^

Для справки см. раздел «Переменная синтаксический анализ» в странице руководства PHP Strings

45
задан Peter Mortensen 3 December 2016 в 08:27
поделиться

2 ответа

Подрывная деятельность 1.5.x добавляет много svn:mergeinfo свойств, даже на файлах/папках, которые Вы думаете, не имеют никакого отношения к слиянию. Но Подрывная деятельность все еще использует тех для сокращения времени слияния для последующих слияний.

, Если Вам не нравятся те, можно безопасно удалить, те изменили/добавили svn:mergeinfo свойства из всех файлов/папок, которые не были частью слияния (уезжайте, это на рабочей копии базируется и файлы/папки, которые получили изменения от слияния).

Подрывная деятельность 1.6 будет иметь те svn:mergeinfo свойства, уменьшил много, если все идет как запланировано с этими 1,6 выпусками.

30
ответ дан Stefan 26 November 2019 в 21:30
поделиться

По крайней мере, одна часть этой ошибки была исправлена в Subversion 1.5.5. Из файла 1.5.5 CHANGES:

не создавайте mergeinfo для перемещений или копий wc-wc (r34184, -585)

То есть до 1.5 была ошибка в SVN, когда она создавала записи mergeinfo, которые она не использовала и были лишними.

.
6
ответ дан 26 November 2019 в 21:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: