aboutsummaryrefslogtreecommitdiffstats
path: root/MgaRepo
diff options
context:
space:
mode:
authorDan Fandrich <danf@mageia.org>2023-04-17 10:19:28 -0700
committerDan Fandrich <danf@mageia.org>2023-04-17 10:54:04 -0700
commit4af747cb2a25eb5cb9bce1c560676e75d8153121 (patch)
tree2d85a2b9f5c4d152061dd02805a120dceefd5861 /MgaRepo
parent05950a5b822e2ae1088c4f7cee5280a645afa3eb (diff)
downloadmgarepo-4af747cb2a25eb5cb9bce1c560676e75d8153121.tar
mgarepo-4af747cb2a25eb5cb9bce1c560676e75d8153121.tar.gz
mgarepo-4af747cb2a25eb5cb9bce1c560676e75d8153121.tar.bz2
mgarepo-4af747cb2a25eb5cb9bce1c560676e75d8153121.tar.xz
mgarepo-4af747cb2a25eb5cb9bce1c560676e75d8153121.zip
Add sync --no-vcs
If --no-vcs is given along with --download and/or --upload, the SVN operations are skipped but the download and/or upload will go ahead. This replaces the same functionality that was lost when the bug with --dry-run was fixed in commit da90dea3.
Diffstat (limited to 'MgaRepo')
-rw-r--r--MgaRepo/commands/sync.py3
-rw-r--r--MgaRepo/rpmutil.py6
2 files changed, 6 insertions, 3 deletions
diff --git a/MgaRepo/commands/sync.py b/MgaRepo/commands/sync.py
index 9f318e1..51b6f45 100644
--- a/MgaRepo/commands/sync.py
+++ b/MgaRepo/commands/sync.py
@@ -15,6 +15,7 @@ Options:
--dry-run Print results without changing the working copy
--download -d
Try to download the source files not found
+ --no-vcs Don't touch any files under source control (use with -d & -u)
--upload -u Upload changed source files and update sha1.lst
-h Show this message
@@ -26,6 +27,8 @@ def parse_options():
parser = OptionParser(help=HELP)
parser.add_option("--dry-run", dest="dryrun", default=False,
action="store_true")
+ parser.add_option("--no-vcs", dest="vcs", default=True,
+ action="store_false")
# TODO:
# Completely remove -c switch from code
parser.add_option("-c", dest="commit", default=False,
diff --git a/MgaRepo/rpmutil.py b/MgaRepo/rpmutil.py
index b71afb0..a99c08a 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, up=False):
+def sync(dryrun=False, vcs=True, commit=False, download=False, up=False):
svn = SVN()
topdir = getpkgtopdir()
spath = binrepo.sources_path(topdir)
@@ -590,11 +590,11 @@ def sync(dryrun=False, commit=False, download=False, up=False):
toremove.append(path)
for path in toremove:
print("D\t%s" % path)
- if not dryrun:
+ if not dryrun and vcs:
delete([path], commit=commit)
for path in toadd:
print("A\t%s" % path)
- if not dryrun:
+ if not dryrun and vcs:
upload([path], commit=commit)
# check binrepo files
changed = binrepo.check_sources(topdir)