After migrate svn repositories to another server in conf folder passwd file is empty - linux

After migrating svn repos from a server to another server, even I used "--force-uuid" in svnadmin load command, the passwd files of the repositories are empty.
All conf folder contents are empty.
Is there a way to migrate conf file properly?
Thanks for your help.
edit: from server's svn version is 1.6, to server's svn version is 1.7. is version difference causes a problem like this?

edit: from server's svn version is 1.6, to server's svn version is
1.7. is version difference causes a problem like this?
You must not use Subversion 1.7 or older versions. Upgrade to the latest 1.9.x.
I would recommend that you read the documentation before you perform any repository maintenance or administration tasks. SVNBook is a great resource of information about Subversion and version control in general. It will help you familiarize yourself with common terminology and concepts of SVN and version control.
After migrating svn repos from a server to another server, even I used
"--force-uuid" in svnadmin load command, the passwd files of the
repositories are empty. All conf folder contents are empty.
Read SVNBook | Repository data migration using svnadmin:
The Subversion repository dump format describes versioned repository
changes only. It will not carry any information about uncommitted
transactions, user locks on filesystem paths, repository or server
configuration customizations (including hook scripts), and so on.
And note that UUID has nothing to do with your htpasswd file.

Related

Copy Gitlab repositories to another Gitlab server through filesystem

