файл / папка "уже находится под контролем версий" - PullRequest
0 голосов
/ 21 февраля 2020

Я нашел этот вопрос , но из того, что я могу сказать, SVN теперь имеет только одну папку .svn, и решение не работает.

Я пытаюсь выпустить новую версию моего проекта - плагин WP на репо WP. Я копирую и вставляю встроенные файлы в trunk /, а затем делаю svn add trunk/*. Это ошибка:

svn: warning: W150002: 'trunk/LICENSE.txt' is already under version control
svn: warning: W150002: 'trunk/README.txt' is already under version control
svn: warning: W150002: 'trunk/admin' is already under version control
svn: warning: W150002: 'trunk/includes' is already under version control
svn: warning: W150002: 'trunk/index.php' is already under version control
svn: warning: W150002: 'trunk/languages' is already under version control
svn: warning: W150002: 'trunk/plugin-name.php' is already under version control
svn: warning: W150002: 'trunk/public' is already under version control
svn: warning: W150002: 'trunk/uninstall.php' is already under version control

Я попытался удалить папку транка, даже удалил весь репо и выписал снова. Пожалуйста, помогите!

1 Ответ

0 голосов
/ 24 февраля 2020

Вы добавляете материал, который уже существует. Простой ответ - заставить его:

svn add * --force

--force будет "игнорировать уже версионные пути". Он также будет работать рекурсивно, что означает, что все неверсионные файлы будут добавлены в ваш репозиторий. Вам все еще нужно будет svn commit, когда вы будете готовы. Если вы получаете какие-либо предупреждения, что что-то уже добавлено, вы можете просто проигнорировать это.


Вот более надежное решение, которое, я думаю, будет работать лучше для вас:

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

Если IFF верно, выполните следующие действия:

  1. Из вашей рабочей копии удалите все локальное содержимое. Это уничтожит все локальные изменения:
rm -rf *
Извлеките код, которым вы хотите быть в своем хранилище, в свое хранилище. Если это просто другой каталог, просто скопируйте его. Я распаковываю архив в текущий каталог.
tar -xf ../project-release_1.2.tar.gz --strip-components=1 .
Если вы запустите svn status на этом этапе, вы увидите некоторые измененные файлы (M), некоторые новые (неверсированные) файлы: (?) и некоторые удаленные (отсутствующие) файлы (!). Перед фиксацией нам нужно добавить новые файлы (изменить ? на A) и удалить удаленные файлы (изменить ! на D).
svn delete $(svn status | sed -ne '/^!/p' | awk '{print $2}')
svn add $(svn status | sed -ne '/^?/p' | awk '{print $2}')
Просмотрите результаты с помощью svn status, затем подтвердите их!
svn commit
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...