Лучший способ "раскрутить" файлы в Accurev?

Моя компания использует Accurev для управления исходным кодом, и при всех его преимуществах есть одно простое действие, которое я просто не могу понять, как его выполнить.

Часто кто-то случайно толкает файл слишком высоко в нашей структуре потока - например, из потока "Разработка" в поток "Релиз". Каков наилучший способ отменить продвижение этого файла? То есть вернуть старую версию файла в поток "Release" и сохранить новую версию файла в потоке "Development", где он находится?

Простое выполнение "Вернуть в резервное копирование" или другое действие "Восстановить" в файле в потоке выпуска приведет к тому, что старая версия файла будет распространена вниз в Development, или файл полностью исчезнет.

В приведенном выше случае разработчику придется перепрыгивать через циклы с настройкой базового времени для потоков или использовать инструмент командной строки для проверки старой транзакции, чтобы получить файл обратно. Иногда эти люди нетехнические, так что это не хорошее решение.

Я также подумал о том, чтобы переместить файлы в "более высокий уровень" потока, вернуть их обратно, а затем снова перевести их в нижний поток. Это кажется действительно грязным.

Кажется, что Accurev достаточно неясен, что Google не помогает, поэтому я обращаюсь к добрым людям Stackru за помощью - кто-нибудь придумал способ "Accurevy" для достижения этой цели?

4 ответа

Решение
  1. Перейти в браузер основного потока

  2. Щелкните правой кнопкой мыши по потоку, который вы случайно повысили, и выберите "Показать историю".

  3. В браузере истории щелкните правой кнопкой мыши на рекламной акции, которую вы хотите отменить, и выберите "Вернуть".

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

  5. В вашем рабочем пространстве файлы должны быть возвращены в состояние до случайного продвижения. Теперь вы можете продвинуть это обратно в поток выше. Поток теперь будет содержать версии файлов, которые были удалены из вашего случайного продвижения.

  6. Вы можете заметить, что ваше рабочее пространство больше не содержит никаких файлов, о которых идет речь, но, вероятно, вы хотите вернуть файлы, которые вы случайно добавили, в свое рабочее пространство? Если это так, вернитесь в браузер истории для потока, щелкните правой кнопкой мыши на рекламе, которую вы только что сделали (акция с отмененными изменениями в), и выберите "Вернуть". Затем вы можете выбрать ту же рабочую область, что и пункт назначения.

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

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

Все просто (ирония предназначена).

Стив

Удобный для аудита, только для добавления характер accurev действительно означает, что отмена изменения означает повторное применение версии, которую вы хотите. Интуитивно, вы хотите вернуться назад "1 шаг". Но в системе с добавлением только это действительно означает продвижение вперед и повторное применение старой версии. Таким образом, возврат, естественно, представляет собой процесс "на 2 шага вперед" вместо "на 1 шаг назад".

В большинстве случаев возврат происходит не так часто, поэтому глобальное значение "только добавление" перевешивает рецепт возврата (IMO).

Как единообразное решение "единого окна", наиболее точным подходом (как вы упоминаете) является возврат транзакции продвижения. Просмотрите историю потоков, найдите нежелательное продвижение, RClick > Revert. Вам понадобится детское рабочее место.. почему? потому что выполнение возврата может потребовать слияния. Подумайте о том, чтобы отменить промежуточную рекламу... это все равно, что вынуть салат из бутерброда и объединить верхнюю и нижнюю булочки. Только в системе, основанной на txn, этот возврат может также включать томатную, горчичную и сельдерейную соли и как единое "отмена". Поэтому вам нужно сохранить изменения слияния, если таковые существуют. В любом случае, и даже если вы просто отменяете последнее повышение, просто верните изменения в рабочее пространство, выполните [случайное] объединение и продвиньте все наверх.

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

Делая шаг назад. Я склонен использовать преимущества потоков Acurev для проверки кода раньше, чем часто, и продвигать цепочку вверх только после проверки. так что вероятность возврата меньше, когда вы продвигаетесь выше.

AccuRev версии 5.2 предоставляет возможность отменять транзакцию или выпуск непосредственно в потоке, не задействуя рабочее пространство. Это полезно для отмены изменения в потоке "release", но не решает вторую часть вашего вопроса (чтобы вернуть новую версию в поток "development". Полная функция "unpromote / demote" запланирована для будущий выпуск.

Для получения дополнительной информации о версии 5.2 посетите заметки о выпуске по адресу -

http://www.accurev.com/download/docs/5.2.0_books/AccuRev_5_2_0_Install_Release_Notes.pdf

Я говорю это не совсем издевательски, но вы можете запустить Mercurial локально, а затем, когда столкнетесь с такой ситуацией, откатить свой Mercurial, повторно повысить его до Accurev, а затем снова развернуть Mercurial вперед. Некоторые разработчики на моем рабочем месте считают Accurev настолько обременительным в использовании, что этот шаблон набирает обороты.

Другие вопросы по тегам