fluentmigrator のフォークであるguthubにリポジトリがあります。これは私の最初の git への進出であり、フォークとアップストリーム リポジトリの間の空白の競合をクリーンアップできない状況に陥りました。
私は Windows 7 で実行しており、msysgit クライアントを使用しています。リンクされたリポジトリは次のとおりです
$ git remote -v
origin https://github.com/lscharen/fluentmigrator (fetch)
origin https://github.com/lscharen/fluentmigrator (push)
upstream http://www.github.com/schambers/fluentmigrator (fetch)
upstream http://www.github.com/schambers/fluentmigrator (push)
私のローカル リポジトリは、私の github リポジトリで最新のものであり、アップストリーム リポジトリに対していくつかの変更があります
lscharen@LSCHAREN01 /c/checkout/fluentmigrator (master)
$ git diff --stat origin/master
lscharen@LSCHAREN01 /c/checkout/fluentmigrator (master)
$ git diff --stat upstream/master
src/FluentMigrator.Console/MigratorConsole.cs | 563 ++++++++++----------
.../Initialization/IRunnerContext.cs | 1 +
.../Initialization/RunnerContext.cs | 1 +
src/FluentMigrator.Runner/MigrationLoader.cs | 193 ++++----
src/FluentMigrator.Runner/MigrationRunner.cs | 4 +-
src/FluentMigrator.Runner/VersionLoader.cs | 343 +++++++------
.../Versioning/VersionMigration.cs | 221 +++++----
.../Unit/TestVersionTableMetaData.cs | 105 ++--
.../Unit/VersionLoaderTests.cs | 272 +++++-----
.../Infrastructure/DefaultMigrationConventions.cs | 252 +++++-----
.../Infrastructure/MigrationMetadata.cs | 91 ++--
src/FluentMigrator/MigrationAttribute.cs | 70 ++--
.../DefaultVersionTableMetaData.cs | 84 ++--
.../VersionTableInfo/IVersionTableMetaData.cs | 57 ++-
14 files changed, 1182 insertions(+), 1075 deletions(-)
これらのファイルの一部の変更は、純粋な EOL の問題です。差分を見て、src/FluentMigrator.Console/MigratorConsole.cs
空白を無視すると。
$ git diff --stat -w upstream/master src/FluentMigrator.Console/MigratorConsole.cs
src/FluentMigrator.Console/MigratorConsole.cs | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)
さまざまなSOの回答からの設定に関するアドバイスに従って問題を解決しようとしましたcore.autocrlf
が、ファイルが更新され、 との差分が表示される状態にあるようには見えませんがorigin
、upstream
.
これが私が試したことです。
この回答core.autocrlf input
から設定
$ git rm --cached src/FluentMigrator.Console/MigratorConsole.cs
rm 'src/FluentMigrator.Console/MigratorConsole.cs'
$ git config core.autocrlf input
$ git add src/FluentMigrator.Console/MigratorConsole.cs
$ git diff --stat upstream/master src/FluentMigrator.Console/MigratorConsole.cs
src/FluentMigrator.Console/MigratorConsole.cs | 563 +++++++++++++------------
1 files changed, 287 insertions(+), 276 deletions(-)
core.autocrlf false
dos2unix で設定して手動で変換する
$ git config core.autocrlf false
$ dos2unix src/FluentMigrator.Console/MigratorConsole.cs
$ git diff --stat upstream/master src/FluentMigrator.Console/MigratorConsole.cs
src/FluentMigrator.Console/MigratorConsole.cs | 17 ++++++++++++++---
1 files changed, 14 insertions(+), 3 deletions(-)
近い!^M
しかし、diff に挿入された各行の最後にぶら下がっている文字があります。
+ public string Group;^M
設定git config core.whitespace cr-at-eol
によりdiff
見た目は正しくなりましたが、このファイルをコミットすると、互換性のない空白文字がリポジトリに追加されるのではないかと心配しています。
プル リクエストのフォークを修正しようとしているので、この問題に対処するための一般的なアドバイスをいただければ幸いです。