#9 fedpkg clone should support specifying a target folder
Closed: Fixed 7 years ago Opened 8 years ago by pingou.

In the process of namespacing our git repos, we will allow repositories for rpms or docker to have the same name. This means one would be allowed to do:

fedpkg clone rpms/foo
fedpkg clone docker/foo

This will currently fail at the second command because the git clone command fails since there is already a foo folder in the current directory.

I think we should add the possibility to fedpkg to support specifying the output folder (similarly to the way git clone supports it).

For example

fedpkg clone docker/foo docker_foo

Did git namespacing passed already? I'm wondering how same repository names will be handled in the buildsystem. According to current packaging guidelines repository name corresponds with the package name. But this doesn't take namespace in account.

What will be package name of the foo repository under docker/ namespace?

I have no issue with enabling you to name the output differently as git does. but as to supporting namespaces I think that is a entirely different discussion that needs to happen elsewhere.

I see. So this is just general request which belongs to rpkg.

The discussion about namespacing has started on the devel list: https://lists.fedoraproject.org/pipermail/devel/2015-November/217125.html but yes this RFE is a generic one.

I might come up with a patch but if you know where to fix it feel free to tackle this before I get around to do it :)

Thanks

Now, fedpkg is able to clone a repo into a specified place.

$ fedpkg clone -h
usage: fedpkg clone [-h] [--branches] [--branch BRANCH] [--anonymous]
                    module [clone_target]

This command will clone the named module from the configured repository base
URL. By default it will also checkout the master branch for your working copy.

positional arguments:
  module                Name of the module to clone
  clone_target          Directory in which to clone the module

optional arguments:
  -h, --help            show this help message and exit
  --branches, -B        Do an old style checkout with subdirs for branches
  --branch BRANCH, -b BRANCH
                        Check out a specific branch
  --anonymous, -a       Check out a module anonymously
$ fedpkg clone docker/cockpit private-cockpit
Cloning into 'private-cockpit'...
remote: Counting objects: 22, done.
remote: Compressing objects: 100% (21/21), done.
remote: Total 22 (delta 8), reused 0 (delta 0)
Receiving objects: 100% (22/22), done.
Resolving deltas: 100% (8/8), done.
Checking connectivity... done.
$ ls private-cockpit/
sources

Does this meet this issue already?

I'm pretty sure the requirements are satisfied now and this issue can be closed.

@cqi changed the status to Fixed

7 years ago

Login to comment on this ticket.

Metadata