clone: Allow to skip alias expansion
authorGuido Günther <agx@sigxcpu.org>
Thu, 26 May 2022 18:59:08 +0000 (20:59 +0200)
committerGuido Günther <agx@sigxcpu.org>
Fri, 27 May 2022 08:32:40 +0000 (10:32 +0200)
Add an option that allow to skip exansion of aliases like salsa:
by gbp so that git can do that.

Closes: #983085
docs/manpages/gbp-clone.xml
gbp/config.py
gbp/scripts/clone.py

index 849d990ae85cd9aaccdf1d7782021498c6d07591..8f6044c505fcf2e74fbba254013835091d205052 100644 (file)
@@ -33,6 +33,7 @@
       <arg><option>--defuse-gitattributes=</option><replaceable>[auto|on|off]</replaceable></arg>
       <arg><option>--repo-user=</option><option>[GIT|DEBIAN]</option></arg>
       <arg><option>--repo-email=</option><option>[GIT|DEBIAN]</option></arg>
+      <arg><option>--[no-]aliases</option></arg>
       <arg choice="plain"><replaceable>repository</replaceable></arg>
       <arg><replaceable>directory</replaceable></arg>
     </cmdsynopsis>
           </para>
         </listitem>
       </varlistentry>
+      <varlistentry>
+        <term><option>--[no-]aliases</option>
+        </term>
+        <listitem>
+          <para>
+           Whether to expand gbp specific aliases for remote repos like <symbol>salsa:</symbol>.
+          </para>
+        </listitem>
+      </varlistentry>
       <varlistentry>
        <term><replaceable>repository</replaceable></term>
        <listitem>
index ef5570d1e9fbd7f38b8e7edca376128b94df7704..aa626343256f52e8ff1438d05b85a43b56c80782 100644 (file)
@@ -102,6 +102,7 @@ class GbpOptionParser(OptionParser):
     @type def_config_files: dict (type, path)
     """
     defaults = {'abbrev': 7,
+                'aliases': 'True',
                 'allow-unauthenticated': 'False',
                 'arch': '',
                 'author-date-is-committer-date': 'False',
@@ -194,6 +195,9 @@ class GbpOptionParser(OptionParser):
                 'urgency': 'medium',
                 }
     help = {
+        'aliases':
+            "Whether to expand gbp specific aliases like `salsa:`,"
+            "default is '%(aliases)s'",
         'debian-branch':
             "Branch the Debian package is being developed on, "
             "default is '%(debian-branch)s'",
index d538cdfebd81067544cedb1cef16bbd917454f80..ae8bbc2856befa9b69c88bf033e1c49dcaec91d2 100755 (executable)
@@ -140,6 +140,7 @@ def build_parser(name):
                                   choices=['DEBIAN', 'GIT'])
     parser.add_config_file_option(option_name="defuse-gitattributes", dest="defuse_gitattributes",
                                   type="tristate", help="disable harmful Git attributes")
+    parser.add_boolean_config_file_option(option_name="aliases", dest="aliases")
     return parser
 
 
@@ -164,7 +165,8 @@ def main(argv):
         gbp.log.err("Need a repository to clone.")
         return 1
     else:
-        source = repo_to_url(args[1])
+        remote_repo = args[1]
+        source = repo_to_url(remote_repo) if options.aliases else remote_repo
         if not source:
             return 1