mirror of
https://github.com/git/git.git
synced 2026-08-08 17:11:48 +00:00
git-subtree: Bail out if we find output from Rust rewrite
This is going to be forward compatible, but not backward compatible: projects are expected to adopt the new tool, but not go back to this old one. CC: Colin Stagner <ask+git@howdoi.land> CC: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
e9019fcafe
commit
cd6ad979ab
@@ -278,6 +278,20 @@ main () {
|
||||
"cmd_$arg_command" "$@"
|
||||
}
|
||||
|
||||
# Usage: reject_if_v2_config REV
|
||||
#
|
||||
# Bails if we find .git-subtree/config. This file is used by the RIIR
|
||||
# git-subtree, which can read data from this script, but which generates
|
||||
# data that this script cannot cope with. So if we find that the user's
|
||||
# project has already been processed with the new tool, we stop, to
|
||||
# avoid generating broken output.
|
||||
reject_if_v2_config () {
|
||||
local config=.git-subtree/config
|
||||
if git rev-parse --verify -q "$rev:$config"; then
|
||||
die "fatal: tree contains $config: has been processed with new standalone (Rust) git-subtree; use that tool instead of this one. See https://codeberg.org/diziet/git-subtree https://crates.io/crates/git-subtree"
|
||||
fi
|
||||
}
|
||||
|
||||
# Usage: cache_setup
|
||||
cache_setup () {
|
||||
assert test $# = 0
|
||||
@@ -846,6 +860,7 @@ process_split_commit () {
|
||||
# Or: cmd_add REPOSITORY REF
|
||||
cmd_add () {
|
||||
|
||||
reject_if_v2_config HEAD
|
||||
ensure_clean
|
||||
|
||||
if test $# -eq 1
|
||||
@@ -934,6 +949,8 @@ cmd_split () {
|
||||
die "fatal: you must provide exactly one revision, and optionally a repository. Got: '$*'"
|
||||
fi
|
||||
|
||||
reject_if_v2_config "$rev"
|
||||
|
||||
# Now validate prefix against the commit, not the working tree
|
||||
if ! git cat-file -e "$rev:$dir" 2>/dev/null
|
||||
then
|
||||
@@ -1034,6 +1051,7 @@ cmd_merge () {
|
||||
then
|
||||
repository="$2"
|
||||
fi
|
||||
reject_if_v2_config HEAD
|
||||
ensure_clean
|
||||
|
||||
if test -n "$arg_addmerge_squash"
|
||||
|
||||
Reference in New Issue
Block a user