[PATCH 2/2] builtin/mv: convert assert(3p) into `BUG()`
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Apr 30, 2025, 12:44 UTC
- Message-ID
- <20250430-pks-mv-parent-child-conflict-v1-2-11a87c55ffb9@pks.im>
- In-Reply-To
- <20250430-pks-mv-parent-child-conflict-v1-0-11a87c55ffb9@pks.im>
The use of asserts is discouraged in our codebase because they lead to different behaviour depending on how Git is built. When being unsure enough whether a condition always holds so that one adds the assert, then the assert should probably trigger regardless of how Git is being built.
Drop the call to assert(3p) in git-mv(1) and instead use `BUG()`.
Signed-off-by: Patrick Steinhardt <ps@pks.im> --- builtin/mv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/builtin/mv.c b/builtin/mv.c index edb854677d9..07548fe96ae 100644 --- a/builtin/mv.c +++ b/builtin/mv.c @@ -562,7 +562,8 @@ int cmd_mv(int argc, continue; pos = index_name_pos(the_repository->index, src, strlen(src)); - assert(pos >= 0); + if (pos < 0) + BUG("could not find source in index: '%s'", src); if (!(mode & SPARSE) && !lstat(src, &st)) sparse_and_dirty = ie_modified(the_repository->index, the_repository->index->cache[pos],
-- 2.49.0.987.g0cc8ee98dc.dirty