Discussion:
svnadmin: Expected repository format '3' or '5'; found format '4'
Tena Sakai
2009-10-14 03:54:09 UTC
Permalink
Hi folks,

I am a complete novice at using subversion and I
am in need of help.

Here's the situation:

I have a subversion repository on a linux machine.
The path to the repository is /usr/local/svn/tsakai.
I have a project which is under ~/Projects/pivot and
I want to check in everything in this directory.
I issued:

$ svn import ~/Projects/pivot file:///usr/local/svn/tsakai -m "initial import"

The machine's response was:
svn: Can't open file '/usr/local/svn/tsakai/db/txn-current-lock': Permission denied

I asked:
$ svnadmin lslocks /usr/local/svn/tsakai/db

And the response was:
svnadmin: Expected repository format '3' or '5'; found format '4'

I asked a slightly different question:
$ svnadmin lstxns /usr/local/svn/tsakai/db

and I got the same response:
svnadmin: Expected repository format '3' or '5'; found format '4'

Next, I issued:
$ svnadmin --version

and I got:
svnadmin, version 1.6.5 (r38866)
compiled Sep 1 2009, 12:49:51

Copyright (C) 2000-2009 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 back-end (FS) modules are available:

* fs_fs : Module for working with a plain file (FSFS) repository.

Can someone please tell me what is going on?

Is subversion upset becuase it doesn't like the repository
format I am using?

If so, what is the remedy? Is this where dump/load is needed?

If not, what is the path forward?

I don't want anything fancy. I don't want to use apache
portable library; I don't want to use berkeley db. I want
to use something really basic (for now anyway).

Oh, one more thing. When I issue:
$ svn --version

It says:
svn: could not initialize the SASL library

And when I type:
$ svn

It melts down:
Segmentation fault

Does this mean I don't have command line client?
Any suggestion?

I would really appreciate your help.

Thank you.

Tena Sakai
***@gallo.ucsf.edu

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2407396

To unsubscribe from this discussion, e-mail: [users-***@subversion.tigris.org].
Ryan Schmidt
2009-10-14 08:44:17 UTC
Permalink
Post by Tena Sakai
I have a subversion repository on a linux machine.
The path to the repository is /usr/local/svn/tsakai.
I have a project which is under ~/Projects/pivot and
I want to check in everything in this directory.
$ svn import ~/Projects/pivot file:///usr/local/svn/tsakai -m
"initial import"
svn: Can't open file '/usr/local/svn/tsakai/db/txn-current-lock': Permission denied
It sounds like the files and/or directories in /usr/local/svn/tsakai
are not owned by you, hence permission denied. Change their ownership
to you, or if this repository is for more than just testing out
Subversion's functionality, then set up svnserve or apache and change
the ownership of the files to the user you run svnserve or apache as.
Post by Tena Sakai
$ svnadmin lslocks /usr/local/svn/tsakai/db
svnadmin: Expected repository format '3' or '5'; found format '4'
$ svnadmin lstxns /usr/local/svn/tsakai/db
svnadmin: Expected repository format '3' or '5'; found format '4'
svnadmin needs to be pointed at the repository directory, not its db
subdirectory, so if you want to list the locks and transactions, you
need

svnadmin lslocks /usr/local/svn/tsakai

and

svnadmin lstxns /usr/local/svn/tsakai
Post by Tena Sakai
I don't want anything fancy. I don't want to use apache
portable library; I don't want to use berkeley db. I want
to use something really basic (for now anyway).
You are already using the Apache Portable Runtime library. It is not
possible to use Subversion without it. It has nothing to do with using
the Apache Web Server, which is of course optional.
Post by Tena Sakai
$ svn --version
svn: could not initialize the SASL library
Do you have SASL installed? What version? How was it installed?
Post by Tena Sakai
$ svn
Segmentation fault
Does this mean I don't have command line client?
It means you have the command line client, and it crashes when you try
to use it. That should not happen, of course. My first suggestion
would be to investigate the SASL problem you already found.

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2407453

To unsubscribe from this discussion, e-mail: [users-***@subversion.tigris.org].
Tena Sakai
2009-10-15 02:28:55 UTC
Permalink
Hello Ryan,

