diff --git a/.editorconfig b/.editorconfig index c04a279..2cd5f5b 100644 --- a/.editorconfig +++ b/.editorconfig @@ -9,7 +9,9 @@ charset = utf-8 indent_style = space indent_size = 4 tab_width = 4 -end_of_line = crlf +# LF on every platform, matching the `* text=auto eol=lf` default in .gitattributes. +# Overrides below must stay in step with the eol pins in that file. +end_of_line = lf insert_final_newline = true trim_trailing_whitespace = true @@ -17,7 +19,7 @@ trim_trailing_whitespace = true [*.{cs,csx,cake,fs,fsx,vb,vbx}] indent_style = tab -file_header_template = Copyright (c) ktsu.dev\nAll rights reserved.\nLicensed under the MIT license. +file_header_template = Copyright (c) 2023-2026 ktsu-dev contributors # Default severity for all .NET Code Style rules dotnet_analyzer_diagnostic.severity = error @@ -503,4 +505,9 @@ indent_style = tab # Shell scripts [*.sh] end_of_line = lf -indent_size = 2 \ No newline at end of file +indent_size = 2 + +# Windows batch scripts and Visual Studio solution files keep CRLF on every platform. +# These match the eol=crlf pins in .gitattributes. +[*.{cmd,bat,sln}] +end_of_line = crlf \ No newline at end of file diff --git a/.gitattributes b/.gitattributes index d67e40c..a0bea35 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4,20 +4,25 @@ # Git Line Endings # ############################### -# Set default behaviour to automatically normalize line endings. -* text=auto +# Normalize all text files to LF in the repository, and check them out as LF on every +# platform. The explicit eol overrides each machine's core.autocrlf, so the working tree +# is byte-identical on Windows, Linux and macOS. This must stay in step with the +# end_of_line settings in .editorconfig. +* text=auto eol=lf -# csharp files to match .editorconfig -*.cs text eol=crlf +# Force bash scripts to always use LF line endings so that if a repo is accessed +# in Unix via a file share from Windows, the scripts will work. Redundant with the +# default above, kept explicit because these files break outright with CRLF. +*.sh text eol=lf # Force batch scripts to always use CRLF line endings so that if a repo is accessed # in Windows via a file share from Linux, the scripts will work. -*.{cmd,[cC][mM][dD]} text eol=crlf -*.{bat,[bB][aA][tT]} text eol=crlf +*.cmd text eol=crlf +*.bat text eol=crlf -# Force bash scripts to always use LF line endings so that if a repo is accessed -# in Unix via a file share from Windows, the scripts will work. -*.sh text eol=lf +# Visual Studio rewrites solution files with CRLF regardless of the checkout, so pin +# them to avoid a spurious whole-file diff every time the solution is opened. +*.sln text eol=crlf ############################### # Git Large File System (LFS) # diff --git a/.runsettings b/.runsettings index 3c3169d..9bd9f05 100644 --- a/.runsettings +++ b/.runsettings @@ -1,25 +1,6 @@ - - .\coverage + TestResults - - - .\coverage - - - - - - - - opencover - coverage.opencover.xml - [*Test*]*,[*Tests*]* - **/obj/**/* - - - - diff --git a/FileDeduplicator/Deduplicator.cs b/FileDeduplicator/Deduplicator.cs index 235317b..ea3164e 100644 --- a/FileDeduplicator/Deduplicator.cs +++ b/FileDeduplicator/Deduplicator.cs @@ -1,6 +1,4 @@ -// Copyright (c) ktsu.dev -// All rights reserved. -// Licensed under the MIT license. +// Copyright (c) 2023-2026 ktsu-dev contributors namespace ktsu.FileDeduplicator; diff --git a/FileDeduplicator/FileHasher.cs b/FileDeduplicator/FileHasher.cs index dc8f1dd..4a6c00c 100644 --- a/FileDeduplicator/FileHasher.cs +++ b/FileDeduplicator/FileHasher.cs @@ -1,6 +1,4 @@ -// Copyright (c) ktsu.dev -// All rights reserved. -// Licensed under the MIT license. +// Copyright (c) 2023-2026 ktsu-dev contributors namespace ktsu.FileDeduplicator; diff --git a/FileDeduplicator/FileScanner.cs b/FileDeduplicator/FileScanner.cs index 28e1d96..9e7f1f5 100644 --- a/FileDeduplicator/FileScanner.cs +++ b/FileDeduplicator/FileScanner.cs @@ -1,6 +1,4 @@ -// Copyright (c) ktsu.dev -// All rights reserved. -// Licensed under the MIT license. +// Copyright (c) 2023-2026 ktsu-dev contributors namespace ktsu.FileDeduplicator; diff --git a/FileDeduplicator/Program.cs b/FileDeduplicator/Program.cs index 31afbfe..2dc6ce5 100644 --- a/FileDeduplicator/Program.cs +++ b/FileDeduplicator/Program.cs @@ -1,6 +1,4 @@ -// Copyright (c) ktsu.dev -// All rights reserved. -// Licensed under the MIT license. +// Copyright (c) 2023-2026 ktsu-dev contributors namespace ktsu.FileDeduplicator; diff --git a/FileDeduplicator/Properties/AssemblyInfo.cs b/FileDeduplicator/Properties/AssemblyInfo.cs index 4bef71d..7fc7e2a 100644 --- a/FileDeduplicator/Properties/AssemblyInfo.cs +++ b/FileDeduplicator/Properties/AssemblyInfo.cs @@ -1,6 +1,4 @@ -// Copyright (c) ktsu.dev -// All rights reserved. -// Licensed under the MIT license. +// Copyright (c) 2023-2026 ktsu-dev contributors [assembly: CLSCompliant(false)] [assembly: System.Runtime.InteropServices.ComVisible(false)] diff --git a/FileDeduplicator/Verbs/BaseVerb.cs b/FileDeduplicator/Verbs/BaseVerb.cs index 50f8c3d..e59aac8 100644 --- a/FileDeduplicator/Verbs/BaseVerb.cs +++ b/FileDeduplicator/Verbs/BaseVerb.cs @@ -1,6 +1,4 @@ -// Copyright (c) ktsu.dev -// All rights reserved. -// Licensed under the MIT license. +// Copyright (c) 2023-2026 ktsu-dev contributors namespace ktsu.FileDeduplicator.Verbs; diff --git a/FileDeduplicator/Verbs/Deduplicate.cs b/FileDeduplicator/Verbs/Deduplicate.cs index 736a66c..5910c43 100644 --- a/FileDeduplicator/Verbs/Deduplicate.cs +++ b/FileDeduplicator/Verbs/Deduplicate.cs @@ -1,6 +1,4 @@ -// Copyright (c) ktsu.dev -// All rights reserved. -// Licensed under the MIT license. +// Copyright (c) 2023-2026 ktsu-dev contributors namespace ktsu.FileDeduplicator.Verbs; diff --git a/FileDeduplicator/Verbs/DryRun.cs b/FileDeduplicator/Verbs/DryRun.cs index 86f0d69..0b82186 100644 --- a/FileDeduplicator/Verbs/DryRun.cs +++ b/FileDeduplicator/Verbs/DryRun.cs @@ -1,6 +1,4 @@ -// Copyright (c) ktsu.dev -// All rights reserved. -// Licensed under the MIT license. +// Copyright (c) 2023-2026 ktsu-dev contributors namespace ktsu.FileDeduplicator.Verbs; diff --git a/FileDeduplicator/Verbs/Menu.cs b/FileDeduplicator/Verbs/Menu.cs index d922dfb..81bd611 100644 --- a/FileDeduplicator/Verbs/Menu.cs +++ b/FileDeduplicator/Verbs/Menu.cs @@ -1,6 +1,4 @@ -// Copyright (c) ktsu.dev -// All rights reserved. -// Licensed under the MIT license. +// Copyright (c) 2023-2026 ktsu-dev contributors namespace ktsu.FileDeduplicator.Verbs; diff --git a/FileDeduplicator/Verbs/Scan.cs b/FileDeduplicator/Verbs/Scan.cs index 6f98928..1a68f00 100644 --- a/FileDeduplicator/Verbs/Scan.cs +++ b/FileDeduplicator/Verbs/Scan.cs @@ -1,6 +1,4 @@ -// Copyright (c) ktsu.dev -// All rights reserved. -// Licensed under the MIT license. +// Copyright (c) 2023-2026 ktsu-dev contributors namespace ktsu.FileDeduplicator.Verbs; diff --git a/FileDeduplicator/Verbs/Stats.cs b/FileDeduplicator/Verbs/Stats.cs index ba47d15..9b256eb 100644 --- a/FileDeduplicator/Verbs/Stats.cs +++ b/FileDeduplicator/Verbs/Stats.cs @@ -1,6 +1,4 @@ -// Copyright (c) ktsu.dev -// All rights reserved. -// Licensed under the MIT license. +// Copyright (c) 2023-2026 ktsu-dev contributors namespace ktsu.FileDeduplicator.Verbs; diff --git a/global.json b/global.json index 15c86b6..39f7683 100644 --- a/global.json +++ b/global.json @@ -5,15 +5,15 @@ }, "msbuild-sdks": { "MSTest.Sdk": "4.3.3", - "ktsu.Sdk": "2.18.0", - "ktsu.Sdk.ConsoleApp": "2.18.0", - "ktsu.Sdk.Tool": "2.18.0", - "ktsu.Sdk.App": "2.18.0", - "ktsu.Sdk.Windows": "2.18.0", - "ktsu.Sdk.Linux": "2.18.0", - "ktsu.Sdk.macOS": "2.18.0", - "ktsu.Sdk.iOS": "2.18.0", - "ktsu.Sdk.Android": "2.18.0" + "ktsu.Sdk": "2.21.1", + "ktsu.Sdk.ConsoleApp": "2.21.1", + "ktsu.Sdk.Tool": "2.21.1", + "ktsu.Sdk.App": "2.21.1", + "ktsu.Sdk.Windows": "2.21.1", + "ktsu.Sdk.Linux": "2.21.1", + "ktsu.Sdk.macOS": "2.21.1", + "ktsu.Sdk.iOS": "2.21.1", + "ktsu.Sdk.Android": "2.21.1" }, "test": { "runner": "Microsoft.Testing.Platform"