Subversion: как сделать локальные изменения в файле * никогда * не регистрироваться, но все равно синхронизировать его с удаленным? - PullRequest
5 голосов
/ 05 января 2011

У меня есть файл с локальными изменениями, который никогда не должен синхронизироваться с репозиторием, поскольку он предназначен только для локальной установки. Но если этот же файл изменяется в репо, я хочу, чтобы эти изменения обновили мою локальную копию, в любом случае.

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

Спасибо:)

Ответы [ 3 ]

8 голосов
/ 05 января 2011

Если вы используете TortoiseSVN, вы можете добавить этот файл в список изменений ignore-on-commit.

Это отличается от svn: ignore. Файл будет версионным (то есть он будет существовать в репозитории), вы получите обновления для него при обновлении, но при фиксации этот файл будет отображаться в отдельном списке и по умолчанию не отмечен. Вы все еще можете зафиксировать файл, но гораздо сложнее случайно зафиксировать его.

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

См. Документацию здесь: (поиск по ignore-on-commit) http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-changelists.html http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-commit.html

0 голосов
/ 05 января 2011

Это не просто.В другом месте есть два практически одинаковых вопроса с некоторыми хорошими ответами .

Вы также можете рассмотреть возможность написания сценария оболочки, который создает патч для вашей версии, используя svn diff;отодвигает вашу версию;делает svn up;и исправляет новую обновленную версию.

0 голосов
/ 05 января 2011

Вы можете создать ловушку перед фиксацией, которая проверяет, что файл зафиксирован и прерывает фиксацию, если это так.

http://wordaligned.org/articles/a-subversion-pre-commit-hook

Здесь вы можете увидеть пример такой ловушки (котораяпроверяет, есть ли вкладки в переданных файлах. Все, что вам нужно сделать - это написать аналогичный скрипт, который проверяет, есть ли этот файл в списке измененных файлов).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...