Files
git/builtin
Shaoxuan Yuan c08830de41 mv: check if <destination> is a SKIP_WORKTREE_DIR
Originally, <destination> is assumed to be in the working tree. If it is
not found as a directory, then it is determined to be either a regular file
path, or error out if used under the second form (move into a directory)
of 'git-mv'. Such behavior is not ideal, mainly because Git does not
look into the index for <destination>, which could potentially be a
SKIP_WORKTREE_DIR, which we need to determine for the later "moving from
in-cone to out-of-cone" patch.

Change the logic so that Git first check if <destination> is a directory
with all its contents sparsified (a SKIP_WORKTREE_DIR).

If <destination> is such a sparse directory, then we should modify the
index the same way as we would if this were a non-sparse directory. We
must be careful to ensure that the <destination> is marked with
SKIP_WORKTREE_DIR.

Also add a `dst_w_slash` to reuse the result from `add_slash()`, which
was everywhere and can be simplified.

Helped-by: Derrick Stolee <derrickstolee@github.com>
Helped-by: Victoria Dye <vdye@github.com>
Signed-off-by: Shaoxuan Yuan <shaoxuan.yuan02@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2022-08-10 13:57:49 -07:00
..
2022-06-07 14:10:56 -07:00
2022-04-06 09:42:14 -07:00
2022-02-17 16:25:05 -08:00
2022-04-04 10:56:23 -07:00
2022-03-09 13:38:24 -08:00
2022-06-07 14:10:56 -07:00
2022-04-06 15:21:59 -07:00
2022-06-10 15:04:15 -07:00
2022-01-10 11:52:56 -08:00
2022-06-10 15:04:13 -07:00
2022-06-03 14:30:34 -07:00