28

私の会社ではソース管理に Accurev を使用していますが、そのすべてのメリットに対して、達成方法がわからない単純なアクションが 1 つあります。

たとえば、「開発」ストリームから「リリース」ストリームなど、誤ってストリーム構造内でファイルをプッシュしすぎてしまうことがよくあります。このファイルを「昇格解除」する最善の方法は何ですか? つまり、古いバージョンのファイルを "Release" ストリームに戻し、新しいバージョンのファイルを "Development" ストリームに保持するには、それはどこに属しますか?

リリース ストリーム内のファイルに対して「バックに戻す」またはその他の元に戻すアクションを実行するだけで、ファイルの古いバージョンが開発に伝播するか、ファイルが完全に消えてしまいます。

上記の場合、開発者はストリームに基本時間を設定してフープをジャンプするか、コマンド ライン ツールを使用して古いトランザクションをチェックアウトし、ファイルを取り戻す必要があります。問題の人が技術者ではない場合もあるため、これは適切な解決策ではありません。

また、ファイルを「高地」ストリームに移動し、元に戻してから、それらを再び低地ストリームに相互昇格することも検討しました。これは本当に厄介なようです。

Accurev はあまり知られていないため、Google は役に立たないようです。そこで、私は StackOverflow の善良な人々に助けを求めます。これを達成するための「Accurev」の方法を見つけた人はいますか?

4

4 に答える 4

30
  1. メイン ストリーム ブラウザに移動

  2. 誤って昇格したストリームを右クリックし、[履歴を表示] を選択します。

  3. 履歴ブラウザーで、元に戻したいプロモーションを右クリックし、[元に戻す] を選択します。

  4. 元に戻した結果をどのワークスペースに配置するかを尋ねるプロンプトが表示されます。必要に応じて、誤ってプロモートしたワークスペースを選択できます。

  5. ワークスペースで、ファイルは誤ってプロモートされる前の状態に戻るはずです。これで、それを上のストリームに戻すことができます。ストリームには、誤ったプロモートが削除されたバージョンのファイルが含まれるようになります。

  6. ワークスペースには問題のファイルが含まれていないことに注意してください。その場合は、ストリームの履歴ブラウザーに戻り、作成したばかりのプロモート (編集が元に戻されたプロモート) を右クリックし、[元に戻す] を選択します。その後、宛先と同じワークスペースを選択できます。

  7. ファイルはおそらくワークスペースの既定のグループに表示され、競合するため、ロットを選択してマージを実行します。ここでは、些細なマージを受け入れたいと思うでしょう。

ファイルをマージすると、保留中のフィルターに表示されます。誤ってプロモートする前と同じファイルが保留中になっているはずです。また、上記のストリームのファイルには、プロモートする前と同じ内容が含まれているはずです。

そのように単純です(皮肉なことを意図しています)。

スティーブ

于 2010-04-08T14:44:18.697 に答える
12

accurev の監査に適した追加専用の性質は、変更を元に戻すことは、必要なバージョンを再適用することを意味します。直感的に、「1 ステップ」後退したいと思うでしょう。しかし、追加のみのシステムでは、これは実際には、古いバージョンを先に進めて再適用することを意味します。したがって、元に戻すことは、当然、「1 歩戻る」プロセスではなく、「2 歩進む」プロセスです。

ほとんどの状況では、元に戻すことはそれほど頻繁には発生しないため、「追加のみ」のグローバルな値は元に戻すレシピ (IMO) を上回ります。

ワンストップショップの一貫したソリューションとして、最も正確なアプローチは(あなたが言及したように)プロモートトランザクションを元に戻すことです. ストリーム履歴を表示し、不要なプロモートを見つけて、RClick > 元に戻します。子ワークスペースが必要になります..なぜですか? 元に戻すには、マージ解除が必要になる場合があるためです。インタースティシャル プロモートを元に戻すことを考えてみてください。これは、サンドイッチからレタスを取り出し、上部と下部のバンズを一緒にする必要があるようなものです。txn ベースのシステムでのみ、その復帰にトマト、マスタード、セロリの塩を含めることができ、単一の「元に戻す」ことができます。そのため、マージの変更が存在する場合は、それを保存する必要があります。いずれにせよ、最新のプロモートを元に戻す場合でも、ワークスペースへの変更を元に戻し、[時折] マージを実行し、すべてをプロモートします。

簡単に言えば。CM システムでの復帰は手術に少し似ているため、関係者の関与が必要になる可能性があります。

一歩後退。私は accurev ストリームを利用してコードをより早く検証し、検証された場合にのみチェーンを昇格させる傾向があります。したがって、上位に昇進するほど、元に戻す可能性は低くなります。

于 2010-03-10T06:53:16.243 に答える
5

AccuRev バージョン 5.2 では、ワークスペースを使用せずに、トランザクションまたは問題をストリームで直接元に戻す機能が導入されています。これは、「リリース」ストリームの変更を元に戻すのに役立ちますが、質問の 2 番目の部分 (新しいバージョンを「開発」ストリームに戻すこと) を解決しません。完全な「昇格/降格」機能は、将来のリリース。

バージョン 5.2 の詳細については、次のリリース ノートを参照してください -

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

于 2011-07-06T15:55:18.493 に答える
2

これは完全に冗談ではありませんが、Mercurial をローカルで実行し、この状況に遭遇したときに Mercurial をロールバックし、Accurev に再昇格してから、Mercurial を再びロールフォワードすることができます。私の職場の何人かの開発者は、Accurev を使用するのが非常に面倒だと感じているため、このパターンが注目を集めています。

于 2012-08-20T19:40:33.943 に答える