1SVK::Help::Intro(3) User Contributed Perl Documentation SVK::Help::Intro(3)
2
3
4
6 SVK::Help::Intro - Introduction to svk
7
9 svk is an open source distributed version control system which is
10 designed to interoperate with Subversion. Like other version control
11 systems, it keeps track of each change you make to a project and allows
12 you to maintain multiple parallel tracks of development. svk also has
13 a number of powerful features which are rarely found in other version
14 control systems.
15
16 svk has been designed from the ground up to support development models
17 that are simple and intuitive for software developers. It has advanced
18 smart branching and merging semantics that make it easy to maintain
19 multiple parallel lines of development and painless to merge changes
20 across branches. svk's built in patch manager makes it easy for non-
21 committers to share changes among themselves and with project
22 maintainers
23
24 svk provides powerful support for distributed development. Every svk
25 client is capable of fully mirroring remote Subversion repositories so
26 that you have full access to a project's history at any time, even when
27 they are off the network or on the wrong side of a firewall. You can
28 branch a remote project at any point in that project's history, whether
29 or not you have write access to that project's repository. Later, you
30 can integrate changes from the project's master server (usually with a
31 single command) or push your branch up to another Subversion
32 repository.
33
35 svk has a rich command line interface that can be somewhat daunting at
36 first. the following few commands are all you'll need for day to day
37 operation.
38
39 svk mirror
40 First, you'll need to mirror a remote repository. This sets up a
41 local copy of that repository for you to branch from, merge to and
42 otherwise poke at. The local path is sometimes called a "depot
43 path."
44
45 svk mirror svn://svn.example.com/project_x //mirror/project_x
46
47 svk sync
48 When you've set up a new mirror or want to get some work done
49 without a network connection, sync your local repository with
50 upstream repositories.
51
52 svk sync //mirror/project_x
53
54 svk checkout
55 When you want to get some work done, you can checkout a working
56 copy to make changes.
57
58 cd ~/svk-checkouts
59 svk co //mirror/project_x
60
61 If you want to work offline, you can create a local branch
62
63 cd ~/svk-checkouts/project_x
64 svk branch --offline
65
66 svk add, svk delete and svk move
67 As you work on the files in your working copy, feel free to add new
68 files, delete existing files and move files around.
69
70 cd ~/svk-checkouts/project_x
71
72 svk add Changelog
73 svk move badly_named_file.c well_named_file.c
74 svk delete .README.swp
75
76 svk commit
77 When you're done, just commit your changes to your local
78 repository, whether or not you have network. If you commit to a
79 mirrored path, rather than a local branch, you'll need to be able
80 to access the path's upstream subversion server, but the commit
81 will be sent to the server instantly.
82
83 svk commit
84
85 svk pull
86 Life doesn't stop when you make a local branch. From time to time,
87 pull down changes from the upstream repository.
88
89 cd ~/svk-checkouts/project_x
90 svk pull
91
92 svk push
93 When you're ready to share your changes with the world, push them
94 to the upstream repository.
95
96 cd ~/svk-checkouts/project_x
97 svk push
98
99 To see a full list of svk's commands, type "svk help commands". For
100 help with a specific command, just type "svk help command".
101
102 The svk wiki (<http://svk.bestpractical.com>) is a great place to find
103 the latest svk tips, tricks and updates. If you run into trouble using
104 svk, the wiki's the right place to start looking for help.
105
106
107
108perl v5.32.1 2021-01-27 SVK::Help::Intro(3)