Many thanks for your response. I appreciate your comments
and suggestions. If you don't mind, can I kick things around
a bit more with you?

} It sounds like the files and/or directories in /usr/local/svn/tsakai
} are not owned by you, hence permission denied. Change their ownership
} to you, or if this repository is for more than just testing out
} Subversion's functionality, then set up svnserve or apache and change
} the ownership of the files to the user you run svnserve or apache as.

The ownership of /usr/local/svn/tsakai is:
drwxr-sr-x 6 root apache 4096 Aug 25 14:03 /usr/local/svn/tsakai

I asked myself: Is svnserve supposed to run as daemon? And issued:

$ ps axl | grep svnserve

and got nothing. I went to /etc/init.d and found a script named
collabnet_subversion. I typed:

$ ./collabnet_subversion status

And the response was:

Collabnet Subversion server not configured.
Please run 'Configure-CollabNet-Subversion' to configure.

Surprised and intrigued by those 2 lines, I looked for
Configure-CollabNet-Subversion and found the script in
/opt/CollabNet_Subversion/bin directory and ran it. There
was some dialog and it found the existing repositories
(including mine, /usr/local/svn/tsakai). I mostly chose
default and gave a dns name, as well as the port number
(8099), and eventually told me:

Starting CollabNet Subversion: [ OK ]

Congratulations! You have successfully configured the CollabNet
Subversion server.

You can access your repositories at the following URL:
http://vixen.egcrc.org:8099/svn/YOUR-REPOS-NAME
http://vixen.egcrc.org:8099/viewvc/YOUR-REPOS-NAME

Naturally, I told firefox to go to:
http://vixen.egcrc.org:8099/svn/tsakai
and bingo! It is working.

And to go to: http://vixen.egcrc.org:8099/viewvc/tsakai
This is fantastic. I can look at everything I have ever checked in
and look at this and that. Super!

At this point, I was curious about the ownership of my repository.
I thought it might have changed.

$ ll -d /usr/local/svn/tsakai
drwxr-sr-x 6 csvn csvn 4096 Aug 25 14:03 /usr/local/svn/tsakai

In fact, it did change. (Previously, it was root (owner) and apache
(group owner).) I proceeded with issuing two commands:

$ svnadmin lslocks /usr/local/svn/tsakai
and it returned nothing with exit status of 0
$ echo $?
0

The same with:
$ svnadmin lstxns /usr/local/svn/tsakai
$ echo $?
0

Encouraged, I went on to issue what I started with yesterday:

$ svn import ~/Projects/pivot file:///usr/local/svn/tsakai -m "initial import"
svn: Can't open file '/usr/local/svn/tsakai/db/txn-current-lock': Permission denied

$ echo $?
1

Rats! is what I felt... What's next?
I tried:

$ svn --version
svn: Could not initialize the SASL library

Here, too, the exit status was 1.

} Do you have SASL installed? What version? How was it installed?

I am not real clear on SASL. I looked at directories /usr/lib/sasl
and version numbers in this directory seem to be one of
[0.0.7, 1.0.16, 1.0.17, 1.0.19, 1.0.20]. In /usr/lib/sasl2, there is
only: 2.0.19. /usr/lib64/sasl is like /usr/lib/sasl: [0.0.7, 1.0.16,
1.0.17, 1.0.19, 0.0.20]. Finally, /usr/lib64/sasl2 has only 2.0.19.

I have no idea how any of them got installed. (Maybe it is time
for a bit of disclosure... We had a guy working as system administrator
and he was a good talker at the outset, but it turned out he had no
idea what he was doing and wound up wrecking many linux machines.
The machine I have been referring to is only one of them and some of
us were extremely upset. The guy is no longer with us and I am trying
to resurrect what's been broken.)

I wanted to try something else (reaching out for straw). Namely,

$ sudo chown csvn /usr/local/bin/svnadmin
$ sudo chown csvn /usr/local/bin/svn

Now the owner of /usr/local/svn/tsakai and that of svnadmin and
svn are all the same, I tried the same thing as before:

$ svn import ~/Projects/pivot file:///usr/local/svn/tsakai -m "initial import"
and it told me the same thing as before:

svn: Can't open file '/usr/local/svn/tsakai/db/txn-current-lock': Permission denied

So... Where do I stand? Maybe it amounts to:
1) How do I fix/reinstall SASL?
2) Should I reinstall subversion (1.6.2) from scratch?

