Updating SVN client version from 1.4 to 1.5 with Eclipse and Subversive with Tortoise SVN on Windows

This process is very very frustrating - but due to the way pretty much every SVN client seems to need to update the working files for any SVN managed resources to the latest version it supports, it does seem to be a necessary process - especially when some other svn plugins (such as Ahnk SVN for visual studio) only support 1.5 or later.

During this process I came across a lot of things that didn't work - I'm just trying to document here what did...

[More]

Do not copy SVN working folders to another location in project

This one has had me tearing my hair out - until I discovered what the issue was:

Scenario

  • I copied a folder from one folder to another folder in my working copy for a project
  • I subsequently committed the whole project (a few days later) (seemed to commit ok)
  • After committing the project, I noticed that when I performed an update, it was showing that the files in the old folder had been updated. - This was strange, as no-one else had access to the repository at the time
  • Another colleague started working on the project, but the folder I had copied, did not appear when they performed an update - indeed, it did not appear to be in SVN at all.
  • When I checked the source folder, I could see that this contained the copied (and edited) version of the files - rather than the original files.
  • I then checked the SVN properties of the copied files in Eclipse - and it was clear that the SVN URL of the copied files was the same as the source files!

What Happened:

So what I assume must have happened, is that as I copied the folder, I also copied the SVN subfolder with it - which had all the references to the original SVN location...

Resolution:

  • I deleted the copied folder, and recreated it.
  • I then copied the files from the original folder (these were the ones that had been edited as my edits to the copied folder had been checked in over them)
  • When I then performed an update, Subclipse correctly identified them as New - and I was able to commit them to the repository in the correct location.
  • I then also had to go back to the source folder, retrieve the previous version of the files, and re-commit them.

Fortunately this was noticed relatively quickly - and only affected a small number of files - otherwise it could have been quite a nightmare to resolve!

Trac installed on Windows :) - Now What?

Well - I finally got round to finishing of the Apache, SVN Trac installation on one of our internal windows servers - and so far the process has been (mostly) painless (thanks mainly to the training we had as Scotch on the Rocks from Andy Allan).

SVN and Trac are both browseable via http through apache - and Trac is showing all the SVN commits I have made since creating the repository.

I have currently set up a single project within SVN and Trac - and before I go any further, I want to look at how to do the following:

  • Setting default settings for Trac Projects (Appearance, User Permissions, default items etc.)
  • Setting up web admin plugin for Trac, to avoid having to resort to the command line more than is necessary
  • Find a way of showing the name of the user for SVN commits etc. rather thean their login
  • Have a way of easily creating a new project - this will:
    • Request a project name - which will be used to
    • Create an SVN project
    • Create Empty Trunk / Tags / Branches structure within SVN
    • Create Trac project, and link to new SVN project
    • Set default Trac user permissions
    • Customise Trac Project as much as is necessary to confirm with requirments (Ideally as much as possible of this should be set as default and not need setting for each individual project
    I think most / all of this should be possible using a batch file - whether this the best way, I am not sure.
  • Configuring email settings for alerts etc.
  • Possibly integrating apache with Active Directory for user authentication - prefereably in such a way that Trac and SVN permissions are linked with an active directory security group e.g. Developers Group gets TracAdmin priveledges, authenticated users get basic priveledges etc.

I also need to get more familiar with trac - and decide on how exactly we will use it within the company.

I have seen various articles / blog post covering some of the points I've mentioned - but any further hints / tips / links would be gratfully appreciated.

Subversion in-place import

I am in the process of investigating SubVersion - with a view to moving source control away from VSS.

Something I've been struggling with for a while, is how to add a tree to SubVersion, and make the added folder a working copy.

This is possibly something that wouldn't need to be done that often once using a complete subversion work flow for all development - but as the moment as I am adding projects individually from my web root, I'm wanting to do this quite a bit.

In the end, I imported the tree into SubVersion, deleted it from the file system, and then checked out the tree to the same location.

I thought I must be missing something completely obvious - but after speaking to other users, it seems that in place importing really is not possible :(

I did find this work around suggested on the official SubVersion FAQ: subversion.tigris.org/faq.html#in-place-import, which basically involves the following:

  • Manually create empty folder in repositry
  • Checkout the empty folder to the file system folder at the root of the tree you wish to add
  • Add the subfolders / files etc. to SubVersion
  • Commit the root folder
This does seem a rather long winded work around for a relatively common task to me...

What does everyone else do???

BlogCFC was created by Raymond Camden. This blog is running version 5.5.1, hosted by TalkWebSolutions.