-
Notifications
You must be signed in to change notification settings - Fork 254
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CONFIG_PROTECT: protect symlinks, bug #485598
Users may not want some symlinks to get clobbered, so protect them with CONFIG_PROTECT. Changes were required in the dblink.mergeme method and the new_protect_filename function. The changes to dblink.mergeme do 3 things: * Move the bulk of config protection logic from dblink.mergeme to a new dblink._protect method. The new method only returns 3 variables, which makes it easier to understand how config protection interacts with the dblink.mergeme code that uses those variables. This is important, since dblink.mergeme has so many variables. * Initialize more variables at the beginning of dblink.mergeme, since those variables are used by the dblink._protect method. * Use the variables returned from dblink._protect to trigger appropriate behavior later in dblink.mergeme. The new_protect_filename changes are required since this function compares the new file to old ._cfg* files that may already exist, in order to avoid creating duplicate ._cfg* files. In these comparisons, it needs to handle symlinks differently from regular files. The unit tests demonstrate operation in many different scenarios, including: * regular file replaces regular file * regular file replaces symlink * regular file replaces directory * symlink replaces symlink * symlink replaces regular file * symlink replaces directory * directory replaces regular file * directory replaces symlink X-Gentoo-Bug: 485598 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=485598
- Loading branch information
Showing
3 changed files
with
463 additions
and
119 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.