[med-svn] [Git][med-team/q2cli][upstream] New upstream version 2022.8.0
Nilesh Patra (@nilesh)
gitlab at salsa.debian.org
Mon Sep 5 15:24:13 BST 2022
Nilesh Patra pushed to branch upstream at Debian Med / q2cli
Commits:
7f1d1d25 by Nilesh Patra at 2022-09-05T19:10:39+05:30
New upstream version 2022.8.0
- - - - -
15 changed files:
- − .github/CONTRIBUTING.md
- − .github/ISSUE_TEMPLATE/1-user-need-help.md
- − .github/ISSUE_TEMPLATE/2-dev-need-help.md
- − .github/ISSUE_TEMPLATE/3-found-bug.md
- − .github/ISSUE_TEMPLATE/4-make-better.md
- − .github/ISSUE_TEMPLATE/5-make-new.md
- − .github/ISSUE_TEMPLATE/6-where-to-go.md
- − .github/SUPPORT.md
- − .github/pull_request_template.md
- − .github/rubric.png
- − .github/workflows/ci.yml
- ci/recipe/meta.yaml
- q2cli/_version.py
- q2cli/click/option.py
- q2cli/click/parser.py
Changes:
=====================================
.github/CONTRIBUTING.md deleted
=====================================
@@ -1,23 +0,0 @@
-# Contributing to this project
-
-Thanks for thinking of us :heart: :tada: - we would love a helping hand!
-
-## I just have a question
-
-> Note: Please don't file an issue to ask a question. You'll get faster results
-> by using the resources below.
-
-### QIIME 2 Users
-
-Check out the [User Docs](https://docs.qiime2.org) - there are many tutorials,
-walkthroughs, and guides available. If you still need help, please visit us at
-the [QIIME 2 Forum](https://forum.qiime2.org/c/user-support).
-
-### QIIME 2 Developers
-
-Check out the [Developer Docs](https://dev.qiime2.org) - there are many
-tutorials, walkthroughs, and guides available. If you still need help, please
-visit us at the [QIIME 2 Forum](https://forum.qiime2.org/c/dev-discussion).
-
-This document is based heavily on the following:
-https://github.com/atom/atom/blob/master/CONTRIBUTING.md
=====================================
.github/ISSUE_TEMPLATE/1-user-need-help.md deleted
=====================================
@@ -1,14 +0,0 @@
----
-name: I am a user and I need help with QIIME 2...
-about: I am using QIIME 2 and have a question or am experiencing a problem
-
----
-
-Have you had a chance to check out the docs?
-https://docs.qiime2.org
-There are many tutorials, walkthroughs, and guides available.
-
-If you still need help, please visit:
-https://forum.qiime2.org/c/user-support
-
-Help requests filed here will not be answered.
=====================================
.github/ISSUE_TEMPLATE/2-dev-need-help.md deleted
=====================================
@@ -1,12 +0,0 @@
----
-name: I am a developer and I need help with QIIME 2...
-about: I am developing a QIIME 2 plugin or interface and have a question or a problem
-
----
-
-Have you had a chance to check out the developer docs?
-https://dev.qiime2.org
-There are many tutorials, walkthroughs, and guides available.
-
-If you still need help, please visit:
-https://forum.qiime2.org/c/dev-discussion
=====================================
.github/ISSUE_TEMPLATE/3-found-bug.md deleted
=====================================
@@ -1,36 +0,0 @@
----
-name: I am a developer and I found a bug...
-about: I am a developer and I found a bug that I can describe
-
----
-
-**Bug Description**
-A clear and concise description of what the bug is.
-
-**Steps to reproduce the behavior**
-1. Go to '...'
-2. Click on '....'
-3. Scroll down to '....'
-4. See error
-
-**Expected behavior**
-A clear and concise description of what you expected to happen.
-
-**Screenshots**
-If applicable, add screenshots to help explain your problem.
-
-**Computation Environment**
-- OS: [e.g. macOS High Sierra]
-- QIIME 2 Release [e.g. 2018.6]
-
-**Questions**
-1. An enumerated list with any questions about the problem here.
-2. If not applicable, please delete this section.
-
-**Comments**
-1. An enumerated list with any other context or comments about the problem here.
-2. If not applicable, please delete this section.
-
-**References**
-1. An enumerated list of links to relevant references, including forum posts, stack overflow, etc.
-2. If not applicable, please delete this section.
=====================================
.github/ISSUE_TEMPLATE/4-make-better.md deleted
=====================================
@@ -1,26 +0,0 @@
----
-name: I am a developer and I have an idea for an improvement...
-about: I am a developer and I have an idea for an improvement to existing functionality
-
----
-
-**Improvement Description**
-A clear and concise description of what the improvement is.
-
-**Current Behavior**
-Please provide a brief description of the current behavior.
-
-**Proposed Behavior**
-Please provide a brief description of the proposed behavior.
-
-**Questions**
-1. An enumerated list of questions related to the proposal.
-2. If not applicable, please delete this section.
-
-**Comments**
-1. An enumerated list of comments related to the proposal that don't fit anywhere else.
-2. If not applicable, please delete this section.
-
-**References**
-1. An enumerated list of links to relevant references, including forum posts, stack overflow, etc.
-2. If not applicable, please delete this section.
=====================================
.github/ISSUE_TEMPLATE/5-make-new.md deleted
=====================================
@@ -1,26 +0,0 @@
----
-name: I am a developer and I have an idea for a new feature...
-about: I am a developer and I have an idea for new functionality
-
----
-
-**Addition Description**
-A clear and concise description of what the addition is.
-
-**Current Behavior**
-Please provide a brief description of the current behavior, if applicable.
-
-**Proposed Behavior**
-Please provide a brief description of the proposed behavior.
-
-**Questions**
-1. An enumerated list of questions related to the proposal.
-2. If not applicable, please delete this section.
-
-**Comments**
-1. An enumerated list of comments related to the proposal that don't fit anywhere else.
-2. If not applicable, please delete this section.
-
-**References**
-1. An enumerated list of links to relevant references, including forum posts, stack overflow, etc.
-2. If not applicable, please delete this section.
=====================================
.github/ISSUE_TEMPLATE/6-where-to-go.md deleted
=====================================
@@ -1,147 +0,0 @@
----
-name: I don't know where to file my issue...
-about: I am a developer and I don't know which repo to file this in
-
----
-
-The repos within the QIIME 2 GitHub Organization are listed below, with a brief description about the repo.
-
-Sorted alphabetically by repo name.
-
-- The CI automation engine that builds and distributes QIIME 2
- https://github.com/qiime2/busywork/issues
-
-- A Concourse resource for working with conda
- https://github.com/qiime2/conda-channel-resource/issues
-
-- Web app for vanity URLs for QIIME 2 data assets
- https://github.com/qiime2/data.qiime2.org/issues
-
-- The Developer Documentation
- https://github.com/qiime2/dev-docs/issues
-
-- A discourse plugin for handling queued/unqueued topics
- https://github.com/qiime2/discourse-unhandled-tagger/issues
-
-- The User Documentation
- https://github.com/qiime2/docs/issues
-
-- Rendered QIIME 2 environment files for conda
- https://github.com/qiime2/environment-files/issues
-
-- Google Sheets Add-On for validating tabular data
- https://github.com/qiime2/Keemei/issues
-
-- A docker image for linux-based busywork workers
- https://github.com/qiime2/linux-worker-docker/issues
-
-- Official project logos
- https://github.com/qiime2/logos/issues
-
-- The q2-alignment plugin
- https://github.com/qiime2/q2-alignment/issues
-
-- The q2-composition plugin
- https://github.com/qiime2/q2-composition/issues
-
-- The q2-cutadapt plugin
- https://github.com/qiime2/q2-cutadapt/issues
-
-- The q2-dada2 plugin
- https://github.com/qiime2/q2-dada2/issues
-
-- The q2-deblur plugin
- https://github.com/qiime2/q2-deblur/issues
-
-- The q2-demux plugin
- https://github.com/qiime2/q2-demux/issues
-
-- The q2-diversity plugin
- https://github.com/qiime2/q2-diversity/issues
-
-- The q2-diversity-lib plugin
- https://github.com/qiime2/q2-diversity-lib/issues
-
-- The q2-emperor plugin
- https://github.com/qiime2/q2-emperor/issues
-
-- The q2-feature-classifier plugin
- https://github.com/qiime2/q2-feature-classifier/issues
-
-- The q2-feature-table plugin
- https://github.com/qiime2/q2-feature-table/issues
-
-- The q2-fragment-insertion plugin
- https://github.com/qiime2/q2-fragment-insertion/issues
-
-- The q2-gneiss plugin
- https://github.com/qiime2/q2-gneiss/issues
-
-- The q2-longitudinal plugin
- https://github.com/qiime2/q2-longitudinal/issues
-
-- The q2-metadata plugin
- https://github.com/qiime2/q2-metadata/issues
-
-- The q2-phylogeny plugin
- https://github.com/qiime2/q2-phylogeny/issues
-
-- The q2-quality-control plugin
- https://github.com/qiime2/q2-quality-control/issues
-
-- The q2-quality-filter plugin
- https://github.com/qiime2/q2-quality-filter/issues
-
-- The q2-sample-classifier plugin
- https://github.com/qiime2/q2-sample-classifier/issues
-
-- The q2-shogun plugin
- https://github.com/qiime2/q2-shogun/issues
-
-- The q2-taxa plugin
- https://github.com/qiime2/q2-taxa/issues
-
-- The q2-types plugin
- https://github.com/qiime2/q2-types/issues
-
-- The q2-vsearch plugin
- https://github.com/qiime2/q2-vsearch/issues
-
-- The CLI interface
- https://github.com/qiime2/q2cli/issues
-
-- The prototype CWL interface
- https://github.com/qiime2/q2cwl/issues
-
-- The prototype Galaxy interface
- https://github.com/qiime2/q2galaxy/issues
-
-- An internal tool for ensuring header text and copyrights are present
- https://github.com/qiime2/q2lint/issues
-
-- The prototype GUI interface
- https://github.com/qiime2/q2studio/issues
-
-- A base template for use in official QIIME 2 plugins
- https://github.com/qiime2/q2templates/issues
-
-- The read-only web interface at view.qiime2.org
- https://github.com/qiime2/q2view/issues
-
-- The QIIME 2 homepage at qiime2.org
- https://github.com/qiime2/qiime2.github.io/issues
-
-- The QIIME 2 framework
- https://github.com/qiime2/qiime2/issues
-
-- Centralized templates for repo assets
- https://github.com/qiime2/template-repo/issues
-
-- Scripts for building QIIME 2 VMs
- https://github.com/qiime2/vm-playbooks/issues
-
-- Scripts for building QIIME 2 workshop clusters
- https://github.com/qiime2/workshop-playbooks/issues
-
-- The web app that runs workshops.qiime2.org
- https://github.com/qiime2/workshops.qiime2.org/issues
=====================================
.github/SUPPORT.md deleted
=====================================
@@ -1,112 +0,0 @@
-# QIIME 2 Users
-
-Check out the [User Docs](https://docs.qiime2.org) - there are many tutorials,
-walkthroughs, and guides available. If you still need help, please visit us at
-the [QIIME 2 Forum](https://forum.qiime2.org/c/user-support).
-
-# QIIME 2 Developers
-
-Check out the [Developer Docs](https://dev.qiime2.org) - there are many
-tutorials, walkthroughs, and guides available. If you still need help, please
-visit us at the [QIIME 2 Forum](https://forum.qiime2.org/c/dev-discussion).
-
-# General Bug/Issue Triage Discussion
-
-![rubric](./rubric.png?raw=true)
-
-# Projects/Repositories in the QIIME 2 GitHub Organization
-
-Sorted alphabetically by repo name.
-
-- [busywork](https://github.com/qiime2/busywork/issues)
- | The CI automation engine that builds and distributes QIIME 2
-- [conda-channel-resource](https://github.com/qiime2/conda-channel-resource/issues)
- | A Concourse resource for working with conda
-- [data.qiime2.org](https://github.com/qiime2/data.qiime2.org/issues)
- | Web app for vanity URLs for QIIME 2 data assets
-- [dev-docs](https://github.com/qiime2/dev-docs/issues)
- | The Developer Documentation
-- [discourse-unhandled-tagger](https://github.com/qiime2/discourse-unhandled-tagger/issues)
- | A discourse plugin for handling queued/unqueued topics
-- [docs](https://github.com/qiime2/docs/issues)
- | The User Documentation
-- [environment-files](https://github.com/qiime2/environment-files/issues)
- | Rendered QIIME 2 environment files for conda
-- [Keemei](https://github.com/qiime2/Keemei/issues)
- | Google Sheets Add-On for validating tabular data
-- [linux-worker-docker](https://github.com/qiime2/linux-worker-docker/issues)
- | A docker image for linux-based busywork workers
-- [logos](https://github.com/qiime2/logos/issues)
- | Official project logos
-- [q2-alignment](https://github.com/qiime2/q2-alignment/issues)
- | The q2-alignment plugin
-- [q2-composition](https://github.com/qiime2/q2-composition/issues)
- | The q2-composition plugin
-- [q2-cutadapt](https://github.com/qiime2/q2-cutadapt/issues)
- | The q2-cutadapt plugin
-- [q2-dada2](https://github.com/qiime2/q2-dada2/issues)
- | The q2-dada2 plugin
-- [q2-deblur](https://github.com/qiime2/q2-deblur/issues)
- | The q2-deblur plugin
-- [q2-demux](https://github.com/qiime2/q2-demux/issues)
- | The q2-demux plugin
-- [q2-diversity](https://github.com/qiime2/q2-diversity/issues)
- | The q2-diversity plugin
-- [q2-diversity-lib](https://github.com/qiime2/q2-diversity-lib/issues)
- | The q2-diversity-lib plugin
-- [q2-emperor](https://github.com/qiime2/q2-emperor/issues)
- | The q2-emperor plugin
-- [q2-feature-classifier](https://github.com/qiime2/q2-feature-classifier/issues)
- | The q2-feature-classifier plugin
-- [q2-feature-table](https://github.com/qiime2/q2-feature-table/issues)
- | The q2-feature-table plugin
-- [q2-fragment-insertion](https://github.com/qiime2/q2-fragment-insertion/issues)
- | The q2-fragment-insertion plugin
-- [q2-gneiss](https://github.com/qiime2/q2-gneiss/issues)
- | The q2-gneiss plugin
-- [q2-longitudinal](https://github.com/qiime2/q2-longitudinal/issues)
- | The q2-longitudinal plugin
-- [q2-metadata](https://github.com/qiime2/q2-metadata/issues)
- | The q2-metadata plugin
-- [q2-phylogeny](https://github.com/qiime2/q2-phylogeny/issues)
- | The q2-phylogeny plugin
-- [q2-quality-control](https://github.com/qiime2/q2-quality-control/issues)
- | The q2-quality-control plugin
-- [q2-quality-filter](https://github.com/qiime2/q2-quality-filter/issues)
- | The q2-quality-filter plugin
-- [q2-sample-classifier](https://github.com/qiime2/q2-sample-classifier/issues)
- | The q2-sample-classifier plugin
-- [q2-shogun](https://github.com/qiime2/q2-shogun/issues)
- | The q2-shogun plugin
-- [q2-taxa](https://github.com/qiime2/q2-taxa/issues)
- | The q2-taxa plugin
-- [q2-types](https://github.com/qiime2/q2-types/issues)
- | The q2-types plugin
-- [q2-vsearch](https://github.com/qiime2/q2-vsearch/issues)
- | The q2-vsearch plugin
-- [q2cli](https://github.com/qiime2/q2cli/issues)
- | The CLI interface
-- [q2cwl](https://github.com/qiime2/q2cwl/issues)
- | The prototype CWL interface
-- [q2galaxy](https://github.com/qiime2/q2galaxy/issues)
- | The prototype Galaxy interface
-- [q2lint](https://github.com/qiime2/q2lint/issues)
- | An internal tool for ensuring header text and copyrights are present
-- [q2studio](https://github.com/qiime2/q2studio/issues)
- | The prototype GUI interface
-- [q2templates](https://github.com/qiime2/q2templates/issues)
- | A base template for use in official QIIME 2 plugins
-- [q2view](https://github.com/qiime2/q2view/issues)
- | The read-only web interface at view.qiime2.org
-- [qiime2.github.io](https://github.com/qiime2/qiime2.github.io/issues)
- | The QIIME 2 homepage at qiime2.org
-- [qiime2](https://github.com/qiime2/qiime2/issues)
- | The QIIME 2 framework
-- [template-repo](https://github.com/qiime2/template-repo/issues)
- | Centralized templates for repo assets
-- [vm-playbooks](https://github.com/qiime2/vm-playbooks/issues)
- | Scripts for building QIIME 2 VMs
-- [workshop-playbooks](https://github.com/qiime2/workshop-playbooks/issues)
- | Scripts for building QIIME 2 workshop clusters
-- [workshops.qiime2.org](https://github.com/qiime2/workshops.qiime2.org/issues)
- | The web app that runs workshops.qiime2.org
=====================================
.github/pull_request_template.md deleted
=====================================
@@ -1,11 +0,0 @@
-Brief summary of the Pull Request, including any issues it may fix using the GitHub closing syntax:
-
-https://help.github.com/articles/closing-issues-using-keywords/
-
-Also, include any co-authors or contributors using the GitHub coauthor tag:
-
-https://help.github.com/articles/creating-a-commit-with-multiple-authors/
-
----
-
-Include any questions for reviewers, screenshots, sample outputs, etc.
=====================================
.github/rubric.png deleted
=====================================
Binary files a/.github/rubric.png and /dev/null differ
=====================================
.github/workflows/ci.yml deleted
=====================================
@@ -1,55 +0,0 @@
-# This file is automatically generated by busywork.qiime2.org and
-# template-repos - any manual edits made to this file will be erased when
-# busywork performs maintenance updates.
-
-name: ci
-
-on:
- pull_request:
- push:
- branches:
- - master
-
-jobs:
- lint:
- runs-on: ubuntu-latest
- steps:
- - name: checkout source
- uses: actions/checkout at v2
-
- - name: set up python 3.8
- uses: actions/setup-python at v1
- with:
- python-version: 3.8
-
- - name: install dependencies
- run: python -m pip install --upgrade pip
-
- - name: lint
- run: |
- pip install -q https://github.com/qiime2/q2lint/archive/master.zip
- q2lint
- pip install -q flake8
- flake8
-
- build-and-test:
- needs: lint
- strategy:
- matrix:
- os: [ubuntu-latest, macos-latest]
- runs-on: ${{ matrix.os }}
- steps:
- - name: checkout source
- uses: actions/checkout at v2
- with:
- fetch-depth: 0
-
- - name: set up git repo for versioneer
- run: git fetch --depth=1 origin +refs/tags/*:refs/tags/*
-
- - uses: qiime2/action-library-packaging at alpha1
- with:
- package-name: q2cli
- build-target: dev
- additional-tests: QIIMETEST= py.test --pyargs q2cli
- library-token: ${{ secrets.LIBRARY_TOKEN }}
=====================================
ci/recipe/meta.yaml
=====================================
@@ -21,7 +21,7 @@ requirements:
run:
- python {{ python }}
- pip
- - click >=7,<8
+ - click >=8.1
- qiime2 {{ qiime2_epoch }}.*
test:
=====================================
q2cli/_version.py
=====================================
@@ -23,9 +23,9 @@ def get_keywords():
# setup.py/versioneer.py will grep for the variable names, so they must
# each be defined on a line of their own. _version.py will just call
# get_keywords().
- git_refnames = " (tag: 2022.2.0)"
- git_full = "4c4b5ca74b59534771778e0f0c6f63410a9967af"
- git_date = "2022-02-18 19:48:00 +0000"
+ git_refnames = " (tag: 2022.8.0)"
+ git_full = "469e5eb69d7fe6b213f628d299fff1545cdec9f7"
+ git_date = "2022-08-22 21:21:57 +0000"
keywords = {"refnames": git_refnames, "full": git_full, "date": git_date}
return keywords
=====================================
q2cli/click/option.py
=====================================
@@ -54,7 +54,18 @@ class GeneratedOption(click.Option):
else:
attrs['type'] = None
+ # This nonsense:
+ # https://github.com/pallets/click/blob
+ # /08f71b08e2b7ee9b1ea27daf6d3040999fc68551
+ # /src/click/core.py#L2576-L2584
+ if is_bool_flag and multiple is not None:
+ to_add_multiple = attrs.pop('multiple')
+
super().__init__(**attrs)
+
+ if is_bool_flag and multiple is not None:
+ self.multiple = to_add_multiple
+
# put things back the way they _should_ be after evading __DEBUG__
self.is_bool_flag = is_bool_flag
self.type = click_type
@@ -91,10 +102,11 @@ class GeneratedOption(click.Option):
def _consume_metadata(self, ctx, opts):
# double consume
- md_file = super().consume_value(ctx, opts)
+ md_file, source = super().consume_value(ctx, opts)
# consume uses self.name, so mutate but backup for after
backup, self.name = self.name, self.q2_extra_dest
- md_col = super().consume_value(ctx, opts)
+ md_col, _ = super().consume_value(ctx, opts)
+
self.name = backup
if (md_col is None) != (md_file is None):
@@ -106,9 +118,9 @@ class GeneratedOption(click.Option):
ctx=ctx, param=self)
if md_col is None and md_file is None:
- return None
+ return (None, source)
else:
- return (md_file, md_col)
+ return ((md_file, md_col), source)
def get_help_record(self, ctx):
record = super().get_help_record(ctx)
@@ -125,33 +137,34 @@ class GeneratedOption(click.Option):
def add_to_parser(self, parser, ctx):
shared = dict(dest=self.name, nargs=0, obj=self)
if self.q2_metadata == 'column':
- parser.add_option(self.opts, action='store', dest=self.name,
+ parser.add_option(opts=self.opts, action='store', dest=self.name,
nargs=1, obj=self)
- parser.add_option(self.q2_extra_opts, action='store',
+ parser.add_option(opts=self.q2_extra_opts, action='store',
dest=self.q2_extra_dest, nargs=1, obj=self)
elif self.is_bool_flag:
if self.multiple:
action = 'append_maybe'
else:
action = 'store_maybe'
- parser.add_option(self.opts, action=action, const=True,
+ parser.add_option(opts=self.opts, action=action, const=True,
**shared)
- parser.add_option(self.secondary_opts, action=action,
+ parser.add_option(opts=self.secondary_opts, action=action,
const=False, **shared)
elif self.multiple:
action = 'append_greedy'
- parser.add_option(self.opts, action='append_greedy', **shared)
+ parser.add_option(opts=self.opts, action='append_greedy', **shared)
else:
super().add_to_parser(parser, ctx)
- def get_default(self, ctx):
- if self.required:
+ def get_default(self, ctx, call=True):
+ if self.required and not ctx.resilient_parsing and not (
+ self.q2_prefix == 'o' and ctx.params.get('output_dir', False)):
raise click.MissingParameter(ctx=ctx, param=self)
- return super().get_default(ctx)
+ return super().get_default(ctx, call=call)
- def full_process_value(self, ctx, value):
+ def process_value(self, ctx, value):
try:
- return super().full_process_value(ctx, value)
+ return super().process_value(ctx, value)
except click.MissingParameter:
if not (self.q2_prefix == 'o'
and ctx.params.get('output_dir', False)):
=====================================
q2cli/click/parser.py
=====================================
@@ -95,8 +95,7 @@ class Q2Parser(parser.OptionParser):
# < https://github.com/pallets/click/blob/
# ic6042bf2607c5be22b1efef2e42a94ffd281434c/click/parser.py#L228 >
# Copyright (c) 2014 by the Pallets team.
- def add_option(self, opts, dest, action=None, nargs=1, const=None,
- obj=None):
+ def add_option(self, obj, opts, dest, action=None, nargs=1, const=None):
"""Adds a new option named `dest` to the parser. The destination
is not inferred (unlike with optparse) and needs to be explicitly
provided. Action can be any of ``store``, ``store_const``,
@@ -104,8 +103,6 @@ class Q2Parser(parser.OptionParser):
The `obj` can be used to identify the option in the order list
that is returned from the parser.
"""
- if obj is None:
- obj = dest
opts = [parser.normalize_opt(opt, self.ctx) for opt in opts]
# BEGIN MODIFICATIONS
@@ -122,8 +119,8 @@ class Q2Parser(parser.OptionParser):
elif action == 'append_greedy':
nargs = 0
- option = Q2Option(opts, dest, action=action, nargs=nargs,
- const=const, obj=obj)
+ option = Q2Option(obj=obj, opts=opts, dest=dest, action=action,
+ nargs=nargs, const=const)
# END MODIFICATIONS
self._opt_prefixes.update(option.prefixes)
for opt in option._short_opts:
View it on GitLab: https://salsa.debian.org/med-team/q2cli/-/commit/7f1d1d25830745f6d91bf65bc6f9fbf6d7a5c8b1
--
View it on GitLab: https://salsa.debian.org/med-team/q2cli/-/commit/7f1d1d25830745f6d91bf65bc6f9fbf6d7a5c8b1
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20220905/9160cbca/attachment-0001.htm>
More information about the debian-med-commit
mailing list