2009-02-26 12 views
1

私たちはSVNを使用してWeb開発を管理しています。 1つのプロジェクトでは、プロジェクトをエクスポートし、それをクライアントのサーバーにFTPすることでサイトを展開しました。このクライアントは手元にあり、FTP上のコードに変更を加えました。私たちは今、サイトに機能を追加するために雇われています。SVN FTPで行われた変更を作業コピーにマージ

FTPで行われた作業を作業コピーにマージするにはどうすればよいですか?私はsvnの小道具や外部を保存して、変更されたファイルのみを更新したいので、diffを使ってそれらの変更を追跡することができます。ありがとう!

答えて

3

ローカル作業コピーにフォルダをコピーし、変更されたファイルを上書きします。これで、通常コミットできるすべての変更を含む作業コピーが作成されました。 アップデート1:どれでも変わらないファイルのような検出されますので、(亀を使用して、少なくとも)コミットされません

+0

また、バージョン管理されていないファイルがないかどうかをチェックしてコピーの前後にチェックを入れ、新しいファイルをチェックインすることをお勧めします。 –

+0

ディレクトリ全体を置き換えずにファイルをコピーする優れたコマンドライン方式?私はすべての.svnフォルダを破壊したくありません。ファイルを移動するだけです。本当にありがとう! – weotch

+0

あなたはどのような環境にいますか?/on windows通常のファイルエクスプローラからコピーするだけで、フォルダ/ファイルを追加してファイルを置き換えるので、.svnフォルダはまだそこにあります。 – eglasius

1

まず、あなたがあなたのローカルコピーにコミットされていない変更を持っていないことを確認してください。あなたがそうしていて、彼らが安定しているなら、それらを託す。不安定な変更がある場合は、ヘッドリビジョンから新しくチェックアウトを作成する方がよいでしょう。次に、次の手順に従います。

  1. 現在のヘッドリビジョンのタグ/ブランチを作成します。
  2. ローカルコピーをヘッドリビジョンに更新します。ローカルの作業コピーにダウンロードされたコードをコピーし
  3. FTPから上書きした後に変更されたファイルのための
  4. チェックコードをダウンロードして
  5. (上記のコメントを参照してください)。
  6. diffツールを使用して変更されたファイルをマージします。
  7. マージされたファイルをコミットします。
  8. 何か問題が生じた場合は、手順1で作成したタグ/ブランチにロールバックしてもう一度やり直すことができます。
0

git、bazaar、またはmercurialのような分散バージョン管理システムを試してみるのはどうですか?あなたが必要とするものとまったく同じように聞こえる。

クライアントはリポジトリをクローンしてローカルにコミットすることができます。その後、完了したらレポをマージすることができます。この方法では、クライアントからのすべての履歴は保持されますが、FTPでは維持されません。

関連する問題