prproj gzip to LFS
originally 10/29/2025 @ 7:29 PM, commit SHA 1ed427d0b2ad74f550ab2ade0fdaee143a06e137. Committing from the synology NAS adds all the @eaDir folders, which should never be in upstream. I should have checked these changes. It also added a ton of changes to binaries that technically weren't made due to the fact that this repo began without LFS, which was fixed via `git lfs migrate import`.
This commit is contained in:
@@ -1,3 +1,3 @@
|
|||||||
|
|
||||||
# Don't index SpecStory auto-save files, but allow explicit context inclusion via @ references
|
# Don't index SpecStory auto-save files, but allow explicit context inclusion via @ references
|
||||||
.specstory/**
|
.specstory/**
|
||||||
|
|||||||
@@ -5,3 +5,12 @@
|
|||||||
*.hdr filter=lfs diff=lfs merge=lfs -text
|
*.hdr filter=lfs diff=lfs merge=lfs -text
|
||||||
*.blend filter=lfs diff=lfs merge=lfs -text
|
*.blend filter=lfs diff=lfs merge=lfs -text
|
||||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.cursorindexingignore filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gitignore filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.md filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.prproj filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.py filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gitignore !text !filter !merge !diff
|
||||||
|
*.cursorindexingignore !text !filter !merge !diff
|
||||||
|
*.md !text !filter !merge !diff
|
||||||
|
*.py !text !filter !merge !diff
|
||||||
|
|||||||
+130
-98
@@ -1,98 +1,130 @@
|
|||||||
# Blender Studio Git Management - .gitignore
|
# Blender Studio Git Management - .gitignore
|
||||||
|
|
||||||
# Blender auto-save files
|
# Blender auto-save files
|
||||||
*.blend1
|
*.blend1
|
||||||
*.blend2
|
*.blend2
|
||||||
*.blend3
|
*.blend3
|
||||||
*.blend4
|
*.blend4
|
||||||
*.blend5
|
*.blend5
|
||||||
*.blend6
|
*.blend6
|
||||||
*.blend7
|
*.blend7
|
||||||
*.blend8
|
*.blend8
|
||||||
*.blend9
|
*.blend9
|
||||||
|
|
||||||
# Blender cache and temporary files
|
# Blender cache and temporary files
|
||||||
*.swp
|
*.swp
|
||||||
*.swo
|
*.swo
|
||||||
*~
|
*~
|
||||||
*.tmp
|
*.tmp
|
||||||
*.temp
|
*.temp
|
||||||
|
|
||||||
# Blender internal cache files
|
# Blender internal cache files
|
||||||
*.bpy
|
*.bpy
|
||||||
*.bmesh
|
*.bmesh
|
||||||
*.bvh
|
*.bvh
|
||||||
*.bobj
|
*.bobj
|
||||||
*.bphys
|
*.bphys
|
||||||
|
|
||||||
# OS generated files
|
# OS generated files
|
||||||
.DS_Store
|
.DS_Store
|
||||||
.DS_Store?
|
.DS_Store?
|
||||||
._*
|
._*
|
||||||
.Spotlight-V100
|
.Spotlight-V100
|
||||||
.Trashes
|
.Trashes
|
||||||
ehthumbs.db
|
ehthumbs.db
|
||||||
Thumbs.db
|
Thumbs.db
|
||||||
desktop.ini
|
desktop.ini
|
||||||
|
|
||||||
# Editor files
|
# Editor files
|
||||||
.vscode/
|
.vscode/
|
||||||
.idea/
|
.idea/
|
||||||
*.swp
|
*.swp
|
||||||
*.swo
|
*.swo
|
||||||
*~
|
*~
|
||||||
|
|
||||||
# Large media files (uncomment if you want to exclude rendered outputs)
|
# Large media files (uncomment if you want to exclude rendered outputs)
|
||||||
# *.mp4
|
# *.mp4
|
||||||
# *.avi
|
# *.avi
|
||||||
# *.mov
|
# *.mov
|
||||||
# *.png
|
# *.png
|
||||||
# *.jpg
|
# *.jpg
|
||||||
# *.jpeg
|
# *.jpeg
|
||||||
# *.exr
|
# *.exr
|
||||||
# *.hdr
|
# *.hdr
|
||||||
# *.tiff
|
# *.tiff
|
||||||
# *.tga
|
# *.tga
|
||||||
|
|
||||||
# Audio files (uncomment if excluding)
|
# Audio files (uncomment if excluding)
|
||||||
# *.wav
|
# *.wav
|
||||||
# *.mp3
|
# *.mp3
|
||||||
# *.aac
|
# *.aac
|
||||||
# *.ogg
|
# *.ogg
|
||||||
|
|
||||||
# Archive files
|
# Archive files
|
||||||
*.zip
|
*.zip
|
||||||
*.rar
|
*.rar
|
||||||
*.7z
|
*.7z
|
||||||
*.tar.gz
|
*.tar.gz
|
||||||
|
|
||||||
# Log files
|
# Log files
|
||||||
*.log
|
*.log
|
||||||
*.txt
|
*.txt
|
||||||
|
|
||||||
# Python cache
|
# Python cache
|
||||||
__pycache__/
|
__pycache__/
|
||||||
*.pyc
|
*.pyc
|
||||||
*.pyo
|
*.pyo
|
||||||
*.pyd
|
*.pyd
|
||||||
.Python
|
.Python
|
||||||
|
|
||||||
# Node modules (if using any web tools)
|
# Node modules (if using any web tools)
|
||||||
node_modules/
|
node_modules/
|
||||||
|
|
||||||
# Environment files
|
# Environment files
|
||||||
.env
|
.env
|
||||||
.env.local
|
.env.local
|
||||||
.env.development.local
|
.env.development.local
|
||||||
.env.test.local
|
.env.test.local
|
||||||
.env.production.local
|
.env.production.local
|
||||||
|
|
||||||
# Backup files
|
# Backup files
|
||||||
*.bak
|
*.bak
|
||||||
*.backup
|
*.backup
|
||||||
*.old
|
*.old
|
||||||
|
|
||||||
# Temporary files
|
# Temporary files
|
||||||
temp/
|
temp/
|
||||||
tmp/
|
tmp/
|
||||||
cache/
|
cache/
|
||||||
|
*.blend10
|
||||||
|
*.blend11
|
||||||
|
*.blend12
|
||||||
|
*.blend13
|
||||||
|
*.blend14
|
||||||
|
*.blend15
|
||||||
|
*.blend16
|
||||||
|
*.blend17
|
||||||
|
*.blend18
|
||||||
|
*.blend19
|
||||||
|
*.blend20
|
||||||
|
*.blend21
|
||||||
|
*.blend22
|
||||||
|
*.blend23
|
||||||
|
*.blend24
|
||||||
|
*.blend25
|
||||||
|
*.blend26
|
||||||
|
*.blend27
|
||||||
|
*.blend28
|
||||||
|
*.blend29
|
||||||
|
*.blend30
|
||||||
|
*.blend31
|
||||||
|
*.blend32
|
||||||
|
# image sequences
|
||||||
|
seq/
|
||||||
|
Renders/
|
||||||
|
# Premiere
|
||||||
|
*.prlock
|
||||||
|
Adobe Premiere Pro Video Previews/
|
||||||
|
Adobe Premiere Pro Audio Previews/
|
||||||
|
Adobe Premiere Pro (Beta) Video Previews/
|
||||||
|
Adobe Premiere Pro (Beta) Audio Previews/
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
# SpecStory explanation file
|
# SpecStory explanation file
|
||||||
/.what-is-this.md
|
/.what-is-this.md
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
@@ -1,83 +1,83 @@
|
|||||||
import bpy
|
import bpy
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
|
||||||
def relocate_libraries():
|
def relocate_libraries():
|
||||||
"""
|
"""
|
||||||
Relocate linked library files from Synology Drive to NAS storage.
|
Relocate linked library files from Synology Drive to NAS storage.
|
||||||
Changes paths from C:\\Users\\Nathan\\SynologyDrive\\ to R:\\
|
Changes paths from C:\\Users\\Nathan\\SynologyDrive\\ to R:\\
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# Define the path mappings
|
# Define the path mappings
|
||||||
old_base = r"C:\Users\Nathan\SynologyDrive"
|
old_base = r"C:\Users\Nathan\SynologyDrive"
|
||||||
new_base = r"R:"
|
new_base = r"R:"
|
||||||
|
|
||||||
# Track changes
|
# Track changes
|
||||||
changed_files = []
|
changed_files = []
|
||||||
failed_files = []
|
failed_files = []
|
||||||
|
|
||||||
print("=== Library Relocation Script ===")
|
print("=== Library Relocation Script ===")
|
||||||
print(f"Mapping: {old_base} → {new_base}")
|
print(f"Mapping: {old_base} → {new_base}")
|
||||||
print()
|
print()
|
||||||
|
|
||||||
# Process all library files
|
# Process all library files
|
||||||
for lib in bpy.data.libraries:
|
for lib in bpy.data.libraries:
|
||||||
if lib.filepath:
|
if lib.filepath:
|
||||||
old_path = lib.filepath
|
old_path = lib.filepath
|
||||||
|
|
||||||
# Check if this is a Synology Drive path
|
# Check if this is a Synology Drive path
|
||||||
if old_base in old_path:
|
if old_base in old_path:
|
||||||
# Create new path
|
# Create new path
|
||||||
new_path = old_path.replace(old_base, new_base)
|
new_path = old_path.replace(old_base, new_base)
|
||||||
|
|
||||||
# Verify the new file exists
|
# Verify the new file exists
|
||||||
if os.path.exists(new_path):
|
if os.path.exists(new_path):
|
||||||
try:
|
try:
|
||||||
# Update the library path
|
# Update the library path
|
||||||
lib.filepath = new_path
|
lib.filepath = new_path
|
||||||
changed_files.append((old_path, new_path))
|
changed_files.append((old_path, new_path))
|
||||||
print(f"✓ Relocated: {os.path.basename(old_path)}")
|
print(f"✓ Relocated: {os.path.basename(old_path)}")
|
||||||
print(f" {old_path}")
|
print(f" {old_path}")
|
||||||
print(f" → {new_path}")
|
print(f" → {new_path}")
|
||||||
print()
|
print()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
failed_files.append((old_path, str(e)))
|
failed_files.append((old_path, str(e)))
|
||||||
print(f"✗ Failed to relocate: {os.path.basename(old_path)}")
|
print(f"✗ Failed to relocate: {os.path.basename(old_path)}")
|
||||||
print(f" Error: {e}")
|
print(f" Error: {e}")
|
||||||
print()
|
print()
|
||||||
else:
|
else:
|
||||||
failed_files.append((old_path, "Target file not found"))
|
failed_files.append((old_path, "Target file not found"))
|
||||||
print(f"✗ Target not found: {new_path}")
|
print(f"✗ Target not found: {new_path}")
|
||||||
print()
|
print()
|
||||||
else:
|
else:
|
||||||
print(f"ℹ Skipped (not Synology Drive): {old_path}")
|
print(f"ℹ Skipped (not Synology Drive): {old_path}")
|
||||||
print()
|
print()
|
||||||
|
|
||||||
# Summary
|
# Summary
|
||||||
print("=== Summary ===")
|
print("=== Summary ===")
|
||||||
print(f"Successfully relocated: {len(changed_files)} files")
|
print(f"Successfully relocated: {len(changed_files)} files")
|
||||||
print(f"Failed to relocate: {len(failed_files)} files")
|
print(f"Failed to relocate: {len(failed_files)} files")
|
||||||
|
|
||||||
if changed_files:
|
if changed_files:
|
||||||
print("\nRelocated files:")
|
print("\nRelocated files:")
|
||||||
for old, new in changed_files:
|
for old, new in changed_files:
|
||||||
print(f" {os.path.basename(old)}")
|
print(f" {os.path.basename(old)}")
|
||||||
|
|
||||||
if failed_files:
|
if failed_files:
|
||||||
print("\nFailed files:")
|
print("\nFailed files:")
|
||||||
for old, reason in failed_files:
|
for old, reason in failed_files:
|
||||||
print(f" {os.path.basename(old)}: {reason}")
|
print(f" {os.path.basename(old)}: {reason}")
|
||||||
|
|
||||||
return len(changed_files), len(failed_files)
|
return len(changed_files), len(failed_files)
|
||||||
|
|
||||||
# Run the script
|
# Run the script
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
success_count, fail_count = relocate_libraries()
|
success_count, fail_count = relocate_libraries()
|
||||||
|
|
||||||
if success_count > 0:
|
if success_count > 0:
|
||||||
print(f"\n✅ Successfully relocated {success_count} library files!")
|
print(f"\n✅ Successfully relocated {success_count} library files!")
|
||||||
print("You may need to save your .blend file to preserve these changes.")
|
print("You may need to save your .blend file to preserve these changes.")
|
||||||
|
|
||||||
if fail_count > 0:
|
if fail_count > 0:
|
||||||
print(f"\n⚠️ {fail_count} files failed to relocate.")
|
print(f"\n⚠️ {fail_count} files failed to relocate.")
|
||||||
print("Check that the NAS paths exist and are accessible.")
|
print("Check that the NAS paths exist and are accessible.")
|
||||||
Reference in New Issue
Block a user