I had a gitlab server of 7.6.2 version with some repositories. Now this server was upgraded by newest Ubuntu and it has an empty gitlab server of version 12.0.1. I also have a HDD backup from old gitlab server.
I need to move all repositories from old gitlab server to the new one. I tried to copy .git repositories from /var/opt/gitlab/repositories/user/ to the similar location of the new server with disabled hashed repositories storage, but it has no effect.
I also tried to create an empty repository with e.g. name test and replace test.git directory on new server from directory from old one, but there is no effect neither.
I tried to find file from created test repository named test.txt by find command in whole server file system, but there is no such file was found (but this file exists in the gitlab repository).
My question is: where repositories of gitlab server are stored and how can I copy it from backup of old server HDD to the new server file system (I can not run both instances of gitlab because I have only one machine. Running backup of old server as virtual machine's rootfs is also impossible by some reasons).
Upd.
It is not duplicate of this question because I have no backups of old gitlab server made by gitlab, I have only backup of filesystem of machine it was installed on. I also can not run old server to pull repositories because its machine was upgraded. Only thing I have from old server: its filesystem.
If you just need to migrate repositories (ie: no issues, pipelines, etc), it's better to clone each repository and upload it again (one by one, or using a batch command):
cd /var/opt/gitlab/repositories/...
git remote add newserver url
git push --all newserver url
Instead, if you need to migrate all features, it's better to restore the server backup and upgrade OS and Gitlab in place... even if it's a long road between 7 and 12, and you probably neeed to make multiple steps.
Careful, this might cause massive breakage, experiment on a scratch system.
The git repositories should be the same, so I'd try just copying the contents over. The user information and ancillary stuff is probably different.
Another path would be to set up the old system, and upgrade that one. Version by version, if need be.
Last resort is to clone the old repositories and upload them into the new system.

CVS Repository Migration to new CVS Server

i have a CVS Repository in Solaris machine, now i want to move this repository to anathor CVS server in anathor machine, can anyone please tell me the steps to migrate the CVS repository to the new CVS server. existing server is running in extssh protocol and i want to move it to Pserver protocol.
CVS is a very simple environment. To move the repository over, just copy the files that are in the repository. If you like, tar it up, copy the tar to the new machine, and untar it. Most of the per-directory configuration will be stored along with the rest of the files in the tarball.
The parts of the configuration that are not included within the repository will need to be set up according to the instructions for setting up CVS on your target platform, whatever that is.

TortoiseSVN, how to dump a repository?

I use Windows 7 and also I use TortoiseSVN to keep track of my code, now I want to migrate my repository to a cloud-service and the requirement is create a *.dump file, but I can't find a way to create it. Some forums say to use "svnadmin" but I can't find it also.
My question is how can I create a *.dump file with TortoiseSVN?
TortoiseSVN ships the svnadmin utility with it. It is a command line utillity. So you will have to create a dump of your repository in the command line.
To create a dump of your repository, use
svnadmin dump C:\SVN\MyProject > C:\tmp\MyProject.dump
where C:\SVN\MyProject is the path to your SVN repo and C:\tmp\MyProject.dump is the path to the dump file, which will be created.
To import your previously made dump file into a new repository, use
svnadmin load C:\SVN\MyProject < C:\tmp\MyProject.dump
where C:\SVN\MyProject is the path to your new SVN repo and C:\tmp\MyProject.dump is the path to the dump file, which should be imported.
Subversion 1.7 now has the svnrdump command line utility.
svnrdump dump https://host/repo > repo.dump
Note that this always creates a dump with deltas, which might not be what you want.
TortoiseSVN is a svn client. It cannot take a dump of your repository. You need a tool like svnadmin on the server hosting your SVN repository to take a dump. You need access to the server and its filesystem.
Also see here for migrating a repository
svnadmin is part of the SVN server, so you should have a direct admin access to your repository server.
The first thing you need to do is follow this tutorial to get some idea about how to use TortoiseSVN on the local machine.
http://www.thinkplexx.com/learn/howto/scm/svn/how-to-create-and-use-local-svn-subversion-repository-on-windows-or-linux-simple-and-fast-step-by-step
once you have done with above tutorial and committed your files to the repository, execute below command.
svnadmin dump TortoiseRepository > dumpfile
If your TortoiseSVN repository is not called 'TortoiseRepository' just change the name above to whatever you have called it. If the dump works you should see lots of '*Dumped revision' messages. The 'dumpfile' now contains an entire export of your TortoiseSVN repository and all the revisions, comments etc.

Copying files from svn repository

I wanna copy files and folders from my svn repository on server, but I dont want to install svn client, can I do it without svn client?
PS server - linux (CentOS 5.5), svnadmin version 1.4.2 (r22196)compiled Aug 10 2009, 17:54:46.
UPD: files are already exported to server: I want to import files from svn repository to directory, where web-server runs. For example: svn repository located at /var/svn/repos, I wanna dump repository to /var/www, but in /var/svn/repos no files I needed.
PSS sorry for my bad english =\
The Subversion repository isn't in a readable format that you can peruse like you could with CVS. To read the files in the repository you need someone with a client somewhere.
If your Subversion repository uses Apache httpd for its server, you can use wget or curl to pull off the last revision on a specific directory since as an added bonus, the Subversion Apache httpd modules allow you to see the latest version.
$ wget http://svn/repos/foo/trunk/myfile.java
The other option is to use a Subversion repository browser like (ViewVC)[http://www.viewvc.org/] or Sventon. These will allow you to browse the entire repository (including older revisions) without having to install the Subversion client on the local machine. I like Sventon because it doesn't have to run from the Subversion repository server.
If you're on Centos 5.5, you should already have the Subversion command line client installed on your system. In that case, if you don't want the .svn directories, use the svn export command instead of svn checkout.
Or, setup your web server to ignore the .svn directories. That way, you can do an svn update and update the files on your web server without having to redownload everything.
Well, if you have physical access to the server you could use the Subversion client on that box to export files/folders and then copy them from the server to the client machine. If you're trying to do this purely from the client, the only way I can think of would be to manually download the file(s) from the web client but this will only work if you're using Apache as your Subversion server.
Unless the server has an HTTP interface (is the repository URL prefixed with http://? Just open it up in a web browser), no.
It might be simplest to export the files you want on the server (svn export file://repo/path/to/directory), then copy them to the client using http or scp or something.

Subversion 1.6.6 Error "Could not open the requested SVN filesystem"

I am running ubuntu server with Subversion 1.6.6.
In windows I use the latest Tortoise SVN compiled against Subversion 1.6.6.
I create a new Repository and when I attempt to view the repository or import my files and get the following error:
"Could not open the requested SVN filesystem"
I can view the repositories via the command line (as root) but want to view them in Tortoise. Some repositories however are fine and I can view and comit without any problem via Tortoise.
I am sure its a user / permission thing but not sure where to look?
Any suggestions are greatly accepted.
Thank you
How do you access the repository on your server? If you're using file:///, that won't work since the repository format isn't compatible between OS. You have to use either svn:// or http(s):// to access the repository (and set up the corresponding server app).
If you're already using svn:// or http:// to access the repository, you can check the apache error log or run svnserve in console mode to get more detailed error messages.
your repositories must have full read/write access for the user who runs the server (svnserve or apache).
I ended up perforoming a repository dump then re-installing ubuntu, subversion, then installed USVN (great app). I next restored the repository from the dump. Everything is working great now.

Resources