Can you please comment and give me some suggestion for path forward?

Thank you.

Regards,

Tena Sakai
***@gallo.ucsf.edu


-----Original Message-----
From: Ryan Schmidt [mailto:subversion-***@ryandesign.com]
Sent: Wed 10/14/2009 1:44 AM
To: Tena Sakai
Cc: ***@subversion.tigris.org
Subject: Re: svnadmin: Expected repository format '3' or '5'; found format '4'
Post by Tena Sakai
I have a subversion repository on a linux machine.
The path to the repository is /usr/local/svn/tsakai.
I have a project which is under ~/Projects/pivot and
I want to check in everything in this directory.
$ svn import ~/Projects/pivot file:///usr/local/svn/tsakai -m
"initial import"
svn: Can't open file '/usr/local/svn/tsakai/db/txn-current-lock': Permission denied
It sounds like the files and/or directories in /usr/local/svn/tsakai
are not owned by you, hence permission denied. Change their ownership
to you, or if this repository is for more than just testing out
Subversion's functionality, then set up svnserve or apache and change
the ownership of the files to the user you run svnserve or apache as.
Post by Tena Sakai
$ svnadmin lslocks /usr/local/svn/tsakai/db
svnadmin: Expected repository format '3' or '5'; found format '4'
$ svnadmin lstxns /usr/local/svn/tsakai/db
svnadmin: Expected repository format '3' or '5'; found format '4'
svnadmin needs to be pointed at the repository directory, not its db
subdirectory, so if you want to list the locks and transactions, you
need

svnadmin lslocks /usr/local/svn/tsakai

and

svnadmin lstxns /usr/local/svn/tsakai
Post by Tena Sakai
I don't want anything fancy. I don't want to use apache
portable library; I don't want to use berkeley db. I want
to use something really basic (for now anyway).
You are already using the Apache Portable Runtime library. It is not
possible to use Subversion without it. It has nothing to do with using
the Apache Web Server, which is of course optional.
Post by Tena Sakai
$ svn --version
svn: could not initialize the SASL library
Do you have SASL installed? What version? How was it installed?
Post by Tena Sakai
$ svn
Segmentation fault
Does this mean I don't have command line client?
It means you have the command line client, and it crashes when you try
to use it. That should not happen, of course. My first suggestion
would be to investigate the SASL problem you already found.

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2407760

To unsubscribe from this discussion, e-mail: [users-***@subversion.tigris.org].
Ryan Schmidt
2009-10-15 03:33:29 UTC
Permalink
Post by Tena Sakai
Post by Ryan Schmidt
It sounds like the files and/or directories in /usr/local/svn/tsakai
are not owned by you, hence permission denied. Change their ownership
to you, or if this repository is for more than just testing out
Subversion's functionality, then set up svnserve or apache and change
the ownership of the files to the user you run svnserve or apache as.
drwxr-sr-x 6 root apache 4096 Aug 25 14:03 /usr/local/svn/tsakai
I looked for
Configure-CollabNet-Subversion and found the script in
/opt/CollabNet_Subversion/bin directory and ran it.
Congratulations! You have successfully configured the CollabNet
Subversion server.
http://vixen.egcrc.org:8099/svn/YOUR-REPOS-NAME
http://vixen.egcrc.org:8099/viewvc/YOUR-REPOS-NAME
At this point, I was curious about the ownership of my repository.
I thought it might have changed.
$ ll -d /usr/local/svn/tsakai
drwxr-sr-x 6 csvn csvn 4096 Aug 25 14:03 /usr/local/svn/tsakai
$ svn import ~/Projects/pivot file:///usr/local/svn/tsakai -m
"initial import"
svn: Can't open file '/usr/local/svn/tsakai/db/txn-current-lock': Permission denied
This still won't work because you're still trying to access the
repository files directly, using a file:-protocol URL. Instead, access
the repository by going through the apache server that CollabNet
Subversion has set up for you, using the repository's http:-protocol
URL shown to you above.

