0

現在、opencart サイトに取り組んでおり、opencarts ソースを自分の SVN ( https://github.com/opencart/opencart )に統合したいと考えています。

目標は、OpenCart のコア ファイルを独自にカスタマイズし、新しいバージョンのオープン カートがリリースされたときに、その変更をローカル バージョンに統合できるようにすることです。

ソース構造は次のように考えていました。

  • /trunk/opencart- 私のカスタムバージョンのオープンカート
  • /vendor/opencart- 現在のオープンカート トランク。

意図したワークフローは、最新のオープン カートをサーバーから取得し、ローカル マージをトランクに実行することです。現在、私は SVN と TortoiseSVN に非常に慣れていないため、これを正しく設定するのに苦労しています。

私の現在のセットアップは、TortoiseSVN 1.8.0、ビルド 24401 - 64 ビットを実行している Windows7 です。私のローカルサーバーには、Ubuntu 13.04 64bit と svn、バージョン 1.7.5 (r1336830) があります。

チェックインおよびチェックアウトできるリポジトリをセットアップし、外部参照を使用してベンダー フォルダーに外部参照を作成しました。しかし、この外部データからメイン トランクを生成するのに苦労しています。vendor/opencartからに分岐しようとすると、ローカル サーバーではなく、trunk/opencartその分岐を生成しようとします。https://github.com/opencart/opencart(リポジトリが読み取り専用であるため、これは正しく失敗します)。

trunk/opencart空のフォルダーで SVN でマージを実行しようとするとvendor/opencart、トランク フォルダーに祖先がないため、問題も発生します。私は複数の情報源を読みました-私のアプローチを使用すると言う人もいれば、svnsyncを使用する必要があると言う人もいます。

最良/最も簡単なアプローチは何ですか? 理想的には、ソースを別のフォルダーにダンプするのではなく、SVN に最新のソースをプルしてもらいたいと考えています。

4

1 に答える 1

0
  1. Subversion の svn:externals について再読する
  2. この Git リポジトリの Subversion URL を取得します (SVN は Git と直接通信できません) - サイドバーの「Subversion チェックアウト URL」であり、Repo ブラウザーで開き、必要なサブツリーを選択します - ブランチまたはトランクにすることができます。フルを覚えておいてください必要なサブツリーへの URL (fe、https://github.com/opencart/opencart/trunk/uploadのいずれか)
  3. 外部リポジトリをマウントするリポジトリの場所を定義します (/vendor/opencart URL にします)。
  4. マウントポイントの親 (親がまだ存在しない場合は、この例では親の親) を作業に関係のない新しい作業コピーにチェックアウトします。
  5. WC ルートに新しいフォルダを作成 (通常、通常、標準) ベンダー
  6. フォルダーの場合vendor、TSVN のウィザードで新しい svn-propery svn:externals を追加します
  7. 変更をコミットする
  8. 結果を確認する

PS:この URL https://subversion.assembla.com/svn/subversion-troubleshoot-b/trunkで (checkout, inspect) を見ることができます (トランクのサブディレクトリlibは svn:external to別のリポジトリ サブツリー)

PPS:開始時点では、トランクは空である可能性があります。マージ/vendor/opencartして、トランク内のコードの初期のバニラ状態を取得し、その上に独自の変更を加えます

外観サンプル

于 2013-07-15T16:08:42.793 に答える