REDO-ALWAYS(1) User Commands REDO-ALWAYS(1)

redo-always - علامت‌گذاری هدف فعلی به عنوان نیازمند ساخت مجددِ همیشگی

redo-always

به‌طور معمول redo-always از درون یک فایل .do که توسط redo(1) اجرا شده است، فراخوانی می‌شود. برای جزئیات بیشتر به redo(1) مراجعه کنید.

دستور redo-always هیچ پارامتری نمی‌پذیرد. این دستور صرفاً یک وابستگی «ناممکن» به هدف فعلی اضافه می‌کند که تضمین می‌نماید در صورت اجرای redo-ifchange targetname، این هدف همیشه دوباره ساخته خواهد شد.

به دلیل نحوه کارکرد redo، دستور redo-ifchange targetname در هر نشست فقط یک‌بار targetname را بازسازی می‌کند؛ بنابراین اگر چندین هدف به targetname وابسته باشند و targetname دستور redo-always را فراخوانی کرده باشد، تنها نخستین هدف موجب بازسازی آن خواهد شد. در صورتی که چرخه ساخت به پایان برسد و چرخه جدیدی آغاز گردد، دقیقاً یک‌بار دیگر بازسازی خواهد شد.

به‌طور معمول، هر هدفی که (به‌طور مستقیم یا غیرمستقیم) به زیرهدفی وابسته باشد که redo-always را فراخوانی کرده است، باید همیشه دوباره ساخته شود، چرا که یکی از وابستگی‌های آن همواره تاریخ‌گذشته محسوب می‌شود. برای جلوگیری از این مشکل، معمولاً از redo-always در کنار redo-stamp(1) استفاده می‌شود.

بخشی از مجموعه‌ی redo(1).

مفهوم اصلی redo توسط D. J. Bernstein ایجاد شده و در وبگاه او (http://cr.yp.to/redo.html) مستند گردیده است. این پیاده‌سازی مستقل توسط Avery Pennarun توسعه یافته است و می‌توانید کد منبع آن را در http://github.com/apenwarr/redo بیابید.

redo(1), redo-ifcreate(1), redo-ifchange(1), redo-stamp(1)

Avery Pennarun <apenwarr@gmail.com>

2021-07-27 Redo 0.42d