コマンドラインから (質問 1 への回答):
$ cd $DEVROOT/トランク
$ svn マージ http://company.org/svn/proj/branches/BranchA
....
$ svn ci -m 'マージされたBranchA'
$ cd rm -m 'BranchB は既にマージされています' http://company.org/svn/proj/branches/BranchA
$ svn マージ http://company.org/svn/proj/branches/BranchB
....
$ svn ci -m 'マージされたBranchB'
$ cd rm -m 'BranchB は既にマージされています' http://company.org/svn/proj/branches/BranchB
トランクをブランチにマージし、マージをトランクに戻すことは、SVN の有効な使用方法ではありません。なぜ - 読む:
あなたの実際の要件がわからないため、質問2には答えられません...公式ガイドを読むことをお勧めします:
また、機能開発には機能リーフを使用し、長期バージョン サポートにはブランチリーフを使用し、リリースにはタグを使用することを提案します。
また、ブランチを削除することはお勧めしません。なんで?SVNで削除してもリポジトリは小さくならないため... svn lsの出力を短くするだけです...
私のガイドを見てください:
ここでt - タグ、b - ブランチ:
+--+-----+----------------------+-----+----+------ +--------+----->
開発| | | ^ ^ | | | | | | | | |
| | | | | | | | | | | | vvv
| | | | | | | | | | | | +--+------+------+-->
| | | | | | | | | | | | b2 | | | | |
| | | | | | | | | | | | vvv
| | | | | | | | | | | | t2.0.0 t2.0.1 t2.1.0
vv | | | vv
t0.1.0 +---+------+-+---+-+-----+------+------+------+ ------+----->
b1 | | | | | | | | | | | | | | |
vvvvvvvv
t1.0.0 t1.0.1 t1.0.2 t1.1.0 t1.2.0 t1.2.1 t1.2.2 t1.2.3
この例では、開発ブランチは本番用の準備ができていなかったため、タグ1.0.1と1.0.2をリリースし、ブランチ1でバグ修正を行い
ます。