2009-08-19 10 views
0

別の質問では、あなたがcvs adminコマンドにアクセスできると仮定してHow do you rename a branch in CVS?をカバーしています。管理者権限を持たないCVSのブランチの名前を変更するにはどうすればよいですか?

cvs adminコマンドを使用せずにこれを行うことはできますか?

+0

ちょうどメモ(私はおそらくもともと追加しておくべきです)。 私はこの質問を、別のユーザーが元の質問で尋ねたとおりに提起しました。 – kwutchak

答えて

1

「名前を変更する」か「番号を付け直す」という意味ですか?

ブランチタグはCVSで少し奇妙です。タグ名は、バージョンリビジョンではなくブランチリビジョンにラベル付けする点で特別なものです。

最後のブランチを作成したのと同じポイント(そこにタグがある限り)に新しいブランチを作成し、古いブランチタグ名を削除することができます。 (ブランチは決して実際には消えませんが、それは問題ではありません)。しかし、すでにブランチに加えられた変更は失われます。

それ以外の場合は、すべてのリビジョン番号が2レベル長くなり、ブランチグラフツールがより複雑な構造を示すことを除いて、名前を変更すると同じ効果が得られるブランチから再分岐することができます。

私はこれを使って遊んでから数年経っていますが、CVSでは、特殊なブランチのリビジョン番号(レベルが奇数で、または最後から2番目のレベル== 0)。

問題は、リポジトリ内のすべてのファイルが異なるリビジョンで分岐しているため、適切なリビジョンですべてのファイルを個別にリトレッジする必要があることです。

新しいブランチを作成したら、古いブランチタグを削除するだけで、ブランチからその名前を削除し、ブランチはそのまま残しておくだけです。

+0

Synoxは私の答えに興味深いコメントをしました。私の答えはここでも重要です。 ブランチを削除するには管理者アクセスが必要です。つまり、この方法はこの問題のシナリオでは機能しません。 – kwutchak

0

これは可能ですが醜いです!

実際には、すべてのバージョンを含むブランチを新しい名前で再作成する必要があります。これが完了したら、以前の名前のブランチタグを削除できます。

ブランチがたくさんのファイルと多数のバージョンを含んでいたら、スクリプトを書いてみたいですね;)。

+0

ブランチタグを削除しても管理アクセスが不要ですか? – Synox

+0

それは良い点です。ブランチ名を新しいバージョン番号に移動するには、ブランチを強制的に再作成することができます。私はこれを試していない。 – kwutchak

関連する問題