-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
234 lines (155 loc) · 5.92 KB
/
README
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
################################################################
# NaughtySVN README file. #
################################################################
#################
Table of Contents
#################
- Overview
- Architecture and Design
- Directory Layout
- Dependencies
- Building & Installing
- What happens while installing
- Invocation/Running
- Known Issues/Fixme's/Todo's
- Further Information
--------
Overview
--------
NaughtySVN (NSVN) is an easy-to-use GUI based Subversion client which
works as an extension to Nautilus File Manager (Graphical shell for
the GNOME desktop environment). Inspired by TortoiseSVN, Its an effort
primarily for non-technical people to use subversion.
NSVN has a graphical interface which can be activated from Nautilus
file browsing window. Its graphical windows are designed to be simple and
easy to use, which will allow users to create and administer subversion
repository, checkout and commit working copies, handling working copies,
browsing repositories and working copies, handling remote repositories and
working copies etc.
-----------------------
Architecture and Design
-----------------------
See ./notes/arch for more details
----------------
Directory Layout
----------------
doc/
User and Developer documentation build using doxygen.
m4/
Custom GNU build system macro processors.
notes/
Developers docs and scribbling location.
packages/
Stuff to help packaging systems, like rpm and dpkg.
pixmaps/
Images for GUI.
po/
Translatable strings for Multi-language support.
www/
NaughtySVN home page, live content at www.naughtysvn.org
nautilus/
Integration with Nautilus.
nsvn/
User interface and GUI's
svn/
NaughtySVN Subversion binding API.
------------
Dependencies
------------
The following packages and libraries are required by NaughtySVN:
* Gnome 1.4
* Subversion 1.2
* libsvn_client-1
* libsvn_repos-1
* libsvn_subr-1
* libsvn_fs-1
* libsvn_wc-1
* Nautilus 2.9.0
* libNautilus-Extension 2.9.0
* GLib 2.0
* GModules 2.0
* GThread 2.0
* GTK 2.0
* LibGnome 2.0
* LibGnomeUI 2.0
* Gnome-VFS 2.0
* Gnome-VFS-Module 2.0
* LibGlade 2.0
* libpng 3.0
* Apache 2.0
* libapr 0.9.6
* libaprutil 0.9.6
* libdb 4.3
* neon 0.24.7
For development purposes you will also need libglade-gnome.
Note: On Debian Etch systems it is impossible to install out of the box
both libglade-gnome0-dev and libsvn-dev due to a conflict between dependend
upon libraries. In order to install them side by side you will have to
modify an existing libdb4.4-dev deb package to add "libdb3-dev" to the
Provides: field of the package. You can do this by editing DEBIAN/control
after running "deb-reversion -k /bin/sh libdb4.4-dev_*.deb". When done, exit
and install with "dpkg -i libdb4.4-dev*LOCAL*.deb" the newly created
libdb4.4-dev package.
---------------------
Building & Installing
---------------------
See ./INSTALL for a details building and installation document. Following
is a simple way to build and install NSVN. Subversion include and library
paths are all hard coded, so in case of problems please make appropriate
changes in ./svn/Makefile.am.
1. 'cd' to top most directory of NSVN and type './autogen.sh'
2. 'make' to compile NSVN
3. 'make install' to install NSVN.
4. 'pkill -9 nautilus' kill all nautilus instances
Note:- Developers can use 'make installdev' for installing and restarting nautilus.
----------------------------
What happens on installation
----------------------------
'make install' will install NSVN in following order
- Shared and static libraries from nautilus module of NSVN
will be copied to nautilus_extension loadable module directory.
Installation script retrieves the nautilus extension directory using
'pkg-config' tool and file 'libnautilus-extension.pc'.
* nautilus/libnautilus-naughtysvn.so will be copied to
nautilus_extension_libdir/nautilus/extensions-x.0/
* nautilus/libnautilus-naughtysvn.la will be copied to
nautilus_extension_libdir/nautilus/extensions-x.0/
* nautilus/libnautilus-naughtysvn.a will be copied to
nautilus_extension_libdir/nautilus/extensions-x.0/
- Shared and static libraries from svn module of NSVN will be
copied to default library directory. Then svn module header file
will be copied to default include directory.
* svn/libsvn-naughtysvn.so will be copied to $libdir
* svn/libsvn-naughtysvn.la will be copied to $libdir
* svn/libsvn-naughtysvn.a will be copied to $libdir
* svn/svn_naughtysvn.h will be copied to $includedir
- NaughtySVN executable, user interface glade and pixmaps
files will be copied to default bin directory, default share
or data directories
* nsvn/naughtysvn will be copied to $bindir
* nsvn/naughtysvn.glade will be copied to gladedir
------------------
Invocation/Running
------------------
NaughtySVN is tightly coupled with subversion and nautilus and is not
designed to invoke it separately from command line. But in the interest
of developers and to test svn and nsvn modules faster, they can call
the 'naughtysvn' executable from command line use following format
naughtysvn MID=NSVN CMD=command list_of_arguments ...
where 'MID=NSVN' is a magic id used to transfer NSVN related data
from Nautilus to NSVN, 'command' is the command to be executed by nsvn
and 'list_of_arguments' are list of arguments need to execute the command
separated by space. for example:
naughtysvn MID=NSVN CMD=create_repos /tmp/repos
---------------------------
Known Issues/Fixme's/Todo's
---------------------------
Search for FIXME/TODO in source code for more details...
-------------------
Further Information
-------------------
The official NaughtySVN homepage is located at
http://naughtysvn.tigris.org
There you can always find the latest releases and instructions.
-Alexander Thomas (AT)
Monday, July 02 2007