From cf8ed26f9f30b93eae3669b3da99e53404ddc93b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 26 Oct 2025 03:14:16 +0000 Subject: [PATCH 1/5] Initial plan From 736371e7d5482e65ca9b1e6c38647b5b13fb50b2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 26 Oct 2025 03:20:37 +0000 Subject: [PATCH 2/5] Update .gitattributes with comprehensive best practices for .NET projects Co-authored-by: TheAngryByrd <1490044+TheAngryByrd@users.noreply.github.com> --- .gitattributes | 112 ++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 96 insertions(+), 16 deletions(-) diff --git a/.gitattributes b/.gitattributes index cb6f883d..20075074 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,27 +1,107 @@ -# Auto detect text files +# Normalize line endings for all text files * text=auto -# Custom for Visual Studio -*.cs diff=csharp text=auto eol=lf -*.vb diff=csharp text=auto eol=lf -*.fs diff=csharp text=auto eol=lf -*.fsi diff=csharp text=auto eol=lf -*.fsx diff=csharp text=auto eol=lf +############################### +# .NET Language Files +############################### +# Force LF for source code files to ensure consistency across platforms +*.cs diff=csharp text eol=lf +*.vb diff=csharp text eol=lf +*.fs diff=csharp text eol=lf +*.fsi diff=csharp text eol=lf +*.fsx diff=csharp text eol=lf + +############################### +# .NET Project Files +############################### +# Force CRLF for Visual Studio compatibility *.sln text eol=crlf merge=union -*.csproj merge=union -*.vbproj merge=union -*.fsproj merge=union -*.dbproj merge=union +*.csproj text eol=crlf merge=union +*.vbproj text eol=crlf merge=union +*.fsproj text eol=crlf merge=union +*.dbproj text eol=crlf merge=union +*.props text eol=crlf +*.targets text eol=crlf + +############################### +# Windows Scripts +############################### +# Force CRLF for Windows batch files and scripts +*.cmd text eol=crlf +*.bat text eol=crlf + +############################### +# Unix/Linux Scripts +############################### +# Force LF for shell scripts *.sh text eol=lf -# Standard to msysgit -*.doc diff=astextplain +############################### +# Configuration Files +############################### +# Configuration and data files should use LF +*.json text eol=lf +*.yml text eol=lf +*.yaml text eol=lf +*.xml text eol=lf +*.config text eol=lf +*.md text eol=lf +*.html text eol=lf +*.css text eol=lf +*.js text eol=lf +*.ts text eol=lf + +############################### +# Binary Files - Git LFS +############################### +# Images +*.png filter=lfs diff=lfs merge=lfs -text +*.jpg filter=lfs diff=lfs merge=lfs -text +*.jpeg filter=lfs diff=lfs merge=lfs -text +*.gif filter=lfs diff=lfs merge=lfs -text +*.bmp filter=lfs diff=lfs merge=lfs -text +*.ico filter=lfs diff=lfs merge=lfs -text +*.svg filter=lfs diff=lfs merge=lfs -text + +# Documents +*.pdf filter=lfs diff=lfs merge=lfs -text +*.doc filter=lfs diff=lfs merge=lfs -text +*.docx filter=lfs diff=lfs merge=lfs -text +*.xls filter=lfs diff=lfs merge=lfs -text +*.xlsx filter=lfs diff=lfs merge=lfs -text +*.ppt filter=lfs diff=lfs merge=lfs -text +*.pptx filter=lfs diff=lfs merge=lfs -text + +# Archives +*.zip filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +*.7z filter=lfs diff=lfs merge=lfs -text + +# Executables and Libraries +*.exe filter=lfs diff=lfs merge=lfs -text +*.dll filter=lfs diff=lfs merge=lfs -text +*.so filter=lfs diff=lfs merge=lfs -text +*.dylib filter=lfs diff=lfs merge=lfs -text +*.lib filter=lfs diff=lfs merge=lfs -text +*.a filter=lfs diff=lfs merge=lfs -text + +# Media Files +*.mp4 filter=lfs diff=lfs merge=lfs -text +*.avi filter=lfs diff=lfs merge=lfs -text +*.mov filter=lfs diff=lfs merge=lfs -text +*.mp3 filter=lfs diff=lfs merge=lfs -text +*.wav filter=lfs diff=lfs merge=lfs -text + +############################### +# Legacy Binary Handling +############################### +# Fallback for document types that might not use LFS *.DOC diff=astextplain -*.docx diff=astextplain *.DOCX diff=astextplain *.dot diff=astextplain *.DOT diff=astextplain -*.pdf diff=astextplain *.PDF diff=astextplain -*.rtf diff=astextplain *.RTF diff=astextplain +*.rtf diff=astextplain From 6bc6eec88a2892a751978e4aad48ad732a1d0fdb Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 26 Oct 2025 03:21:44 +0000 Subject: [PATCH 3/5] Fix SVG file handling - use text with LF instead of binary LFS Co-authored-by: TheAngryByrd <1490044+TheAngryByrd@users.noreply.github.com> --- .gitattributes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitattributes b/.gitattributes index 20075074..dfe7e7e6 100644 --- a/.gitattributes +++ b/.gitattributes @@ -61,7 +61,7 @@ *.gif filter=lfs diff=lfs merge=lfs -text *.bmp filter=lfs diff=lfs merge=lfs -text *.ico filter=lfs diff=lfs merge=lfs -text -*.svg filter=lfs diff=lfs merge=lfs -text +*.svg text eol=lf # Documents *.pdf filter=lfs diff=lfs merge=lfs -text From 628586e59583e1a78a4ba43f91c35c23aaf6288c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 26 Oct 2025 03:32:00 +0000 Subject: [PATCH 4/5] Address feedback: change project files to LF, remove build artifacts from LFS, update Content gitattributes Co-authored-by: TheAngryByrd <1490044+TheAngryByrd@users.noreply.github.com> --- .gitattributes | 20 +++--- Content/Console/.gitattributes | 112 ++++++++++++++++++++++++++++----- Content/Library/.gitattributes | 112 ++++++++++++++++++++++++++++----- 3 files changed, 199 insertions(+), 45 deletions(-) diff --git a/.gitattributes b/.gitattributes index dfe7e7e6..73947f05 100644 --- a/.gitattributes +++ b/.gitattributes @@ -14,14 +14,14 @@ ############################### # .NET Project Files ############################### -# Force CRLF for Visual Studio compatibility -*.sln text eol=crlf merge=union -*.csproj text eol=crlf merge=union -*.vbproj text eol=crlf merge=union -*.fsproj text eol=crlf merge=union -*.dbproj text eol=crlf merge=union -*.props text eol=crlf -*.targets text eol=crlf +# Force LF for cross-platform compatibility +*.sln text eol=lf merge=union +*.csproj text eol=lf merge=union +*.vbproj text eol=lf merge=union +*.fsproj text eol=lf merge=union +*.dbproj text eol=lf merge=union +*.props text eol=lf +*.targets text eol=lf ############################### # Windows Scripts @@ -79,9 +79,7 @@ *.rar filter=lfs diff=lfs merge=lfs -text *.7z filter=lfs diff=lfs merge=lfs -text -# Executables and Libraries -*.exe filter=lfs diff=lfs merge=lfs -text -*.dll filter=lfs diff=lfs merge=lfs -text +# Native Libraries (excluding .NET build artifacts) *.so filter=lfs diff=lfs merge=lfs -text *.dylib filter=lfs diff=lfs merge=lfs -text *.lib filter=lfs diff=lfs merge=lfs -text diff --git a/Content/Console/.gitattributes b/Content/Console/.gitattributes index cb6f883d..73947f05 100644 --- a/Content/Console/.gitattributes +++ b/Content/Console/.gitattributes @@ -1,27 +1,105 @@ -# Auto detect text files +# Normalize line endings for all text files * text=auto -# Custom for Visual Studio -*.cs diff=csharp text=auto eol=lf -*.vb diff=csharp text=auto eol=lf -*.fs diff=csharp text=auto eol=lf -*.fsi diff=csharp text=auto eol=lf -*.fsx diff=csharp text=auto eol=lf -*.sln text eol=crlf merge=union -*.csproj merge=union -*.vbproj merge=union -*.fsproj merge=union -*.dbproj merge=union +############################### +# .NET Language Files +############################### +# Force LF for source code files to ensure consistency across platforms +*.cs diff=csharp text eol=lf +*.vb diff=csharp text eol=lf +*.fs diff=csharp text eol=lf +*.fsi diff=csharp text eol=lf +*.fsx diff=csharp text eol=lf + +############################### +# .NET Project Files +############################### +# Force LF for cross-platform compatibility +*.sln text eol=lf merge=union +*.csproj text eol=lf merge=union +*.vbproj text eol=lf merge=union +*.fsproj text eol=lf merge=union +*.dbproj text eol=lf merge=union +*.props text eol=lf +*.targets text eol=lf + +############################### +# Windows Scripts +############################### +# Force CRLF for Windows batch files and scripts +*.cmd text eol=crlf +*.bat text eol=crlf + +############################### +# Unix/Linux Scripts +############################### +# Force LF for shell scripts *.sh text eol=lf -# Standard to msysgit -*.doc diff=astextplain +############################### +# Configuration Files +############################### +# Configuration and data files should use LF +*.json text eol=lf +*.yml text eol=lf +*.yaml text eol=lf +*.xml text eol=lf +*.config text eol=lf +*.md text eol=lf +*.html text eol=lf +*.css text eol=lf +*.js text eol=lf +*.ts text eol=lf + +############################### +# Binary Files - Git LFS +############################### +# Images +*.png filter=lfs diff=lfs merge=lfs -text +*.jpg filter=lfs diff=lfs merge=lfs -text +*.jpeg filter=lfs diff=lfs merge=lfs -text +*.gif filter=lfs diff=lfs merge=lfs -text +*.bmp filter=lfs diff=lfs merge=lfs -text +*.ico filter=lfs diff=lfs merge=lfs -text +*.svg text eol=lf + +# Documents +*.pdf filter=lfs diff=lfs merge=lfs -text +*.doc filter=lfs diff=lfs merge=lfs -text +*.docx filter=lfs diff=lfs merge=lfs -text +*.xls filter=lfs diff=lfs merge=lfs -text +*.xlsx filter=lfs diff=lfs merge=lfs -text +*.ppt filter=lfs diff=lfs merge=lfs -text +*.pptx filter=lfs diff=lfs merge=lfs -text + +# Archives +*.zip filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +*.7z filter=lfs diff=lfs merge=lfs -text + +# Native Libraries (excluding .NET build artifacts) +*.so filter=lfs diff=lfs merge=lfs -text +*.dylib filter=lfs diff=lfs merge=lfs -text +*.lib filter=lfs diff=lfs merge=lfs -text +*.a filter=lfs diff=lfs merge=lfs -text + +# Media Files +*.mp4 filter=lfs diff=lfs merge=lfs -text +*.avi filter=lfs diff=lfs merge=lfs -text +*.mov filter=lfs diff=lfs merge=lfs -text +*.mp3 filter=lfs diff=lfs merge=lfs -text +*.wav filter=lfs diff=lfs merge=lfs -text + +############################### +# Legacy Binary Handling +############################### +# Fallback for document types that might not use LFS *.DOC diff=astextplain -*.docx diff=astextplain *.DOCX diff=astextplain *.dot diff=astextplain *.DOT diff=astextplain -*.pdf diff=astextplain *.PDF diff=astextplain -*.rtf diff=astextplain *.RTF diff=astextplain +*.rtf diff=astextplain diff --git a/Content/Library/.gitattributes b/Content/Library/.gitattributes index cb6f883d..73947f05 100644 --- a/Content/Library/.gitattributes +++ b/Content/Library/.gitattributes @@ -1,27 +1,105 @@ -# Auto detect text files +# Normalize line endings for all text files * text=auto -# Custom for Visual Studio -*.cs diff=csharp text=auto eol=lf -*.vb diff=csharp text=auto eol=lf -*.fs diff=csharp text=auto eol=lf -*.fsi diff=csharp text=auto eol=lf -*.fsx diff=csharp text=auto eol=lf -*.sln text eol=crlf merge=union -*.csproj merge=union -*.vbproj merge=union -*.fsproj merge=union -*.dbproj merge=union +############################### +# .NET Language Files +############################### +# Force LF for source code files to ensure consistency across platforms +*.cs diff=csharp text eol=lf +*.vb diff=csharp text eol=lf +*.fs diff=csharp text eol=lf +*.fsi diff=csharp text eol=lf +*.fsx diff=csharp text eol=lf + +############################### +# .NET Project Files +############################### +# Force LF for cross-platform compatibility +*.sln text eol=lf merge=union +*.csproj text eol=lf merge=union +*.vbproj text eol=lf merge=union +*.fsproj text eol=lf merge=union +*.dbproj text eol=lf merge=union +*.props text eol=lf +*.targets text eol=lf + +############################### +# Windows Scripts +############################### +# Force CRLF for Windows batch files and scripts +*.cmd text eol=crlf +*.bat text eol=crlf + +############################### +# Unix/Linux Scripts +############################### +# Force LF for shell scripts *.sh text eol=lf -# Standard to msysgit -*.doc diff=astextplain +############################### +# Configuration Files +############################### +# Configuration and data files should use LF +*.json text eol=lf +*.yml text eol=lf +*.yaml text eol=lf +*.xml text eol=lf +*.config text eol=lf +*.md text eol=lf +*.html text eol=lf +*.css text eol=lf +*.js text eol=lf +*.ts text eol=lf + +############################### +# Binary Files - Git LFS +############################### +# Images +*.png filter=lfs diff=lfs merge=lfs -text +*.jpg filter=lfs diff=lfs merge=lfs -text +*.jpeg filter=lfs diff=lfs merge=lfs -text +*.gif filter=lfs diff=lfs merge=lfs -text +*.bmp filter=lfs diff=lfs merge=lfs -text +*.ico filter=lfs diff=lfs merge=lfs -text +*.svg text eol=lf + +# Documents +*.pdf filter=lfs diff=lfs merge=lfs -text +*.doc filter=lfs diff=lfs merge=lfs -text +*.docx filter=lfs diff=lfs merge=lfs -text +*.xls filter=lfs diff=lfs merge=lfs -text +*.xlsx filter=lfs diff=lfs merge=lfs -text +*.ppt filter=lfs diff=lfs merge=lfs -text +*.pptx filter=lfs diff=lfs merge=lfs -text + +# Archives +*.zip filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +*.7z filter=lfs diff=lfs merge=lfs -text + +# Native Libraries (excluding .NET build artifacts) +*.so filter=lfs diff=lfs merge=lfs -text +*.dylib filter=lfs diff=lfs merge=lfs -text +*.lib filter=lfs diff=lfs merge=lfs -text +*.a filter=lfs diff=lfs merge=lfs -text + +# Media Files +*.mp4 filter=lfs diff=lfs merge=lfs -text +*.avi filter=lfs diff=lfs merge=lfs -text +*.mov filter=lfs diff=lfs merge=lfs -text +*.mp3 filter=lfs diff=lfs merge=lfs -text +*.wav filter=lfs diff=lfs merge=lfs -text + +############################### +# Legacy Binary Handling +############################### +# Fallback for document types that might not use LFS *.DOC diff=astextplain -*.docx diff=astextplain *.DOCX diff=astextplain *.dot diff=astextplain *.DOT diff=astextplain -*.pdf diff=astextplain *.PDF diff=astextplain -*.rtf diff=astextplain *.RTF diff=astextplain +*.rtf diff=astextplain From c989e87cbff1316fab6fdc8dc62dccb74da209ad Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 26 Oct 2025 03:37:12 +0000 Subject: [PATCH 5/5] Add Git LFS setup instructions to README files in Content/Library and Content/Console Co-authored-by: TheAngryByrd <1490044+TheAngryByrd@users.noreply.github.com> --- Content/Console/README.md | 12 ++++++++++++ Content/Library/README.md | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/Content/Console/README.md b/Content/Console/README.md index 556a7bb8..487d53c5 100644 --- a/Content/Console/README.md +++ b/Content/Console/README.md @@ -27,11 +27,23 @@ Make sure the following **requirements** are installed on your system: - [dotnet SDK](https://www.microsoft.com/net/download/core) 3.0 or higher - [Mono](http://www.mono-project.com/) if you're on Linux or macOS. +- [Git LFS](https://git-lfs.com/) for handling binary assets or - [VSCode Dev Container](https://code.visualstudio.com/docs/remote/containers) +#### Git LFS Setup + +This project uses Git LFS to handle binary assets efficiently. After cloning the repository, initialize Git LFS: + +```sh +git lfs install +git lfs pull +``` + +The `.gitattributes` file is already configured to track binary files (images, documents, archives, etc.) with LFS automatically. + --- diff --git a/Content/Library/README.md b/Content/Library/README.md index ecd89172..98e9e54d 100644 --- a/Content/Library/README.md +++ b/Content/Library/README.md @@ -24,11 +24,23 @@ MyLib.1 | [![NuGet Badge](https://buildstats.info/nuget/MyLib.1)](https://www.nu Make sure the following **requirements** are installed on your system: - [dotnet SDK](https://www.microsoft.com/net/download/core) 6.0 or higher +- [Git LFS](https://git-lfs.com/) for handling binary assets or - [VSCode Dev Container](https://code.visualstudio.com/docs/remote/containers) +#### Git LFS Setup + +This project uses Git LFS to handle binary assets efficiently. After cloning the repository, initialize Git LFS: + +```sh +git lfs install +git lfs pull +``` + +The `.gitattributes` file is already configured to track binary files (images, documents, archives, etc.) with LFS automatically. + ---