Как я могу сделать частичное обновление (то есть получить изолированные наборы изменений) из Subversion с помощью Subclipse? - PullRequest
0 голосов
/ 06 апреля 2010

Если файл фиксируется несколько раз с различными изменениями, как я могу получить одно изменение за раз, то есть один набор изменений за раз?

Я использую eclipse, subversion и subclipse, и пока не могу изменить первые два (или платформу MS ..).

В моем представлении «Команда / Синхронизация» в Eclipse (с использованием подклипа) при выборе модели набора изменений файл представляется в списке только в последнем соответствующем наборе изменений, даже если перечислены все наборы изменений. Таким образом, более ранняя ревизия не обязательно показывает полный набор файлов в исходном коммите, а также оригинальный diff для файла в коммите.

Обновление: я думаю об использовании наборов изменений для упрощенного просмотра кода, поэтому я хотел бы, чтобы частичное обновление было представлено для всех файлов, переданных в одном наборе изменений. В eclipse легко получить различия и конкретные ревизии для определенных файлов, но я бы хотел практично просмотреть все изменения в одном конкретном коммите / наборе изменений.

Ответы [ 2 ]

0 голосов
/ 01 марта 2011

Subversion не поддерживает атомарные ревизии.

(Примечание: если кто-то может доказать, что я не прав, я с радостью поменяю принятый ответ.)

Я сравнил Git и Subversion, используя TortoiseGit и TortoiseSVN (и посмотрел, что возможно в командной строке).

С помощью Svn и Git я могу обновиться до определенной ревизии или одновременно просматривать и обновлять до разных версий только одного файла.

С обоими клиентами Tortoise я могу видеть отдельные фиксации (ревизии) из репозитория и просматривать изменения между ревизией и предыдущей ревизией. (Обратите внимание, что я не могу сделать это в Eclipse, см. Вопрос.)

Однако, только с помощью Git я могу обновлять или выбирать отдельные коммиты. Наиболее близким, что я видел к этой функциональности в Subversion, является обновление до заголовка и затем возвращение определенной ревизии с "вычитающим слиянием" ...

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

0 голосов
/ 06 апреля 2010

Как я уверен, вы знаете, svn up по умолчанию захватит последнюю версию файла.

Однако вы можете использовать параметр -r для svn up, чтобы получить конкретную версиюфайла.Так что, если вы знаете, что файл был зафиксирован в ревизиях 5, 7 и 9, вы можете сделать это:

svn up -r5 myfile
svn up -r7 myfile
svn up -r9 myfile

Я считаю (но у меня нет установки перед ним)Subclipse имеет похожую опцию, помеченную как «Обновить до ревизии ...»

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