On 06/19/2018 12:20 AM, Luke Shumaker wrote:
From: Luke Shumaker <lukeshu@parabola.nu>
This patchset is intended to clean up dbscripts' interaction with SVN. Besides (IMO) improved code clarity, this should make it easier for those who wish to replace SVN with something else.
There are two major themes here: 1. Avoid asking SVN for information; to the extent possible, get all information directly from the pacman repos.
Why is this a goal? Especially, because currently dbscripts will error out on you if you do something like create a PKGBUILD in a directory that doesn't match the pkgbase. This is a feature, because we don't want that to happen. We want the PKGBUILDs repository to match the expected pacman repository action, so this information should always be sourced from the PKGBUILD. There's a WIP rewrite here: https://wiki.archlinux.org/index.php/User:Bluewind/dbscripts-rewrite Which has e.g. get_file_from_pkgrepo which cat's the PKGBUILD in a VCS-agnostic manner. This is the direction I think we want to take, and IMHO also has a lot more code clarity than a mini awk program reading from pacman's technically undocumented database format (makepkg/PKGBUILD is quite well documented, I'm not sure we make any guarantees about the database format except that libalpm can read it).
2. Isolate SVN-interfacing code in to functions; making it clear what interfaces the PKGBUILD tracking needs to provide.
The dbscripts-rewrite aims to do this too, but in a very different way. I'd like to keep to those semantics in order to reduce the effort it takes to merge those changes.
This does not touch the test suite, which is still firmly SVN-dependent.
I've cc'd Florian Pritz because of his related work on migrating to git. https://wiki.archlinux.org/index.php/User:Bluewind/dbscripts-rewrite
Luke Shumaker (5): db-move, db-remove: Don't parse PKGBUILD files db-move: Clarify the flow of the preflight check testing2x: Discover correct repos based on the DBEXT files, not SVN Centralize all SVN access into 'abs_*' functions in a new 'db-abs' file db-move, db-abs: Simplify the abs_move_* functions
cron-jobs/sourceballs | 4 +- db-abs | 114 ++++++++++++++++++++++++++++++++++++++++++ db-functions | 61 +++++++++++++++------- db-move | 95 +++++++++-------------------------- db-remove | 18 ++----- testing2x | 40 +++++++-------- 6 files changed, 204 insertions(+), 128 deletions(-) create mode 100644 db-abs
-- Eli Schwartz Bug Wrangler and Trusted User