Добавление -A 1к аргументам grep покажет вам строку после строки конфликта, которая иногда связана с конфликтом.
Уэсли Хартфорд
4
-P указывает grep использовать регулярное выражение perl, ^ = начало строки, (? =) Заключить шаблон просмотра вперед , который есть. {0,6} любые символы от 0 до 6 и буква C, которая является индикатором конфликтов
Пит
5
В чем смысл использования опережающей части? Не могли '^.{0,6}C'работать?
hans_meine
2
Чтобы использовать эту же команду в OSX, вам необходимо установить GNU grep, потому что у BSD grep нет флага регулярного выражения Perl (-P)
Г.Рассовский
4
Для Windows это версия Powershell(svn status) -Match '^(?=.{0,6}C)'
Кажется, не работает в Windows с svn 1.7.8. Журнал ошибок: svn: E205001: Попробуйте 'svn help' для получения дополнительной информации svn: E205001: Требуется источник слияния
Если вы не объединяли или не обновляли файлы, используйте команду ниже
svn status --show-updates | grep -P '.*(?=.*M)(?=.*\*).*'
Коротко
svn st -u | grep -P '.*(?=.*M)(?=.*\*).*'
Подробности
SVN не отмечает статус конфликта (C), пока вы не обновите файл (ы) с помощью svn update.
До тех пор статусы отображаются, как показано ниже
-A 1
к аргументам grep покажет вам строку после строки конфликта, которая иногда связана с конфликтом.'^.{0,6}C'
работать?(svn status) -Match '^(?=.{0,6}C)'
Просто используйте grep!
источник
Вы можете попробовать
svn merge -r <revision> --dry-run
и посмотреть, что в этом случае произойдет.источник
Если у вас есть подтверждение от http://betterthangrep.com/ , вы можете сделать следующее
источник
Для Windows PowerShell используйте:
источник
Если вы уже объединились, вы можете использовать
и видите заглавную букву "C" для конфликта, но обычно вы не должны видеть такой вид в своей рабочей копии.
источник
Возможно, можно использовать
svn merge --dryrun
при указании URL-адреса репозитория со всеми версиями после последней, которую вы обновили.Например, если ваш текущий WC основан на ревизии 147, это может быть сделано:
Я ничего не сделал сам, так что вам придется попробовать самому.
источник
Если вы не объединяли или не обновляли файлы, используйте команду ниже
svn status --show-updates | grep -P '.*(?=.*M)(?=.*\*).*'
Коротко
svn st -u | grep -P '.*(?=.*M)(?=.*\*).*'
Подробности
SVN не отмечает статус конфликта (C), пока вы не обновите файл (ы) с помощью
svn update
.До тех пор статусы отображаются, как показано ниже
M - Изменено локально
* - Обновления / Входящие с удаленного
M и * - Изменено локально, а также удаленно - Это конфликт, но svn еще не отмечен
источник
на Mac
сделал работу
вот человек для grep:
источник
^!
- это регулярное выражение для каждой строки, начинающейся с!
. Все противоречивые строки начинаются с!