@SkipUnless(svntest.main.is_fs_type_fsfs)
def fsfs_hotcopy_old_with_id_changes(sbox):
    'fsfs hotcopy old with node-id and copy-id changes'
    sbox.build(create_wc=True, minor_version=3)
    (inc_backup_dir, inc_backup_url) = sbox.add_repo_path('incremental-backup')
    (backup_dir, backup_url) = sbox.add_repo_path('backup-after-r1')
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', sbox.repo_dir, backup_dir)
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', '--incremental', sbox.repo_dir, inc_backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, inc_backup_dir)
    sbox.simple_propset('foo', 'bar', 'A/mu')
    sbox.simple_commit(message='r2')
    (backup_dir, backup_url) = sbox.add_repo_path('backup-after-r2')
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', sbox.repo_dir, backup_dir)
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', '--incremental', sbox.repo_dir, inc_backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, inc_backup_dir)
    sbox.simple_copy('A/B/E', 'A/B/E1')
    sbox.simple_commit(message='r3')
    (backup_dir, backup_url) = sbox.add_repo_path('backup-after-r3')
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', sbox.repo_dir, backup_dir)
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', '--incremental', sbox.repo_dir, inc_backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, inc_backup_dir)
    sbox.simple_rm('A/D/gamma')
    sbox.simple_commit(message='r4')
    (backup_dir, backup_url) = sbox.add_repo_path('backup-after-r4')
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', sbox.repo_dir, backup_dir)
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', '--incremental', sbox.repo_dir, inc_backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, inc_backup_dir)
    sbox.simple_add_text('This is the replaced file.\n', 'A/D/gamma')
    sbox.simple_commit(message='r5')
    (backup_dir, backup_url) = sbox.add_repo_path('backup-after-r5')
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', sbox.repo_dir, backup_dir)
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', '--incremental', sbox.repo_dir, inc_backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, inc_backup_dir)
    sbox.simple_add_text('This is an entirely new file.\n', 'A/C/mu1')
    sbox.simple_commit(message='r6')
    (backup_dir, backup_url) = sbox.add_repo_path('backup-after-r6')
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', sbox.repo_dir, backup_dir)
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', '--incremental', sbox.repo_dir, inc_backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, inc_backup_dir)
    sbox.simple_append('A/mu', 'This is change in the existing file.\n')
    sbox.simple_commit(message='r7')
    (backup_dir, backup_url) = sbox.add_repo_path('backup-after-r7')
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', sbox.repo_dir, backup_dir)
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', '--incremental', sbox.repo_dir, inc_backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, inc_backup_dir)
fsfs hotcopy old with node-id and copy-id changes
@SkipUnless(svntest.main.is_fs_type_fsfs)
def fsfs_hotcopy_old_with_id_changes(sbox):
    
    sbox.build(create_wc=True, minor_version=3)
    (inc_backup_dir, inc_backup_url) = sbox.add_repo_path('incremental-backup')
    (backup_dir, backup_url) = sbox.add_repo_path('backup-after-r1')
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', sbox.repo_dir, backup_dir)
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', '--incremental', sbox.repo_dir, inc_backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, inc_backup_dir)
    sbox.simple_propset('foo', 'bar', 'A/mu')
    sbox.simple_commit(message='r2')
    (backup_dir, backup_url) = sbox.add_repo_path('backup-after-r2')
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', sbox.repo_dir, backup_dir)
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', '--incremental', sbox.repo_dir, inc_backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, inc_backup_dir)
    sbox.simple_copy('A/B/E', 'A/B/E1')
    sbox.simple_commit(message='r3')
    (backup_dir, backup_url) = sbox.add_repo_path('backup-after-r3')
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', sbox.repo_dir, backup_dir)
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', '--incremental', sbox.repo_dir, inc_backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, inc_backup_dir)
    sbox.simple_rm('A/D/gamma')
    sbox.simple_commit(message='r4')
    (backup_dir, backup_url) = sbox.add_repo_path('backup-after-r4')
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', sbox.repo_dir, backup_dir)
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', '--incremental', sbox.repo_dir, inc_backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, inc_backup_dir)
    sbox.simple_add_text('This is the replaced file.\n', 'A/D/gamma')
    sbox.simple_commit(message='r5')
    (backup_dir, backup_url) = sbox.add_repo_path('backup-after-r5')
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', sbox.repo_dir, backup_dir)
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', '--incremental', sbox.repo_dir, inc_backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, inc_backup_dir)
    sbox.simple_add_text('This is an entirely new file.\n', 'A/C/mu1')
    sbox.simple_commit(message='r6')
    (backup_dir, backup_url) = sbox.add_repo_path('backup-after-r6')
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', sbox.repo_dir, backup_dir)
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', '--incremental', sbox.repo_dir, inc_backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, inc_backup_dir)
    sbox.simple_append('A/mu', 'This is change in the existing file.\n')
    sbox.simple_commit(message='r7')
    (backup_dir, backup_url) = sbox.add_repo_path('backup-after-r7')
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', sbox.repo_dir, backup_dir)
    svntest.actions.run_and_verify_svnadmin(None, [], 'hotcopy', '--incremental', sbox.repo_dir, inc_backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, backup_dir)
    check_hotcopy_fsfs(sbox.repo_dir, inc_backup_dir)