Subversion "устаревший" вопрос - PullRequest
       15

Subversion "устаревший" вопрос

1 голос
/ 04 декабря 2009

Я использую Subversion, чтобы у меня было две проверки, одна для тестирования, чтобы убедиться, что все работает, и другая, которая является общедоступным живым сайтом. Я сделал некоторые изменения на тестовом сайте, но также сделал некоторые обновления для установки WordPress. Теперь я не могу зафиксировать изменения на своем живом сайте.

[phil@sessions public_html]$ svn commit -m "this time, it's personal"
svn: Commit failed (details follow):
svn: Working copy
'/usr/local/apache/sites/nextadvisor_admin/blog/wp-content/plugins' is
missing or not locked

так что я ...

[phil@sessions public_html]$svn rm blog/wp-content/plugins --force
[phil@sessions public_html]$svn rm blog/wp-content/plugins --force
[phil@sessions public_html]$svn add blog/wp-content/plugins --force

и все файлы были добавлены заново, тогда я

[phil@sessions public_html]$ svn commit -m "this time really"
Sending        blog/.htaccess
Replacing      blog/wp-content
svn: Commit failed (details follow):
svn: Out of date: '/trunk/blog/wp-content/plugins' in transaction '186-1'

Хорошо, поэтому, когда я смотрю в Интернете, он говорит мне сделать svn update, но я попробовал это однажды, и он просто стирает все мои локальные изменения, потому что папка "blog /" не существует в моей проверочной проверке.

Мой вопрос: как я могу заставить этот коммит работать без потери локальных правок?

Обновление:

Когда я запускаю svnupdate, он говорит мне:

svn: путь к рабочей копии 'blog / wp-content / plugins' не существует в хранилище

Ответы [ 2 ]

4 голосов
/ 04 декабря 2009
  • Сохраните локально измененные файлы в копию.

  • выполнить svn update

  • Скопируйте измененные файлы обратно в версии svn update d

  • выполнить коммит.

1 голос
/ 04 декабря 2009

Если что-то устарело, сначала вы должны сделать svn update, прежде чем сможете совершить коммит. Обновление SVN не будет перезаписывать файлы, которые были изменены локально. Хотя вы утверждаете, что это так, это не так, потому что Subversion этого не делает.

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

Для того, что вы хотите сделать, вам гораздо лучше создать ветку и заняться разработкой ветки. Затем, когда вы будете готовы к запуску, добавьте ветку dev в ствол и обновите ваш live checkout.

Кроме того, вы никогда не должны вносить изменения на живом сайте. Вот для чего ваш тестовый сайт. Сайт в режиме реального времени должен рассматриваться как доступный только для чтения.

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