Почему я получаю Красный восклицательный знак после обновления? - PullRequest
15 голосов
/ 04 апреля 2011

У меня установлен Tortoise SVN и я использую его в Windows Explorer.Я предполагаю, что коллега обновил некоторые файлы, потому что у меня был восклицательный знак в некоторых папках.Я сделал обновление, чтобы получить последнюю версию, но все еще вижу красный восклицательный знак.

Ответы [ 3 ]

16 голосов
/ 04 апреля 2011

Красный восклицательный знак говорит вам, что вы изменили эти файлы в своей рабочей копии, поэтому, чтобы избавиться от восклицательных знаков, вы должны либо зафиксировать файлы (обновить версию в хранилище с измененной версией), либо отменить их (выбрасывая ваши изменения).

3 голосов
/ 29 марта 2017

Недавно я видел, что красный восклицательный знак сохраняется после очистки и обновления SVN из-за того, что несколько файлов имеют одно и то же имя, но разные регистры в одной папке репозитория. Tortoise SVN позволяет нескольким файлам существовать в одном месте с одинаковым именем в смешанном регистре, но Windows этого не делает.

Например, в одном месте в хранилище существовало 2 файла: f ile.txt и F ile.txt. Когда я перехожу в SVN, обновляю рабочую копию, файловый менеджер разрешает существование только одного из этих файлов, поэтому только один будет включен в мою рабочую копию после обновления SVN.

Когда я запустил «проверку на наличие изменений» в моей рабочей копии, Tortoise SVN сообщил, что файл, который нельзя было извлечь, отсутствовал, поскольку его было запрещено извлекать в папку с моей рабочей копией. Чтобы решить эту проблему, я удалил один из дублирующих файлов из репозитория SVN и запустил обновление моей рабочей копии.

3 голосов
/ 05 апреля 2011

@ Фрэнк совершенно корректен в отношении индикатора устаревания, но - основываясь на ваших последующих комментариях в его ответе - похоже, ваша забота заключается в том, чтобы справиться с правками других людей, а не с собственными правками.Многие разработчики, как вы отметили, периодически делают обновление, чтобы освежить рабочую копию с помощью коммитов от других, канонической модели " pull " (по сравнению с моделью " push ").

Позвольте мне отвлечься, чтобы сместить взгляды, чтобы более четко обосновать мою следующую точку зрения.Рассмотрим типичную систему отслеживания ошибок, использующую модель pull : когда другие отправляют или обновляют сообщения об ошибках, вам необходимо перейти на веб-сайт (или клиент), выполнить поиск, отфильтровать и проверить, что можетизменились по интересующим вас вопросам. Некоторые системы поддерживают только это.Но лучшие из них также поддерживают модель push : вы можете подписаться на проекты или конкретные вопросы, чтобы при публикации чего-либо нового автоматически получало электронное письмо. (я не смог бы хорошо работать без этой функции!)

Ситуация аналогична в области подрывной деятельности.Да, я часто делаю svn-обновление, чтобы поглотить все изменения, но я нахожу весьма полезным получать уведомления, когда кто-то, кто меня интересует, изменяется кем-то другим.И сделать это просто: скачайте Stefan Kung CommitMonitor , который добавляет технологию push в Subversion.Этот инструмент находится в системном трее в системе Windows и позволяет вам указать любое количество репозиториев, либо в корневом каталоге, либо в любом подкаталоге, так что вы можете настроить разрешение так, как вам нравится.Не хочу звучать как реклама - у меня нет связи с продуктом или автором - но я нашел это совсем недавно, и я нашел его простым в использовании, ненавязчивым и чистым - он просто работает.

...