Подтвердить что ты не робот

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

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

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

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

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

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

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

4b9b3361

Ответ 1

  • Перейдите в браузер основного потока

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

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

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

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

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

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

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

Простой, как это (ирония).

Стив

Ответ 2

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

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

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

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

Сделаем шаг назад. Я склонен использовать потоки accurev для проверки кода раньше, чем часто, и продвижения цепи только при проверке. поэтому вероятность возврата меньше, поскольку вы продвигаете выше.

Ответ 3

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

Подробнее о версии 5.2 читайте в примечаниях к выпуску на странице

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

Ответ 4

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