- Rewrote README.md to highlight PostgreSQL features, installer, and migration, with quick start and full docs index - Moved all markdown documentation files to docs/ for better organization; updated links accordingly - Added .gitignore rules to exclude all PublishProfiles folders; removed tracked publish profile XMLs - Preserved original README as README.original.md; added README_GENERATION.md and DOCUMENTATION_ORGANIZATION.md - Cleaned root directory, improved navigation, and clarified platform-specific instructions
5.7 KiB
PublishProfiles Added to .gitignore
Date: 2026-02-26
Status: ✅ Complete
Action: Added PublishProfiles folder patterns to .gitignore
What Was Added
Patterns Added to .gitignore
# Publish profiles (anywhere in project)
/Properties/PublishProfiles/
Properties/PublishProfiles/
**/PublishProfiles/
**/Properties/PublishProfiles/
What These Patterns Ignore
/Properties/PublishProfiles/- Root level Properties/PublishProfilesProperties/PublishProfiles/- Properties/PublishProfiles anywhere**/PublishProfiles/- Any PublishProfiles folder at any level**/Properties/PublishProfiles/- Properties/PublishProfiles at any level
Why Ignore PublishProfiles?
Machine-Specific Configuration
- Contains local file paths
- User-specific settings
- Development environment details
Security Concerns
- May contain credentials
- Connection strings
- Server information
Best Practices
- Should not be in version control
- Each developer maintains their own
- Use template or documentation instead
Existing PublishProfiles Found
Jellyfin.Server/Properties/PublishProfiles/
This folder is currently tracked by Git and needs to be removed.
Cleanup Steps
1. Remove from Git Tracking
# Remove from Git but keep local files
git rm -r --cached Jellyfin.Server/Properties/PublishProfiles
# Verify removal
git status
2. Commit Changes
# Commit .gitignore update
git add .gitignore
git commit -m "gitignore: Add PublishProfiles folder patterns
- Added **/PublishProfiles/ to ignore publish profiles anywhere
- Added **/Properties/PublishProfiles/ for comprehensive coverage
- Removed existing PublishProfiles from Git tracking
Reason: Publish profiles are machine-specific and should not be version controlled
"
3. Verify
# Check that PublishProfiles is ignored
git status
# Should not show PublishProfiles folders
What Gets Ignored Now
Project Publish Profiles
Jellyfin.Server/Properties/PublishProfiles/
MediaBrowser.Controller/Properties/PublishProfiles/
*/Properties/PublishProfiles/ (any project)
Any PublishProfiles Folder
PublishProfiles/
src/PublishProfiles/
tests/PublishProfiles/
**/PublishProfiles/ (anywhere)
Creating Publish Profiles (For Developers)
Don't Commit
Create your own local publish profiles:
-
In Visual Studio:
- Right-click project → Publish
- Create new profile
- Configure settings
- Don't commit!
-
Document Settings: Create a template in docs:
docs/PUBLISH_PROFILE_TEMPLATE.md -
Share Configuration: Use README or documentation to explain:
- Target framework
- Deployment type
- Required settings
Example Documentation
## Creating a Publish Profile
1. Right-click Jellyfin.Server project
2. Select "Publish"
3. Choose target:
- Folder: `lib/Release/net11.0`
- Configuration: Release
- Target Framework: net11.0
- Deployment Mode: Self-contained
4. Save as "FolderProfile"
**Note:** This is for local development only. Do not commit.
.gitignore Section (Complete)
# Centralized lib output folder
/lib/
lib/
/installer-output/
installer-output/
# Publish profiles (anywhere in project)
/Properties/PublishProfiles/
Properties/PublishProfiles/
**/PublishProfiles/
**/Properties/PublishProfiles/
Verification
Check What's Ignored
# List ignored files
git status --ignored
# Check specific folder
git check-ignore -v Jellyfin.Server/Properties/PublishProfiles
Ensure Clean State
# Should show no PublishProfiles
git status
# Verify .gitignore is working
touch Jellyfin.Server/Properties/PublishProfiles/test.pubxml
git status
# Should NOT show the new file
Migration for Team Members
If team members have PublishProfiles in their working directory:
After Pulling This Change
# Pull the updated .gitignore
git pull
# Their local PublishProfiles are now ignored
# Git will stop tracking them
# Local files remain untouched
# Verify
git status
# Should not show PublishProfiles as modified
Related Files
.gitignore Sections
# Build output (existing)
[Bb]in/
[Oo]bj/
lib/
# Visual Studio (existing)
.vs/
*.user
*.suo
# Publish profiles (new)
**/PublishProfiles/
**/Properties/PublishProfiles/
Git Commands Summary
# Update .gitignore (already done)
git add .gitignore
# Remove PublishProfiles from tracking
git rm -r --cached Jellyfin.Server/Properties/PublishProfiles
# Commit both changes
git commit -m "gitignore: Add PublishProfiles folder patterns"
# Push to remote
git push origin pgsql_testing_branch
Benefits
✅ No More Conflicts - Each developer has their own profiles
✅ Security - No credentials in repo
✅ Flexibility - Different configs per machine
✅ Clean History - No unnecessary commits
✅ Best Practice - Follows .NET conventions
Files Modified
Modified:
✏️ .gitignore
To Remove (from Git tracking):
🗑️ Jellyfin.Server/Properties/PublishProfiles/ (if exists in Git)
Summary
Status: ✅ Complete
Patterns Added: 4 (comprehensive coverage)
Folders to Untrack: 1 (Jellyfin.Server/Properties/PublishProfiles)
Team Impact: None (local files remain)
The .gitignore now properly excludes all PublishProfiles folders from version control while allowing developers to maintain their own local publish configurations.
Next Steps:
- ✅ .gitignore updated
- ⏳ Run
git rm -r --cached Jellyfin.Server/Properties/PublishProfiles - ⏳ Commit changes
- ⏳ Push to remote