// Copyright (c) The OpenTofu Authors
// SPDX-License-Identifier: MPL-2.0
// Copyright (c) 2023 HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0

// Package replacefile is a small helper package focused directly at the
// problem of atomically "renaming" one file over another one.
//
// On Unix systems this is the standard behavior of the rename function, but
// the equivalent operation on Windows requires some specific operation flags
// which this package encapsulates.
//
// This package uses conditional compilation to select a different
// implementation for Windows vs. all other platforms. It may therefore
// require further fiddling in future if OpenTofu is ported to another
// OS that is neither Unix-like nor Windows.
package replacefile
