Fix s_create_directory called with /* wildcard creating junk directory#1214
Fix s_create_directory called with /* wildcard creating junk directory#1214sbryngelson wants to merge 2 commits intoMFlowCode:masterfrom
Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
CodeAnt AI is reviewing your PR. Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📝 WalkthroughWalkthroughModified directory cleanup logic in the serial initial conditions data file reading function. Instead of deleting only directory contents, the entire proc_rank_dir directory is now removed before being recreated. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Nitpicks 🔍
|
|
CodeAnt AI finished reviewing your PR. |
There was a problem hiding this comment.
Pull request overview
Fixes serial pre-process restart cleanup by removing an incorrect /* suffix that caused creation of a literal * directory instead of clearing old process-rank output.
Changes:
- Replace
s_create_directory(proc_rank_dir//'/*')withs_delete_directory(proc_rank_dir)to properly remove prior output. - Keep subsequent directory creation via
s_create_directory(proc_rank_dir//'/0'), which recreates the expected folder structure.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@src/pre_process/m_start_up.fpp`:
- Around line 508-509: s_read_serial_grid_data_files currently calls
s_delete_directory(trim(proc_rank_dir)//'/*'), which fails to expand the glob
because s_delete_directory wraps the path in quotes; change that call to
s_delete_directory(trim(proc_rank_dir)) to match the fix at the other call site
and ensure the entire per-rank directory is removed before recreating the /0
subdirectory via s_create_directory. Ensure you update the invocation inside
s_read_serial_grid_data_files (the proc_rank_dir argument) and keep the existing
s_delete_directory/s_create_directory implementations unchanged.
…a_files Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1214 +/- ##
=======================================
Coverage 44.05% 44.05%
=======================================
Files 70 70
Lines 20498 20498
Branches 1990 1990
=======================================
Hits 9030 9030
Misses 10329 10329
Partials 1139 1139 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
User description
Summary
s_read_serial_ic_data_filesinm_start_up.fppcallings_create_directorywith a/*suffix, which creates a literal directory named*instead of cleaning the output directory.Bug Details
The code at line 508 calls:
The comment above says "cleaned out to make room for new pre-process data", but
s_create_directoryrunsmkdir -p "path/*", which creates a directory literally named*insideproc_rank_dir. The intent was to remove old files to make room for new data.The old data files happen to get overwritten by subsequent writes, so this doesn't cause crashes, but it leaves a junk
*directory behind and doesn't actually clean old files that may no longer be relevant.Fix
Replace the
s_create_directory(path/*)call withs_delete_directory(path)to actually remove the old directory contents. The subsequents_create_directory(path/0)usesmkdir -pso it recreates both the parent and the/0subdirectory.Test plan
*directory created in process rank directories🤖 Generated with Claude Code
CodeAnt-AI Description
Fix creation of a literal '*' directory when preparing per-rank pre-process folders
What Changed
Impact
✅ No leftover '*' directories in per-rank folders✅ Old pre-process files are removed before new data is written✅ More predictable serial pre-process restart behavior💡 Usage Guide
Checking Your Pull Request
Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.
Talking to CodeAnt AI
Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:
This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.
Example
Preserve Org Learnings with CodeAnt
You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:
This helps CodeAnt AI learn and adapt to your team's coding style and standards.
Example
Retrigger review
Ask CodeAnt AI to review the PR again, by typing:
Check Your Repository Health
To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.
Summary by CodeRabbit
Release Notes
Fixes #1220