問題タブ [sparse-checkout]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - バージョン管理での Git サブモジュール構成
ドット ファイルを Git に保存する作業を行っていますが、ちょっとした障害に遭遇しました。contrib/completion/*.bash
Git リポジトリ ( ) の一部のスパース チェックアウトをサブモジュールとして含めたいと考えています。これを機能させることはできますが、変更をリポジトリにコミットして新しい場所に複製した後、sparse-checkout 構成が失われます。間違っている場合は訂正してください。ただし、sparse-checkout 構成がすべて親リポジトリの .git フォルダーに格納されているためだと思います。
この構成を残りのリポジトリと一緒に複製できるようにする良い方法はありますか? git submodule init
レポのクローンを作成して を発行し、ファイルgit submodule checkout
に含まれるディレクトリのみを.git/modules/git/info/sparse-checkout
チェックアウトできるようにしたいと思います。
役立つ場合、現在のリポジトリはhttps://github.com/bgshacklett/dotbashにあります。
mks - MKS サンドボックスがスパースか非スパースかをコマンド ラインから判断するにはどうすればよいですか?
コマンド ラインから MKS サンドボックスのスパース ステータスを確認するにはどうすればよいですか?
GUI からサンドボックスを選択し、「サンドボックス情報」を開くことができます。チェックボックス「スパース」が設定されている場合、サンドボックスはスパースです。
私は、スクリプトのコマンド ラインからこのステータスを判断し、サンドボックスを一時的にスパースに設定し、いくつかの操作を行ってから、元の状態に戻すのが好きです。
このコマンドsi sandboxinfo
は、sparse-status を表示しません。
svn - TortoiseSVN: SVN チェックアウト ダイアログの [このアイテムのみ] オプションを使用した後にファイルを追加する
私たちの部門は、Tortoise SVN 内で「SVN チェックアウト」オプションを使用することを計画しています。そのダイアログで、[このアイテムのみ] オプションを選択し、[アイテムを選択] ボタンをクリックして、チェックアウトするすべての関連ファイルを選択します。ユーザーが間違いを犯し、重要なファイルをチェックアウトするのを忘れたとします。戻ってトランクからそのファイル (またはファイルのリスト) を選択する最も簡単な方法は何ですか?
編集:
@Chadの回答に対する提案された変更:
A.) チェックアウトしているフォルダーまたはファイルの親フォルダーが作業コピーに存在しない場合は、次の手順を実行します。
- リポジトリのRepo-browserを開きます。
- 見逃されたファイルを右クリックし、[チェックアウト... ] を選択します。
- チェックアウト ディレクトリをファイルの移動先に修正/設定します (クリックしたフォルダのフォルダを、チェックアウトするフォルダ/ファイルの親フォルダに追加し、バックスラッシュ文字を使用していることを確認します)。
- [ OK]をクリックします。
- 「ターゲット フォルダが空ではありません」という警告が表示されます。空でないフォルダにチェックアウトするオプションを選択してください。
ファイルが作業コピーに追加されます。
免責事項: 手順 3 に従わない場合、チェックアウトしたファイルの作業コピーは、残りのファイルとは関係のない奇妙な場所に配置されます。
B.) チェックアウトしているフォルダーまたはファイルの親フォルダーが作業コピーに存在する場合は、次の手順を実行します。
- リポジトリのRepo-browserを開きます。
- チェックアウトするファイルの親フォルダーに移動します (「チェックアウト ディレクトリ」を修正する手順を回避します)。
- 見逃されたファイルを右クリックし、[チェックアウト... ] を選択します。
- [ OK]をクリックします。
- 「ターゲット フォルダが空ではありません」という警告が表示されます。空でないフォルダにチェックアウトするオプションを選択してください。
ファイルが作業コピーに追加されます。
編集#2:
@gbjbaanb の提案された回答に対する提案された更新:
新しいフォルダー/ファイルを作業コピーに含めるには:
- チェックアウトしたフォルダーのルート フォルダーを右クリック > [TortoiseSVN] を選択 > [Repo-browser] を選択
- 資格情報を入力します (TortoiseSVN > 設定 > 保存されたデータで認証がクリアされている場合) > [OK] をクリックします
- ファイル エクスプローラー パネルまたはリポジトリ ブラウザー ダイアログ内のファイル詳細パネルでアイテムを右クリック > [アイテムをリビジョンに更新] を選択 > [リビジョンに更新] ダイアログですべてのデフォルトを使用 > [OK] をクリック
- 資格情報を入力します (TortoiseSVN > 設定 > 保存されたデータで認証がクリアされている場合) > [OK] をクリックします
注: 追加するすべての新しいフォルダー/ファイルに対して、手順 3 と 4 を繰り返します。
免責事項: 新しいフォルダーまたはファイルを作業コピー/チェックアウト フォルダーに追加するだけであると仮定します。
作業コピーからフォルダー/ファイルを除外するには:
- 除外したいフォルダまたはファイルを右クリック
- Tortoise SVN > Update to Revision を選択します
- Update to Revision ダイアログの「Update Depth」セクションの下にある「Choose items...」ボタンをクリックします。
- 資格情報を入力します (TortoiseSVN > 設定 > 保存されたデータで認証がクリアされている場合) > [OK] をクリックします
- 関連するフォルダーまたはファイルのチェックを外し、[OK] をクリックします。
これは、私が非常に大きなリポジトリで使用した方法です。必要なときに必要なビットだけがチェックアウトされました。
git - 親ディレクトリへのファイルのスパース Git チェックアウト
いくつかのチュートリアルを参考にして、git リポジトリ内の特定のフォルダーをスパース チェックアウトすることができました。
たとえば、このレポのフォルダーにある、、git-completion.bash
などgit-completion.tcsh
のスクリプトの後にいるとしましょう。contrib/completion
上記の sparse-checkout は目的のフォルダーを返しますが、ネストされたファイル構造を持っているようです:
代わりにファイルを親ディレクトリにプルすることは可能ですか?
git - SVN 外部と同様に、同じレポ内の複数の場所にあるファイルをチェックアウトします
SVN リポジトリを GIT に移植しましたが、以前は svn:external ファイルがあり、GIT で認識されません。ファイルの単一のソースを持っているが、同じレポの他のディレクトリにチェックアウトされているSVNのような外部ファイルを実行することは可能ですか?
例えば:
「sparse-checkout」に関するいくつかのことを読みましたが、実際に 1 つのファイルを参照/チェックアウトする方法がわかりません。
svn - プロパティに応じた部分的な SVN チェックアウトと更新
SVN プロパティを使用して、より大きなプロジェクトの一部をコンパイルして実行するために必要なファイル/フォルダーをマークすることは可能ですか? 例: "config1:used" "config2:unused"。私は(疑似コマンド)のようなことをしたい:
svn を使用したスパース チェックアウトについては知っていますが、この機能を使用するとかなり複雑になるようです。ファイル拡張子でフィルタリングされた svn checkoutについて読みました。しかし、これは実際には答えられておらず、同じです。
svn からすべてのプロパティを再帰的に取得し、フィルターして、条件が true のファイルのみをチェックアウトすることができました。しかし、これは遅いです。proplistの更新のみを取得する方法が見つからなかったため、通常のチェックアウトに比べて更新は非常に遅くなります。単一のファイルをチェックアウトすると、更新が正しく機能しません。--set-depth=exclude オプションを指定したスパース ディレクトリは、ローカル ファイルを削除するように見えますが、.svn ディレクトリ内のデータは削除しません。そのため、多くのディスク容量が使用されます。