diff --git a/commands/command_migrate.go b/commands/command_migrate.go index cff46d9c..0edef4c5 100644 --- a/commands/command_migrate.go +++ b/commands/command_migrate.go @@ -331,7 +331,7 @@ func ensureWorkingCopyClean(in io.Reader, out io.Writer) { answer := bufio.NewReader(in) L: for { - fmt.Fprintf(out, "migrate: override changes in your working copy? [Y/n] ") + fmt.Fprintf(out, "migrate: override changes in your working copy? All uncommitted changes will be lost! [y/N] ") s, err := answer.ReadString('\n') if err != nil { if err == io.EOF { @@ -342,10 +342,10 @@ func ensureWorkingCopyClean(in io.Reader, out io.Writer) { } switch strings.TrimSpace(s) { - case "n", "N": + case "n", "N", "": proceed = false break L - case "y", "Y", "": + case "y", "Y": proceed = true break L } diff --git a/t/t-migrate-import.sh b/t/t-migrate-import.sh index c95fa667..dacea308 100755 --- a/t/t-migrate-import.sh +++ b/t/t-migrate-import.sh @@ -875,6 +875,23 @@ begin_test "migrate import (multiple remotes)" ) end_test +begin_test "migrate import (dirty copy, default negative answer)" +( + set -e + + setup_local_branch_with_dirty_copy + + original_main="$(git rev-parse main)" + + echo | git lfs migrate import --everything 2>&1 | tee migrate.log + grep "migrate: working copy must not be dirty" migrate.log + + migrated_main="$(git rev-parse main)" + + assert_ref_unmoved "main" "$original_main" "$migrated_main" +) +end_test + begin_test "migrate import (dirty copy, negative answer)" ( set -e