cvsであるプロジェクトAとプロジェクトBの差分を取る方法。

その差分をプロジェクトBに適応する方法。

を教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/09/14 14:37:00
  • 終了:--

回答(2件)

id:dev_zer0 No.1

dev_zer0回答回数332ベストアンサー獲得回数252005/09/14 16:14:13

ポイント25pt

http://www.sodan.org/~penny/vc/cvs-ja_5.html#SEC54

CVS--Concurrent Versions System v1.11.17: Branching and merging

プロジェクトAとプロジェクトBがブランチされていなければ、cvsでの差分取得は不可能です。

ブランチされていれば差分抽出は

cvs diff -r プロジェクトA -r プロジェクトB

適用(マージ)方法は

cvs update -j ブランチA -j ブランチB

です。


差分と言うことはプロジェクトAとプロジェクトBは似通っていると言うことであり、cvsで管理するならブランチで管理すべきです

何らかの理由でブランチで管理していない場合、unixコマンドで一つ一つのファイルに対し


diff -n プロジェクトA プロジェクトB > diff.txt

echo w >> diff.txt

ed プロジェクトB < diff.txt

と行うぐらいしか考えつきません。

id:kunitz

ありがとうございます!

2005/09/14 16:44:58
id:Error401 No.2

Error401回答回数1ベストアンサー獲得回数02005/09/15 10:10:09

ポイント25pt

diffを使う場合は、

$ diff -r projectB_dir projectA_dir > project.diff

$ cd projectB_dir

$ patch -p1 < ../project.diff

で、ディレクトリ丸ごとの比較とパッチの適用ができます。


#この作業を行う場合は、projectB_dirのバックアップを取っておくこと。

id:kunitz

ありがとうございます!

2005/09/20 01:01:45

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません