9

Linux でホストされている Subversion リポジトリがありますが、大規模な Windows アプリケーションのソースであるため、Windows クライアント経由でしかアクセスできません。

このリポジトリで git-svn (msysgit 提供) を使用して作業できれば最高です。

Windows スタイルの行末でリポジトリが詰まらないようにしようと、かなりの時間を費やしています。

svn clone以下を使用して git リポジトリをチェックアウトした後:

  • core.autocrlf = trueLFリポジトリで実際に使用するファイルへの変更を示します。
  • core.autocrlf = inputLFリポジトリで実際に使用するファイルへの変更を示します。
  • core.autocrlf = falseすべての変更を示します。

ここで最良の選択肢は何ですか?影響を受けるファイルの変更を使用core.autocrlf = trueしてコミットするLF必要がありますか?CRLF

私はタオルを投げ入れて、Subversion の作業コピーを git リポジトリに入れることに非常に近づいています。これは不十分な解決策ですが、少なくともローカル ブランチとスタッシュを許可します。ファイルが Subversion に追加されたときにファイルを追加し続けるのは、明らかに大きな苦痛になります。

編集:興味のある人のために。git-svnあなたがWindowsを使用している場合、王室の痛みです。以下のhasen jの答えはおそらく正しいものですが、私のチームの他の開発者の怒りを引き付けずに彼のアドバイスに従うことはできません.

合理的な結果につながらないため、この質問は本質的に放棄します。次の Google Summer of Code が、「Windows での適切な git-svn サポート」プロジェクトを取り上げたいと考えている人を引き付けることを願っています。http://git.or.cz/gitwiki/SoC2009Ideas#Propergit-svnsupportonWindowsを参照してください。

4

6 に答える 6

6

行末を台無しにせず、そのままにしておいてください。に設定autocrlffalseます。

Windows の半適切なテキスト エディターは、UNIX スタイルの行末を処理できる必要があります。

core.autocrlf = false は、すべての変更を示します。

後になってからだと、何の役にも立たないと思います。

このリポジトリを削除し、autocrlf を false に設定してからクローンを作成する必要があります。

于 2009-07-01T02:22:03.883 に答える
1

同様の問題がありました。それを解決するために、git-svn のクローンを作成した後、すべてのファイルに unix2dos を適用しました。これは、私の場合、SVN リポジトリ内のすべてのファイルが CRLF を使用していたためです。したがって、git-svn の直後に手動で CRLF-LF 変換を試す必要があると思います。

于 2009-07-01T01:46:41.893 に答える
1

私の他の答えはあなたには当てはまらないので、状況に対処する別の方法を次に示します。

svn と git の両方を使用します。同じ作業ディレクトリにあります。

主に git を操作し、アップストリーム リポジトリからプルし、ローカルで変更を加えたり、ローカル ブランチを作成したりします。ローカル git プロジェクトで作業するときに通常行うすべてのこと。

次に、中央の svn リポジトリにコミットする場合は、svn クライアントを使用します。

私はこれを行った経験がありsvn commitましたがsvn diff、私は .

于 2009-07-01T08:20:25.803 に答える
1

私は通常、git-svn クローンをgit-filter-branchoverでクリーンアップしrecode dos..ascii -fます。(これはlatin1..utf8コンバージョンにも役立ちました。)

于 2009-07-01T02:19:14.420 に答える
0

についての別の良い会話がここcore.autocrlfにあります。

于 2009-07-21T02:44:44.697 に答える
0

通常、次のようにcore.autocrlfオプションを設定します。

git config core.autocrlf true

しかし、この記事によると、特に git-svn ではうまく機能しないようです。SVN リポジトリの安全な 2 番目のコピーを試して、動作するかどうかを確認する価値があるかもしれません。

于 2009-07-01T02:14:59.530 に答える