Skip to content

Commit 6982f6c

Browse files
committed
[*] readme
readme
1 parent 8649ff9 commit 6982f6c

File tree

1 file changed

+115
-0
lines changed

1 file changed

+115
-0
lines changed

README.md

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,117 @@
11
# php-svn
22
svn in php
3+
4+
## install
5+
6+
```cmd
7+
$ composer require breeze2/php-svn
8+
9+
```
10+
11+
## usage
12+
13+
```php
14+
<?php
15+
16+
use BL\LibSvn\Exceptions\SvnException as SvnException;
17+
use BL\LibSvn\SvnAdmin as SvnAdmin;
18+
use BL\LibSvn\SvnClient as Svn;
19+
use BL\LibSvn\SvnConfAuthz as SvnAuthz;
20+
21+
require 'path/to/vendor/autoload.php';
22+
23+
try {
24+
$parent_dir = '/path/to/svn/repos';
25+
$svnclient_bin = '/path/to/svn/bin';
26+
$svnadmin_bin = '/path/to/svnadmin/bin';
27+
28+
$svnadmin = new SvnAdmin($svnadmin_bin);
29+
$svn = new Svn($svnclient_bin);
30+
$authz = new SvnAuthz();
31+
32+
// create svn repo
33+
$repo_name = 'your_repo_name';
34+
$repo_path = $parent_dir . '/' . $repo_name;
35+
$result = $svnadmin->create($repo_path);
36+
37+
// make svn dir
38+
$svn->mkdir('/path/to/svn/repos/your_repo_name/dir');
39+
$svn->mkdir(array(
40+
'/path/to/svn/repos/your_repo_name/dir1',
41+
'/path/to/svn/repos/your_repo_name/dir2/dir3',
42+
'/path/to/svn/repos/your_repo_name/dir4/dir5/dir6',
43+
));
44+
45+
// list svn dir
46+
$list = $svn->ls('/path/to/svn/repos/your_repo_name/dir', array(
47+
'xml' => ''
48+
));
49+
50+
// get svn log
51+
$rev = '1';
52+
$log = $svn->log('/path/to/svn/repos/your_repo_name', array(
53+
'xml' => '',
54+
'revision' => $rev,
55+
'verbose' => ''
56+
));
57+
58+
// svn auth
59+
$authz_conf = '/path/to/svn/repos/your_repo_name/conf/authz';
60+
$authz->open($authz_conf);
61+
62+
// create group
63+
$authz->createGroup('group_name');
64+
// delete group
65+
$authz->deleteGroup('group_name');
66+
// list groups
67+
$list = $authz->groups();
68+
// add member to group
69+
$authz->addUserToGroup('group_name', 'member_name');
70+
// remove member from group
71+
$authz->removeUserFromGroup('group_name', 'member_name');
72+
// list member of group
73+
$list = $authz->usersOfGroup('group_name');
74+
// create path
75+
$authz->addRepositoryPath('path_name');
76+
// delete path
77+
$authz->removeRepositoryPath('path_name');
78+
// list paths
79+
$list = $authz->repositoryPaths();
80+
// add member or group in path
81+
$authz->addUserToRepositoryPath('path_name', 'member_name', 'rw');
82+
$authz->addUserToRepositoryPath('path_name', '@group_name', 'r');
83+
$authz->addUserToRepositoryPath('path_name', 'member_name1', '');
84+
// remove member or group in path
85+
$authz->removeUserFromRepositoryPath('path_name', 'member_name');
86+
$authz->removeUserFromRepositoryPath('path_name', '@group_name');
87+
// list member or group in path
88+
$list = $authz->membersOfRepositoryPath('path_name');
89+
// get permission of member or group in path
90+
$permission = $authz->permissionOfUserInRepositoryPath('member_name', 'path_name');
91+
$permission = $authz->permissionOfUserInRepositoryPath('@group_name', 'path_name');
92+
// change permission of member or group in path
93+
$authz->addUserToRepositoryPath('path_name', 'member_name', 'r');
94+
$authz->addUserToRepositoryPath('path_name', '@group_name', 'rw');
95+
96+
// save the changes of svn auth
97+
$authz->save();
98+
99+
} catch (SvnException e) {
100+
echo $e->getOutput();
101+
}
102+
103+
```
104+
105+
## API
106+
107+
```php
108+
<?php
109+
SvnAdmin::create(string $svn_repo_path, [array $option]);
110+
SvnClient::mkdir(string $svn_repo_path_dir, [array $option]);
111+
SvnClient::mkdir(array $svn_repo_path_dirs, [array $option]);
112+
SvnClient::ls(string $svn_repo_path_dir, [array $option]);
113+
SvnClient::ls(array $svn_repo_path_dirs, [array $option]);
114+
SvnClient::log(string $svn_repo_path, array $option);
115+
...
116+
117+
```

0 commit comments

Comments
 (0)