Каждый раз, когда кто-то спрашивает, что сделать с кодом, который больше не необходим, ответ обычно, "удаляют его, восстанавливают его от управления исходным кодом, если Вам нужен он назад".
Теперь, как я нахожу что часть исходного кода в репозитории? Давайте ограничим объем SVN для простоты - я подозреваю, что использование любой другой системы управления исходным кодом не будет иметь большого значения в этом аспекте (исправьте меня, если я неправ).
Если я буду удалять тот код и буду фиксировать изменения, то это больше не будет в последнем пересмотре. Как я нахожу его, не экспортируя каждый пересмотр и ища полностью (который почти невозможен)?
Самый правильный ответ: нельзя. Существуют методы, которые помогут вам с этой задачей, но это невозможно сделать автоматически, потому что:
Компьютер не может читать наши мысли. Тем не менее, есть, конечно, и другие инструменты, которые вам помогут, такие как упомянутые, или графические интерфейсы, такие как trac (которые мне очень нравятся для этой цели).
Вам нужно использовать инструмент различий, они есть в большинстве репозиториев svn. Щелкните правой кнопкой мыши файл, который вы хотите откатить, и выберите «diff» или «разница» или аналогичный (расходы на реализацию), а затем он попросит сравнить текущую версию с более ранней версией - если вы знаете приблизительную дату более ранней версии. затем выберите эту версию (отметки даты / времени обычно очевидны), и вы увидите две версии рядом. Затем вы можете выбрать, какие биты разные (обычно окрашены в красный цвет), щелкните их правой кнопкой мыши и выберите их интегрирование.
Клиентский инструмент, который вы используете для SVN, определит детали.
Предположительно, комментарии к коду или комментарии к ревизии содержат ключевые слова для выберите фрагмент кода, который вы ищете:
SVN Query - http://svnquery.tigris.org/
«SvnQuery - это быстрая полнотекстовая поисковая машина для репозиториев подрывной деятельности. Она выполняет поиск в каждом файл в каждой ревизии. Индексируется не только содержимое файла , но также его полные метаданные , такие как путь, автор, комментарии и свойства. Предоставляется простой, похожий на Google веб-интерфейс, но ожидается, что библиотеку запросов и механизм индексации можно будет повторно использовать в других интерфейсах, например, в веб-сервисе или подключаемом модуле Visual Studio.
SvnQuery реализован в C # 3.0. и ASP.NET используется для веб-интерфейса. Полнотекстовый поиск выполняется Lucene.Net, что обеспечивает поразительную производительность ... "
Язык запросов i описаны здесь:
http://svnquery.tigris.org/servlets/ProjectProcess?pageID=o0dpdE&freeformpage=SvnWebQueryHelp
Я думаю о дате, когда я знал, что отсутствующий код был активен, и извлекаю все исходное дерево, как оно было в эту дату . Если я ошибаюсь в дате, я использую x день / неделю / месяц в обе стороны, пока не остановлюсь на нем.
svn checkout --revision {2002-02-17}
Другой способ - поиск сообщения журнала - вы, вероятно, оставили комментарий примерно следующего содержания:
Удалена функциональность XYZ
, когда вы внесли изменения.