$ svn import ~/Projects/pivot http://vixen.egcrc.org:8099/svn/tsakai -
m "initial import"
Post by Tena Sakai
$ svn --version
svn: Could not initialize the SASL library
Here, too, the exit status was 1.
Post by Ryan Schmidt
Do you have SASL installed? What version? How was it installed?
I am not real clear on SASL. I looked at directories /usr/lib/sasl
and version numbers in this directory seem to be one of
[0.0.7, 1.0.16, 1.0.17, 1.0.19, 1.0.20]. In /usr/lib/sasl2, there is
only: 2.0.19. /usr/lib64/sasl is like /usr/lib/sasl: [0.0.7, 1.0.16,
1.0.17, 1.0.19, 0.0.20]. Finally, /usr/lib64/sasl2 has only 2.0.19.
I have no idea how any of them got installed.
Ok. I'm afraid I don't know anything about SASL either, other than
that Subversion uses it. Maybe someone else here can help with this
part of the problem. Maybe simply reinstalling CollabNet Subversion
would help; I think it comes with everything you need to use
Subversion, including SASL.
Post by Tena Sakai
$ sudo chown csvn /usr/local/bin/svnadmin
$ sudo chown csvn /usr/local/bin/svn
There's no need to change the ownership of those binaries. You should
probably keep them as they were (owned by root, I imagine).

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2407766

To unsubscribe from this discussion, e-mail: [users-***@subversion.tigris.org].
Ryan Schmidt
2009-10-15 04:55:50 UTC
Permalink
Post by Ryan Schmidt
This still won't work because you're still trying
to access the repository files directly, using a
file:-protocol URL. Instead, access the repository
by going through the apache server that CollabNet
Subversion has set up for you, using the repository's
http:-protocol URL shown to you above.
$ svn import ~/Projects/pivot http://vixen.egcrc.org:8099/svn/
tsakai -m "initial import"
$ svn import -m "initial import" ~/Projects/pivot http://vixen.egcrc.org:8099/svn/tsakai
svn: Unrecognized URL scheme for 'http://vixen.egcrc.org:8099/svn/
tsakai'
That means your svn command is not only missing its SASL support, it's
also missing its neon/serf support, without which it cannot connect to
http repositories. You'll have to investigate why neon and/or serf are
not present or working, and possibly reinstall them or your svn client.

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2407779

To unsubscribe from this discussion, e-mail: [users-***@subversion.tigris.org].
Tena Sakai
2009-10-15 04:59:16 UTC
Permalink
Hi Ryan,
Post by Ryan Schmidt
That means your svn command is not only missing
its SASL support, it's also missing its neon/serf
support, without which it cannot connect to http
repositories. You'll have to investigate why neon
and/or serf are not present or working, and possibly
reinstall them or your svn client.
I think the easiest and the safest thing to do is
to reinstall the entire subversion. Is there any
risk I am unaware of, that you can think of? Please
advise.

Thank you.

Regards,

Tena Sakai
***@gallo.ucsf.edu

-----Original Message-----
From: Ryan Schmidt [mailto:subversion-***@ryandesign.com]
Sent: Wed 10/14/2009 9:55 PM
To: Tena Sakai
Cc: ***@subversion.tigris.org
Subject: Re: svnadmin: Expected repository format '3' or '5'; found format '4'
Post by Ryan Schmidt
Post by Ryan Schmidt
This still won't work because you're still trying
to access the repository files directly, using a
file:-protocol URL. Instead, access the repository
by going through the apache server that CollabNet
Subversion has set up for you, using the repository's
http:-protocol URL shown to you above.
$ svn import ~/Projects/pivot http://vixen.egcrc.org:8099/svn/
tsakai -m "initial import"
$ svn import -m "initial import" ~/Projects/pivot http://vixen.egcrc.org:8099/svn/tsakai
svn: Unrecognized URL scheme for 'http://vixen.egcrc.org:8099/svn/
tsakai'
That means your svn command is not only missing its SASL support, it's
also missing its neon/serf support, without which it cannot connect to
http repositories. You'll have to investigate why neon and/or serf are
not present or working, and possibly reinstall them or your svn client.

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2407780

