мерзавец, но (удаленный) SVN игнорировать - PullRequest
3 голосов
/ 04 июня 2011

У меня есть общедоступный svn-репозиторий для кода Google, однако локально я перешел на git по разным причинам. В настоящее время я являюсь единственным разработчиком, имеющим доступ к репозиторию GoogleCode, поэтому не нужно делать выборки. Все коммиты идут через ветку dev, в master ветку svn, с git svn dcommit. Все хорошо. Сейчас я нахожусь в ситуации, когда у меня есть некоторые файлы локально в управлении версиями с помощью git, но я НИКОГДА не хочу, чтобы они были доступны общественности.

Итак, у меня возникла идея: я создаю каталог private и добавляю свойство svn: ignore "private / *" к своему репозиторию svn. Но чем после

git svn dcommmit

Я получаю ошибку: конфликт слияния при коммите: файл или каталог '.' устарел; попробуйте обновить: ресурс устарел; попробуйте обновить в / usr / local / git / libexec / git-core / git-svn line 574

Я попытался импортировать свойство svn: ignore в .git / info / exclude, но это исключает все мои файлы git в 'private' из git, что определенно не то, что я хочу.

[08-06-2011]

Я думаю, что ошибка не из-за svn: ignore, похоже, что git svn полностью игнорирует svn: ignore, а по какой-то другой пока неизвестной причине. Возникает вопрос: возможно ли исключить пути из git svn dcommit таким же образом, как можно исключить пути из git svn fetch с --ignore-path

Ответы [ 2 ]

1 голос
/ 12 мая 2012

git-svn игнорирует svn: игнорировать, но SmartGit не делает, если вы извлекаете хранилище с помощью SmartGit. Он преобразует его в соответствующие файлы .gitignore и наоборот. Поэтому я бы порекомендовал вам использовать SmartGit вместо git-svn.

0 голосов
/ 18 августа 2011

Страница git-svn man указывает, что это возможно с помощью следующего ключа конфигурации:

svn-remote.<name>.ignore-paths
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...