summaryrefslogtreecommitdiff
path: root/testing/02-commands-copy.yarn
blob: 8319cb6c17f98078a250ba03bbd602a92aeb7f37 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!-- -*- markdown -*- -->

`copy <oldrepo> <newrepo>`
==========================

The `copy` command can be used to fork a repository, so you could work on
a project hosted in the same gitano instance without needing push access.

Basic operation
===============

The basic operation of a copy is to duplicate a repository. This by
itself is not useful, since the primary use-case is to provide a copy
of a repository you are not allowed to write to, to a place you are.

	SCENARIO Basic operation of copy
	GIVEN a standard instance
	WHEN testinstance adminkey runs create stoat
	AND testinstance adminkey runs copy stoat badger
	AND testinstance adminkey runs ls
	THEN stdout contains badger

Permissions checking
====================

TODO: This requires gitano rules that are not the default of there being
gitano-admin and everyone else, since only gitano-admin is able to read
admin repositories.