Extract the last 1000 revisions from svn server windows - windows

We have windows 2008 server with SVN repository, i would like to move this to new windows 2008 server but to new Visual SVN server.
Our SVN repository has grown really big and it contains few projects. Im planning to extract the last 1000 revisions from the repository and then separate the projects. Once i have these i would like to load these projects on to a new SVN server as separate repositories. At the same time i do not want to lose the history. When i get people to relocate their repository checkout to new server, i want the users to be still be able to see the history.
First of all is this possible and if so whats the best way to do this.
If this is not possible, then what is closest to my target that i can achieve?
Many Thanks
Shoaib

Read SVN Book, ask SVN-admin to perform his job
Anyway
svnrdump dump URL/OF/ROOT/OF/PROJECT -r $HEAD-1000:$HEAD > dumpfile
for every project in the old repo
svnadmin load --force-uuid < dumplfile
in every new empty repository

Related

Server computer died and the repositories were lost, how to recover?

I had a server that I linked to my current PC as "Z:\", and I had a repository there that I used for my programming commit/updates. There were multiple people working on the program, which warranted the need for a repository. We worked with Visual Studio and VisualSVN.
Unfortunately, my server died and we couldn't get it to start back up, so we've lost the repository. I have since bought and replaced my old server with a new one, but I'm having trouble re-creating the repository. For argument's sake, let's say that the copy of the program on my PC is the most updated one. How do I re-create the repository so that everyone can update/commit from there again?
In case there are multiple users who need access your repository, you should use a server, not direct file access schema (file://).
You must plan a backup strategy for your server and the repositories.
If you lost the storage that was holding the repositories, you lost the revision history of your projects. However, you should have the local copies of the project's data on your computers in form of working copies.
Search for working copies of your projects. The working copies will help you recover the latest state of your data and import it to a new SVN repository. Make sure that you do not import the hidden .svn metadata directory.

Centralized vs Distributed Version Control on Oracle Right Now

I have been tasked with setting up some type of version control for our development server files location. We current use Oracle's Service Cloud called "Right Now". It holds our dev/staging/prod environments for multiple sites.
Basically I need to VC just the dev files.. and not have to carry a local repo. Is this possible? The reason being for no local is there are just tooo many sites to download all locally. I want to open the files in Sublime from the dev server, make changes, save them, then at some point create a commit regarding the files I changed since the last commit. How can this be done.
I would love to use git, but this requires a local repo as far as I can tell. What about SVN? Could this do it? Your suggestions and resource links are appreciated.
~ WB
Unfortunately I'm not familiar with Oracle's "Right Now" product so I may be missing something important here. Putting this "Right Now" aside, I can say that Apache Subversion can be a good match for your requirements.
With Subversion you don't need to download the whole repository as you need with Git. Subversion's working copy which you need to svn checkout is much less in size than the whole repository in Git because is represents a particular snapshot of the repository's state in time (it does not contain the whole repo history as in Git).
You can checkout only a part of a repository. E.g. if a repository contains multiple projects, you can choose which ones to checkout.
Using sparse directories / shallow checkouts can help you to minimize the size of the working copy by specifying only those modules you require to operate on.

working with git on not connected computers

I sometimes work in projects where I do development on two computers which are not connected.
A typical example is creating reports in BIDS.
The workflow looks like this:
I create a project/folder in corporate TFS
Use git-tfs to create local git repository
Develop the report and commit to local repository (and some checkins to tfs)
Clone my repository to the customers computer (using vpn/rdp).
Do some development on the customers computer and push/pull with my repository.
(Sometimes the work starts in customer end)
My question is now what to do when I don't have a vpn or rdp connection. I have a temporary ftp I can use but sometimes USB-stick is the only way.
I have looked into format-patch / am but don't understand how I create the initial repository.
Can I just zip the .git folder and unzip in the other end to get started or is there a better way?
format-patch seem to create one file per commit. Is there an easy way to merge/unmerge these?
(It is just me working in the project so I don't branch / rebase)
Github might work in some cases but I don't want to open the can of worms with storing customers data in the cloud.
Yes, you can just copy .git folders around. Once you have two repositories with a common history, you can use git-format-patch and git-am.
But probably better suited for your case is the use of git-bundle. It creates binary bundles that contain the whole history of a branch from which you can fetch and pull. The example in the reference page shows nicely how to use it.

UberSVN on Windows: Take a backup of all repositories at once and restore them

I am new to SVN and UberSVN on windows. I am using UberSVN 12.04 Free edition (not using any uberapp.)
I would like to know if there is anyway in which I can take the backup of all the repositories at once?
I know that I can take one by one backups for every Repo.
Is there any way that I can take backups and restore it at once and it playes well with Uberportal as well. (shows in the repositories tab)
Some detail will be appreciated as I am not to familar with SVN and its configuration.
You can just copy the entire directory if you want to take a cut of your repo's outside of the svn backup options.
There isn't a way to add multiple repo's at once to uberSVN at the moment, you would need to do these individually.
It is something that has been discussed from time to time, but if it's a feature you deem important I'd recommend raising it via the suggestion area here, then other users can see it and comment etc and we can assess demand.

How to take backup of StarTeam project

I have a project repositiory on Start Team server.
I need to take regular back up the same.
How can I achieve this?
The Star team backup steps are given in the Appendix C of the “The StarTeam Administrator’s Guide.pdf”
It depends on what you mean by backing up the Project. If you mean backing up the entire repository then StarTeam makes this really easy. You just need a snapshot of the DB and a full copy of the repository files (full steps are documented.) However, if you mean backing up a specific Project in the repository, and ONLY that Project, with all history intace, then this is not currently possible--or at least it is a major challenge.
StarTeam used to have an ability to Import/Export projects but they discontinued support and development of that tool years ago. If you wish to back up a single Project independent of the rest of the server, then this is still possible, and useful in the case where you want to split the repository into a separately managed repository. Here is how to do that:
Create a duplicate repository including all of the repository files.
Delete everything from the clone except for the Project(s) that you want to split off -- note that in StarTeam 2011 the Project Delete was broken, so you may need to do this in a direct SQL query which marks the projects/views as deleted. Contact Support if you run into problems deleting manually, especially if you have a large repository.
Once your clone has been pruned of unnecessary projects, run the Online Purge tool until all projects and respective files have been removed from the DB and the Vault.
You can now change what you need to change on the new repository, such as the users, groups, security, etc. without affecting the first repository.
Once you have validated the new repository is working properly, you can then run a similar process on the first repository to get rid of the projects that were split off.
Another potential use for this is if you had reached end of life for a project and you wanted to keep it offline and backed up but wanted it to be restorable with full history on demand (for regulatory purposes, etc.) while being freed up to remove it from the active repository so you can make other projects run faster. Though this is probably best done in batches of projects as the process is currently quite labor intensive to perform.

Resources