You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Ben Collins-Sussman <su...@collab.net> on 2005/03/23 16:46:08 UTC
showing fs modules in --version ?
Someone brought up the idea of --version showing fs-backends the same
way we show available RA layers. It seems like a good idea to me.
For example, what if ra_local had more sub-items:
$ svn --version
svn, version 1.2.0 (dev build)
compiled Mar 23 2005, 09:58:58
Copyright (C) 2000-2004 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet
(http://www.Collab.Net/).
The following repository access (RA) modules are available:
* ra_dav : Module for accessing a repository via WebDAV (DeltaV)
protocol.
- handles 'http' schema
- handles 'https' schema
* ra_svn : Module for accessing a repository using the svn network
protocol.
- handles 'svn' schema
* ra_local : Module for accessing a repository on local disk.
- handles 'file' schema
- fs_base: can access BerkeleyDB repositories
- fs_fs: can access FSFS repositories
And similarly, svnadmin (and svnlook) --version could show something
similar:
$ svnadmin --version
svnadmin, version 1.2.0 (dev build)
compiled Mar 23 2005, 09:58:58
Copyright (C) 2000-2004 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet
(http://www.Collab.Net/).
The following filesystem back-end implementations are available:
* fs_base: can access BerkeleyDB repositories
* fs_fs: can access FSFS repositories
Might this be a nice thing to add?
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: showing fs modules in --version ?
Posted by John Peacock <jp...@rowman.com>.
Ben Collins-Sussman wrote:
> cmpilato was only -0, and clean code factorization sounds good to me.
>
How does this look:
> $ subversion/clients/cmdline/svn --version
> svn, version 1.2.0 (dev build)
> compiled Mar 23 2005, 16:30:12
>
> Copyright (C) 2000-2004 CollabNet.
> Subversion is open source software, see http://subversion.tigris.org/
> This product includes software developed by CollabNet (http://www.Collab.Net/).
>
> The following filesystem back-end (FS) implementations are available:
>
> * fs_base : can access BerkeleyDB repositories
> * fs_fs : can access FSFS (filesystem) repositories
>
> The following repository access (RA) modules are available:
>
> * ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol.
> - handles 'http' schema
> * ra_svn : Module for accessing a repository using the svn network protocol.
> - handles 'svn' schema
> * ra_local : Module for accessing a repository on local disk.
> - handles 'file' schema
and
> $ subversion/svnadmin/svnadmin --version
> svnadmin, version 1.2.0 (dev build)
> compiled Mar 23 2005, 16:30:12
>
> Copyright (C) 2000-2004 CollabNet.
> Subversion is open source software, see http://subversion.tigris.org/
> This product includes software developed by CollabNet (http://www.Collab.Net/).
>
> The following filesystem back-end (FS) implementations are available:
>
> * fs_base : can access BerkeleyDB repositories
> * fs_fs : can access FSFS (filesystem) repositories
>
The only problem I'm having is I cannot figure out how libtool is
choosing which libraries to include when linking the test files, so I am
getting errors like this:
> cd subversion/tests/libsvn_subr && /bin/sh /home/jpeacock/devel/subversion-trunk/libtool --tag=CC --silent --mode=link gcc -g -g -pthread -DNEON_ZLIB -DSVN_DEBUG -DAP_DEBUG -Wpointer-arith -Wwrite-strings -Wshadow -L/usr/local/BerkeleyDB.4.2/lib -rpath /usr/local/lib -o opt-test opt-test.o ../../../subversion/tests/libsvn_test-1.la ../../../subversion/libsvn_subr/libsvn_subr-1.la /usr/local/apache2/lib/libapr-0.la -lrt -lm -lcrypt -lnsl -lpthread -ldl
> /home/jpeacock/devel/subversion-trunk/subversion/libsvn_subr/.libs/libsvn_subr-1.so: undefined reference to `svn_fs_print_fs_modules'
> collect2: ld returned 1 exit status
> make: *** [subversion/tests/libsvn_subr/opt-test] Error 1
which links just fine if I manually add:
../../../subversion/libsvn_fs/libsvn_fs-1.la
to the libtool line.
John
--
John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4501 Forbes Boulevard
Suite H
Lanham, MD 20706
301-459-3366 x.5010
fax 301-429-5748
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: showing fs modules in --version ?
Posted by John Peacock <jp...@rowman.com>.
Ben Collins-Sussman wrote:
> It's a problem. That's a circular dependency. Just about every library
> depends on libsvn_subr... libsvn_subr is the absolute bottom of the
> stack. It can't call into *any* other svn library.
Then I'll just go ahead and cut and paste the common code into each of the
command line utilities' --version path.
John
--
John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4720 Boston Way
Lanham, MD 20706
301-459-3366 x.5010
fax 301-429-5747
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: showing fs modules in --version ?
Posted by Ben Collins-Sussman <su...@collab.net>.
On Mar 23, 2005, at 2:17 PM, John Peacock wrote:
>
> OK, I'm having a thinko here. If I add svn_fs_print_fs_modules() to
> fs-loader.c and then try and call it from svn_opt_print_help(), then
> libsvn_subst needs to call into libsvn_fs. That's not a problem,
> right?
It's a problem. That's a circular dependency. Just about every
library depends on libsvn_subr... libsvn_subr is the absolute bottom of
the stack. It can't call into *any* other svn library.
That's why your libtool is getting confused.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: showing fs modules in --version ?
Posted by John Peacock <jp...@rowman.com>.
John Peacock wrote:
> I'm starting by creating a function in libsvn_fs/fs-loader.c to
> enumerate the available backends (exactly like svn_ra_print_ra_libraries
> operates in libsvn_ra). Then it's pretty easy to add that information
> to svn_opt_print_help() so all of the calls get it.
OK, I'm having a thinko here. If I add svn_fs_print_fs_modules() to
fs-loader.c and then try and call it from svn_opt_print_help(), then
libsvn_subst needs to call into libsvn_fs. That's not a problem, right?
I'm having a blind spot for how to get the linker to defer the call to
the other library (I know this seems basic). In my own defense, I went
to see a Robyn Hitchcock concert last night and I'm still metabolizing
the one beer I drank... ;-)
John
--
John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4501 Forbes Boulevard
Suite H
Lanham, MD 20706
301-459-3366 x.5010
fax 301-429-5748
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: showing fs modules in --version ?
Posted by John Peacock <jp...@rowman.com>.
Ben Collins-Sussman wrote:
> cmpilato was only -0, and clean code factorization sounds good to me.
>
I'm starting by creating a function in libsvn_fs/fs-loader.c to
enumerate the available backends (exactly like svn_ra_print_ra_libraries
operates in libsvn_ra). Then it's pretty easy to add that information
to svn_opt_print_help() so all of the calls get it.
John
--
John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4501 Forbes Boulevard
Suite H
Lanham, MD 20706
301-459-3366 x.5010
fax 301-429-5748
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: showing fs modules in --version ?
Posted by Ben Collins-Sussman <su...@collab.net>.
On Mar 23, 2005, at 12:21 PM, John Peacock wrote:
> Ben Collins-Sussman wrote:
>> Don't remember. Why don't you take a look at how RA does it, and
>> imitate? Wanna send a patch?
>
> Sure. I'm looking at clients/cmdline/help-cmd.c and it looks
> straightforward. If we could change svn_opt_print_help() instead,
> then all of the commandline apps which calls that (and uses --version)
> would get it automagically. But that would involve convincing C.
> Michael that 'svn' should get this too. Seems a waste to edit
> svn(admin|look) to duplicate code...
>
cmpilato was only -0, and clean code factorization sounds good to me.
From what I've seen on the users@ list, a lot of newbies start out by
playing with file:/// urls, and they want to know about fs-backends
just as much as experienced admins setting up servers with
svnadmin/svnlook/svnserve.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: showing fs modules in --version ?
Posted by "C. Michael Pilato" <cm...@collab.net>.
John Peacock <jp...@rowman.com> writes:
> Ben Collins-Sussman wrote:
> > Don't remember. Why don't you take a look at how RA does it, and
> > imitate? Wanna send a patch?
>
> Sure. I'm looking at clients/cmdline/help-cmd.c and it looks
> straightforward. If we could change svn_opt_print_help() instead,
> then all of the commandline apps which calls that (and uses --version)
> would get it automagically. But that would involve convincing
> C. Michael that 'svn' should get this too. Seems a waste to edit
> svn(admin|look) to duplicate code...
I'll survive. :-)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: showing fs modules in --version ?
Posted by John Peacock <jp...@rowman.com>.
Ben Collins-Sussman wrote:
>
> Don't remember. Why don't you take a look at how RA does it, and
> imitate? Wanna send a patch?
Sure. I'm looking at clients/cmdline/help-cmd.c and it looks
straightforward. If we could change svn_opt_print_help() instead, then
all of the commandline apps which calls that (and uses --version) would
get it automagically. But that would involve convincing C. Michael that
'svn' should get this too. Seems a waste to edit svn(admin|look) to
duplicate code...
John
--
John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4501 Forbes Boulevard
Suite H
Lanham, MD 20706
301-459-3366 x.5010
fax 301-429-5748
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: showing fs modules in --version ?
Posted by Ben Collins-Sussman <su...@collab.net>.
On Mar 23, 2005, at 11:02 AM, John Peacock wrote:
> Ben Collins-Sussman wrote:
>> $ svnadmin --version
>> svnadmin, version 1.2.0 (dev build)
>> compiled Mar 23 2005, 09:58:58
>> Copyright (C) 2000-2004 CollabNet.
>> Subversion is open source software, see http://subversion.tigris.org/
>> This product includes software developed by CollabNet
>> (http://www.Collab.Net/).
>> The following filesystem back-end implementations are available:
>> * fs_base: can access BerkeleyDB repositories
>> * fs_fs: can access FSFS repositories
>> Might this be a nice thing to add?
>
> +1. More information good... ;-)
>
> Should be just a couple of #ifdef's right?
>
Don't remember. Why don't you take a look at how RA does it, and
imitate? Wanna send a patch?
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: showing fs modules in --version ?
Posted by John Peacock <jp...@rowman.com>.
Ben Collins-Sussman wrote:
> $ svnadmin --version
> svnadmin, version 1.2.0 (dev build)
> compiled Mar 23 2005, 09:58:58
>
> Copyright (C) 2000-2004 CollabNet.
> Subversion is open source software, see http://subversion.tigris.org/
> This product includes software developed by CollabNet
> (http://www.Collab.Net/).
>
> The following filesystem back-end implementations are available:
>
> * fs_base: can access BerkeleyDB repositories
> * fs_fs: can access FSFS repositories
>
>
>
> Might this be a nice thing to add?
+1. More information good... ;-)
Should be just a couple of #ifdef's right?
John
--
John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4501 Forbes Boulevard
Suite H
Lanham, MD 20706
301-459-3366 x.5010
fax 301-429-5748
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: showing fs modules in --version ?
Posted by "C. Michael Pilato" <cm...@collab.net>.
Ben Collins-Sussman <su...@collab.net> writes:
> On Mar 23, 2005, at 11:45 AM, C. Michael Pilato wrote:
> >
> > -0 on the 'svn' change.
> >
>
> Just curious, why? We're talking about changing every program which
> potentially links to libsvn_ra_local and has a --version switch. Why
> is 'svn' excluded from that list?
Because all those other binaries are thought of "servers or server
tools". It's just happenchance that 'svn' can swing both ways using
ra-local.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: showing fs modules in --version ?
Posted by Ben Collins-Sussman <su...@collab.net>.
On Mar 23, 2005, at 11:45 AM, C. Michael Pilato wrote:
>
> -0 on the 'svn' change.
>
Just curious, why? We're talking about changing every program which
potentially links to libsvn_ra_local and has a --version switch. Why
is 'svn' excluded from that list?
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: showing fs modules in --version ?
Posted by "C. Michael Pilato" <cm...@collab.net>.
Ben Collins-Sussman <su...@collab.net> writes:
> Someone brought up the idea of --version showing fs-backends the same
> way we show available RA layers. It seems like a good idea to me.
[...]
+1 on the 'svnadmin' and 'svnlook' changes.
-0 on the 'svn' change.
And allow me to suggest that 'svnserve --version' grow this
functionality, too.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org