Files
pgsql-jellyfin/docs/GITIGNORE_PUBLISHPROFILES.md
T
wjones c51c14efde Docs: overhaul README, centralize docs, update .gitignore
- 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
2026-02-26 15:50:19 -05:00

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

  1. /Properties/PublishProfiles/ - Root level Properties/PublishProfiles
  2. Properties/PublishProfiles/ - Properties/PublishProfiles anywhere
  3. **/PublishProfiles/ - Any PublishProfiles folder at any level
  4. **/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:

  1. In Visual Studio:

    • Right-click project → Publish
    • Create new profile
    • Configure settings
    • Don't commit!
  2. Document Settings: Create a template in docs:

    docs/PUBLISH_PROFILE_TEMPLATE.md
    
  3. 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

.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:

  1. .gitignore updated
  2. Run git rm -r --cached Jellyfin.Server/Properties/PublishProfiles
  3. Commit changes
  4. Push to remote