To unsubscribe from this discussion, e-mail: [users-***@subversion.tigris.org].
Tena Sakai
2009-10-15 04:39:59 UTC
Permalink
Hi Ryan,
Post by Ryan Schmidt
This still won't work because you're still trying
to access the repository files directly, using a
file:-protocol URL. Instead, access the repository
by going through the apache server that CollabNet
Subversion has set up for you, using the repository's
http:-protocol URL shown to you above.
$ svn import ~/Projects/pivot http://vixen.egcrc.org:8099/svn/tsakai -m "initial import"
I just did:

$ svn import -m "initial import" ~/Projects/pivot http://vixen.egcrc.org:8099/svn/tsakai

and it is not happy:

svn: Unrecognized URL scheme for 'http://vixen.egcrc.org:8099/svn/tsakai'

I don't understand. But when I give:

http://vixen.egcrc.org:8099/viewvc/tsakai/

to firefox it is perfectly content.

Can you please tell me what this means?

Thank you in advance.

Regards,

Tena Sakai
***@gallo.ucsf.edu

-----Original Message-----
From: Ryan Schmidt [mailto:subversion-***@ryandesign.com]
Sent: Wed 10/14/2009 8:33 PM
To: Tena Sakai
Cc: ***@subversion.tigris.org
Subject: Re: svnadmin: Expected repository format '3' or '5'; found format '4'
Post by Ryan Schmidt
Post by Ryan Schmidt
It sounds like the files and/or directories in /usr/local/svn/tsakai
are not owned by you, hence permission denied. Change their ownership
to you, or if this repository is for more than just testing out
Subversion's functionality, then set up svnserve or apache and change
the ownership of the files to the user you run svnserve or apache as.
drwxr-sr-x 6 root apache 4096 Aug 25 14:03 /usr/local/svn/tsakai
I looked for
Configure-CollabNet-Subversion and found the script in
/opt/CollabNet_Subversion/bin directory and ran it.
Congratulations! You have successfully configured the CollabNet
Subversion server.
http://vixen.egcrc.org:8099/svn/YOUR-REPOS-NAME
http://vixen.egcrc.org:8099/viewvc/YOUR-REPOS-NAME
At this point, I was curious about the ownership of my repository.
I thought it might have changed.
$ ll -d /usr/local/svn/tsakai
drwxr-sr-x 6 csvn csvn 4096 Aug 25 14:03 /usr/local/svn/tsakai
$ svn import ~/Projects/pivot file:///usr/local/svn/tsakai -m
"initial import"
svn: Can't open file '/usr/local/svn/tsakai/db/txn-current-lock': Permission denied
This still won't work because you're still trying to access the
repository files directly, using a file:-protocol URL. Instead, access
the repository by going through the apache server that CollabNet
Subversion has set up for you, using the repository's http:-protocol
URL shown to you above.

$ svn import ~/Projects/pivot http://vixen.egcrc.org:8099/svn/tsakai -
m "initial import"
Post by Ryan Schmidt
$ svn --version
svn: Could not initialize the SASL library
Here, too, the exit status was 1.
Post by Ryan Schmidt
Do you have SASL installed? What version? How was it installed?
I am not real clear on SASL. I looked at directories /usr/lib/sasl
and version numbers in this directory seem to be one of
[0.0.7, 1.0.16, 1.0.17, 1.0.19, 1.0.20]. In /usr/lib/sasl2, there is
only: 2.0.19. /usr/lib64/sasl is like /usr/lib/sasl: [0.0.7, 1.0.16,
1.0.17, 1.0.19, 0.0.20]. Finally, /usr/lib64/sasl2 has only 2.0.19.
I have no idea how any of them got installed.
Ok. I'm afraid I don't know anything about SASL either, other than
that Subversion uses it. Maybe someone else here can help with this
part of the problem. Maybe simply reinstalling CollabNet Subversion
would help; I think it comes with everything you need to use
Subversion, including SASL.
Post by Ryan Schmidt
$ sudo chown csvn /usr/local/bin/svnadmin
$ sudo chown csvn /usr/local/bin/svn
There's no need to change the ownership of those binaries. You should
probably keep them as they were (owned by root, I imagine).

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2407774

To unsubscribe from this discussion, e-mail: [users-***@subversion.tigris.org].
Loading...