diff options
author | Dan Fandrich <danf@mageia.org> | 2023-04-07 02:47:32 -0700 |
---|---|---|
committer | Dan Fandrich <danf@mageia.org> | 2023-04-07 02:50:53 -0700 |
commit | a3c6eaa2a4bb3873f7e137b48603f9c2c552b39d (patch) | |
tree | 18086d97a1dd9fdcd5528597b976fc4055414df5 /MgaRepo/rpmutil.py | |
parent | da90dea3e11babc0d012033c8048dc5c19c618c0 (diff) | |
download | mgarepo-a3c6eaa2a4bb3873f7e137b48603f9c2c552b39d.tar mgarepo-a3c6eaa2a4bb3873f7e137b48603f9c2c552b39d.tar.gz mgarepo-a3c6eaa2a4bb3873f7e137b48603f9c2c552b39d.tar.bz2 mgarepo-a3c6eaa2a4bb3873f7e137b48603f9c2c552b39d.tar.xz mgarepo-a3c6eaa2a4bb3873f7e137b48603f9c2c552b39d.zip |
Add sync --upload (mga#2868)
This will automatically upload any changed binrepo files and update
sha1.lst to match. Using --dryrun will show any changed files but not
upload or change anything.
Diffstat (limited to 'MgaRepo/rpmutil.py')
-rw-r--r-- | MgaRepo/rpmutil.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/MgaRepo/rpmutil.py b/MgaRepo/rpmutil.py index 66343b5..b71afb0 100644 --- a/MgaRepo/rpmutil.py +++ b/MgaRepo/rpmutil.py @@ -514,7 +514,7 @@ def ispkgtopdir(path=None): names = os.listdir(path) return (".svn" in names and "SPECS" in names and "SOURCES" in names) -def sync(dryrun=False, commit=False, download=False): +def sync(dryrun=False, commit=False, download=False, up=False): svn = SVN() topdir = getpkgtopdir() spath = binrepo.sources_path(topdir) @@ -596,6 +596,18 @@ def sync(dryrun=False, commit=False, download=False): print("A\t%s" % path) if not dryrun: upload([path], commit=commit) + # check binrepo files + changed = binrepo.check_sources(topdir) + if changed: + changed_paths = [] + for filename in changed: + filepath = os.path.join(topdir, 'SOURCES', filename) + changed_paths.append(filepath) + print('M\t%s' % filepath) + if not dryrun and up: + binrepo.upload_binary(topdir, filename) + if not dryrun and up: + binrepo.update_sources(topdir, added=changed_paths) def commit(target=".", message=None, logfile=None): svn = SVN() |