Remove support for YADM_COMPATIBILITY=1 (#242)
This commit is contained in:
parent
a66d3c148c
commit
b19c78b8e2
5 changed files with 4 additions and 60 deletions
|
@ -4,7 +4,6 @@ import pytest
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
'condition', [
|
'condition', [
|
||||||
'compat',
|
|
||||||
'previous-message',
|
'previous-message',
|
||||||
'invalid-alts',
|
'invalid-alts',
|
||||||
'no-invalid-alts',
|
'no-invalid-alts',
|
||||||
|
@ -12,11 +11,8 @@ import pytest
|
||||||
def test_report_invalid_alts(runner, yadm, condition):
|
def test_report_invalid_alts(runner, yadm, condition):
|
||||||
"""Use report_invalid_alts"""
|
"""Use report_invalid_alts"""
|
||||||
|
|
||||||
compat = ''
|
|
||||||
previous = ''
|
previous = ''
|
||||||
alts = 'INVALID_ALT=()'
|
alts = 'INVALID_ALT=()'
|
||||||
if condition == 'compat':
|
|
||||||
compat = 'YADM_COMPATIBILITY=1'
|
|
||||||
if condition == 'previous-message':
|
if condition == 'previous-message':
|
||||||
previous = 'LEGACY_WARNING_ISSUED=1'
|
previous = 'LEGACY_WARNING_ISSUED=1'
|
||||||
if condition == 'invalid-alts':
|
if condition == 'invalid-alts':
|
||||||
|
@ -24,7 +20,6 @@ def test_report_invalid_alts(runner, yadm, condition):
|
||||||
|
|
||||||
script = f"""
|
script = f"""
|
||||||
YADM_TEST=1 source {yadm}
|
YADM_TEST=1 source {yadm}
|
||||||
{compat}
|
|
||||||
{previous}
|
{previous}
|
||||||
{alts}
|
{alts}
|
||||||
report_invalid_alts
|
report_invalid_alts
|
||||||
|
|
|
@ -4,7 +4,7 @@ import pytest
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
'condition',
|
'condition',
|
||||||
['basic', 'override', 'xdg_config_home', 'legacy'],
|
['basic', 'override', 'xdg_config_home'],
|
||||||
)
|
)
|
||||||
def test_set_yadm_dir(runner, yadm, condition):
|
def test_set_yadm_dir(runner, yadm, condition):
|
||||||
"""Test set_yadm_dir"""
|
"""Test set_yadm_dir"""
|
||||||
|
@ -13,8 +13,6 @@ def test_set_yadm_dir(runner, yadm, condition):
|
||||||
setup = 'YADM_DIR=/override'
|
setup = 'YADM_DIR=/override'
|
||||||
elif condition == 'xdg_config_home':
|
elif condition == 'xdg_config_home':
|
||||||
setup = 'XDG_CONFIG_HOME=/xdg'
|
setup = 'XDG_CONFIG_HOME=/xdg'
|
||||||
elif condition == 'legacy':
|
|
||||||
setup = 'YADM_COMPATIBILITY=1'
|
|
||||||
script = f"""
|
script = f"""
|
||||||
HOME=/testhome
|
HOME=/testhome
|
||||||
YADM_TEST=1 source {yadm}
|
YADM_TEST=1 source {yadm}
|
||||||
|
@ -31,5 +29,3 @@ def test_set_yadm_dir(runner, yadm, condition):
|
||||||
assert run.out.rstrip() == '/override'
|
assert run.out.rstrip() == '/override'
|
||||||
elif condition == 'xdg_config_home':
|
elif condition == 'xdg_config_home':
|
||||||
assert run.out.rstrip() == '/xdg/yadm'
|
assert run.out.rstrip() == '/xdg/yadm'
|
||||||
elif condition == 'legacy':
|
|
||||||
assert run.out.rstrip() == '/testhome/.yadm'
|
|
||||||
|
|
|
@ -11,16 +11,13 @@ LEGACY_PATHS = [
|
||||||
]
|
]
|
||||||
|
|
||||||
# used:
|
# used:
|
||||||
# YADM_COMPATIBILITY
|
|
||||||
# YADM_DIR
|
# YADM_DIR
|
||||||
# YADM_LEGACY_DIR
|
# YADM_LEGACY_DIR
|
||||||
# GIT_PROGRAM
|
# GIT_PROGRAM
|
||||||
@pytest.mark.parametrize('condition', ['compat', 'equal', 'existing_repo'])
|
@pytest.mark.parametrize('condition', ['equal', 'existing_repo'])
|
||||||
def test_upgrade_errors(tmpdir, runner, yadm, condition):
|
def test_upgrade_errors(tmpdir, runner, yadm, condition):
|
||||||
"""Test upgrade() error conditions"""
|
"""Test upgrade() error conditions"""
|
||||||
|
|
||||||
compatibility = 'YADM_COMPATIBILITY=1' if condition == 'compat' else ''
|
|
||||||
|
|
||||||
home = tmpdir.mkdir('home')
|
home = tmpdir.mkdir('home')
|
||||||
yadm_dir = home.join('.config/yadm')
|
yadm_dir = home.join('.config/yadm')
|
||||||
legacy_dir = home.join('.yadm')
|
legacy_dir = home.join('.yadm')
|
||||||
|
@ -32,7 +29,6 @@ def test_upgrade_errors(tmpdir, runner, yadm, condition):
|
||||||
|
|
||||||
script = f"""
|
script = f"""
|
||||||
YADM_TEST=1 source {yadm}
|
YADM_TEST=1 source {yadm}
|
||||||
{compatibility}
|
|
||||||
YADM_DIR="{yadm_dir}"
|
YADM_DIR="{yadm_dir}"
|
||||||
YADM_REPO="{yadm_dir}/repo.git"
|
YADM_REPO="{yadm_dir}/repo.git"
|
||||||
YADM_LEGACY_DIR="{legacy_dir}"
|
YADM_LEGACY_DIR="{legacy_dir}"
|
||||||
|
@ -42,8 +38,6 @@ def test_upgrade_errors(tmpdir, runner, yadm, condition):
|
||||||
assert run.failure
|
assert run.failure
|
||||||
assert run.err == ''
|
assert run.err == ''
|
||||||
assert 'Unable to upgrade' in run.out
|
assert 'Unable to upgrade' in run.out
|
||||||
if condition == 'compat':
|
|
||||||
assert 'YADM_COMPATIBILITY' in run.out
|
|
||||||
if condition == 'equal':
|
if condition == 'equal':
|
||||||
assert 'has been resolved as' in run.out
|
assert 'has been resolved as' in run.out
|
||||||
if condition == 'existing_repo':
|
if condition == 'existing_repo':
|
||||||
|
|
22
yadm
22
yadm
|
@ -539,20 +539,13 @@ function alt() {
|
||||||
local alt_linked
|
local alt_linked
|
||||||
alt_linked=()
|
alt_linked=()
|
||||||
|
|
||||||
if [ "$YADM_COMPATIBILITY" = "1" ]; then
|
alt_linking
|
||||||
alt_past_linking
|
|
||||||
else
|
|
||||||
alt_future_linking
|
|
||||||
fi
|
|
||||||
|
|
||||||
remove_stale_links
|
remove_stale_links
|
||||||
|
|
||||||
report_invalid_alts
|
report_invalid_alts
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function report_invalid_alts() {
|
function report_invalid_alts() {
|
||||||
[ "$YADM_COMPATIBILITY" = "1" ] && return
|
|
||||||
[ "$LEGACY_WARNING_ISSUED" = "1" ] && return
|
[ "$LEGACY_WARNING_ISSUED" = "1" ] && return
|
||||||
[ "${#INVALID_ALT[@]}" = "0" ] && return
|
[ "${#INVALID_ALT[@]}" = "0" ] && return
|
||||||
local path_list
|
local path_list
|
||||||
|
@ -626,7 +619,7 @@ function set_local_alt_values() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function alt_future_linking() {
|
function alt_linking() {
|
||||||
|
|
||||||
local alt_scores
|
local alt_scores
|
||||||
local alt_targets
|
local alt_targets
|
||||||
|
@ -1353,9 +1346,6 @@ function upgrade() {
|
||||||
local repo_updates
|
local repo_updates
|
||||||
repo_updates=0
|
repo_updates=0
|
||||||
|
|
||||||
[ "$YADM_COMPATIBILITY" = "1" ] && \
|
|
||||||
error_out "Unable to upgrade. YADM_COMPATIBILITY is set to '1'."
|
|
||||||
|
|
||||||
[ "$YADM_DIR" = "$YADM_LEGACY_DIR" ] && \
|
[ "$YADM_DIR" = "$YADM_LEGACY_DIR" ] && \
|
||||||
error_out "Unable to upgrade. yadm dir has been resolved as '$YADM_LEGACY_DIR'."
|
error_out "Unable to upgrade. yadm dir has been resolved as '$YADM_LEGACY_DIR'."
|
||||||
|
|
||||||
|
@ -1564,12 +1554,6 @@ function set_yadm_dir() {
|
||||||
# only resolve YADM_DIR if it hasn't been provided already
|
# only resolve YADM_DIR if it hasn't been provided already
|
||||||
[ -n "$YADM_DIR" ] && return
|
[ -n "$YADM_DIR" ] && return
|
||||||
|
|
||||||
# compatibility with major version 1 ignores XDG_CONFIG_HOME
|
|
||||||
if [ "$YADM_COMPATIBILITY" = "1" ]; then
|
|
||||||
YADM_DIR="$YADM_LEGACY_DIR"
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
local base_yadm_dir
|
local base_yadm_dir
|
||||||
base_yadm_dir="$XDG_CONFIG_HOME"
|
base_yadm_dir="$XDG_CONFIG_HOME"
|
||||||
if [[ ! "$base_yadm_dir" =~ ^/ ]] ; then
|
if [[ ! "$base_yadm_dir" =~ ^/ ]] ; then
|
||||||
|
@ -1633,8 +1617,6 @@ function issue_legacy_path_warning() {
|
||||||
* Run "yadm upgrade" to move the yadm data to the new directory. (RECOMMENDED)
|
* Run "yadm upgrade" to move the yadm data to the new directory. (RECOMMENDED)
|
||||||
* Manually move yadm configurations to the directory listed above.
|
* Manually move yadm configurations to the directory listed above.
|
||||||
* Specify your preferred yadm directory with -Y each execution.
|
* Specify your preferred yadm directory with -Y each execution.
|
||||||
* Define an environment variable "YADM_COMPATIBILITY=1" to run in version 1
|
|
||||||
compatibility mode. (DEPRECATED)
|
|
||||||
|
|
||||||
Legacy paths detected:
|
Legacy paths detected:
|
||||||
${path_list}
|
${path_list}
|
||||||
|
|
23
yadm.1
23
yadm.1
|
@ -313,29 +313,6 @@ for more information.
|
||||||
.B version
|
.B version
|
||||||
Print the version of yadm.
|
Print the version of yadm.
|
||||||
|
|
||||||
.SH COMPATIBILITY
|
|
||||||
|
|
||||||
Beginning with version 2.0.0, yadm introduced a couple major changes which may
|
|
||||||
require you to adjust your configurations.
|
|
||||||
See the
|
|
||||||
.B upgrade
|
|
||||||
command for help making those adjustments.
|
|
||||||
|
|
||||||
First, yadm now uses the "XDG Base Directory Specification" to find its
|
|
||||||
configurations. You can read
|
|
||||||
https://yadm.io/docs/upgrade_from_1
|
|
||||||
for more information.
|
|
||||||
|
|
||||||
Second, the naming conventions for alternate files have been changed.
|
|
||||||
You can read https://yadm.io/docs/alternates for more information.
|
|
||||||
|
|
||||||
If you want to retain the old functionality, you can set an environment variable,
|
|
||||||
.IR YADM_COMPATIBILITY=1 .
|
|
||||||
Doing so will automatically use the old yadm directory, and process alternates
|
|
||||||
the same as the pre-2.0.0 version. This compatibility mode is deprecated, and
|
|
||||||
will be removed in future versions. This mode exists solely for transitioning
|
|
||||||
to the new paths and naming of alternates.
|
|
||||||
|
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
|
|
||||||
yadm supports a set of universal options that alter the paths it uses. The
|
yadm supports a set of universal options that alter the paths it uses. The
|
||||||
|
|
Loading…
Reference in a new issue