Files
hfsutils/.gitattributes
Pablo Lezaeta Reyes 2f09df5627 feat: complete integration and testing of HFS+ journaling support
Comprehensive update to fully integrate HFS+ journaling across the project:

### Build System Updates:
- **build.sh**: Enhanced with journaling-aware hfsck compilation
  * Automatic fallback to manual compilation if autotools fails
  * Proper journaling support compilation flags
  * Improved error handling and reporting

- **Makefile**: Updated main Makefile with journaling support
  * Enhanced hfsck build rule with manual fallback
  * Proper dependency handling for journal.o
  * Improved error handling for autotools issues

### Configuration Updates:
- **.gitattributes**: Comprehensive LF enforcement for all text files
  * Added support for all file types (.c, .h, .sh, .md, .1, .8, etc.)
  * Proper handling of build files and documentation
  * Consistent line ending management

- **.gitignore**: Enhanced with journaling-specific ignores
  * Added hfsutils.log and other log files
  * Added hfsck build artifacts
  * Better organization of ignored files

### Documentation Updates:
- **doc/man/fsck.hfs+.8**: Enhanced manual page with journaling documentation
  * Detailed journaling support description
  * Journal replay and validation features
  * Comprehensive logging information
  * Usage examples and troubleshooting

### Testing Infrastructure:
- **test/test_journaling.sh**: Comprehensive journaling test suite
  * Version and functionality verification
  * Error handling validation
  * Binary symbol verification
  * Log file creation testing
  * HFS+ image creation and validation

- **test/run_tests.sh**: Integrated journaling tests
  * Added test_hfsplus_journaling function
  * Integrated into hfsplus and all test patterns
  * Proper error handling and reporting

### Project Status:
- **TODO**: Updated with completed journaling features
- **CHANGELOG**: Added version 4.1.0 with journaling features

This completes the enterprise-level HFS+ journaling implementation with:
 Full crash recovery support
 Journal validation and repair
 Comprehensive testing suite
 Complete documentation
 Robust build system
 Professional logging and error handling
2025-10-21 20:29:10 -03:00

44 lines
816 B
Plaintext

# Force LF for text files on the repo (target platform: Unix/WSL)
* text=auto eol=lf
# Ensure scripts are always LF
*.sh text eol=lf
*/configure text eol=lf
configure text eol=lf
*/Makefile text eol=lf
Makefile text eol=lf
*/Makefile.in text eol=lf
Makefile.in text eol=lf
build.sh text eol=lf
# Configuration files
*.ac text eol=lf
*.in text eol=lf
configure.ac text eol=lf
config.h.in text eol=lf
# Docs and markdown
*.md text eol=lf
*.txt text eol=lf
*.1 text eol=lf
*.8 text eol=lf
doc/man/* text eol=lf
# C/C++ sources and headers
*.c text eol=lf
*.h text eol=lf
# Test files
test/*.sh text eol=lf
test/*.c text eol=lf
# Other text files
TODO text eol=lf
CHANGELOG text eol=lf
CHANGELOG.md text eol=lf
README text eol=lf
README.md text eol=lf
COPYRIGHT text eol=lf
CREDITS text eol=lf
INSTALL text eol=lf