The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,835 other subscribers

Archive for the ‘Subversion/SVN’ Category

Just filed Mercurial Bug 4043 – HG 2.7.x cannot convert a local file based SVN repository with db format 6 (works fine with db format 4)

Posted by jpluimers on 2013/09/26

Converting SVN repositories to HG isn’t always as straight forward as you want to.

GExperts and GExperts-Formatter succeeded a while ago, but DSharp (a very nice library by Stefan Glienke) failed at first.

It so happens that in the mean time, I switched VM’s to Delphi XE5 with a fresh list of VCS installs:

That was the cause: this new setup caused a new SVN db format for local synced file based SVN repositories that HG cannot not cope with.

It worked fine when I went back to a VM that had this config:

So I won’t forget to keep an eye on progress, I filed this Bug 4043 – HG 2.7.x cannot convert a local file based SVN repository with db format 6 (works fine with db format 4):

HG 2.6.x and 2.7.x cannot convert SVN repositories with db format 6 that SVN 1.8.x defaults to.

(SVN db format list: see http://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_fs_fs/structure)

This works fine when performing svnadmin/svnsync on SVN 1.7.5 (they will get a db format 4), but fails when performing svnadmin/svnsync on SVN 1.8.x (they will get a db format 6)

I’ve tried the matrix of SVN versions 1.7.5, 1.8.1 and 1.8.2 versus HG 2.6.2, 2.7 and 2.7. HG consistently fails with db format 6.

The error message you get is this:

file:///C:/Users/developer/Versioned/DSharp.svn does not look like a Subversion repository

from the command here:

C:\Users\developer\Versioned>hg convert --verbose file:///C:/Users/developer/Versioned/DSharp.svn DSharp
file:///C:/Users/developer/Versioned/DSharp.svn does not look like a CVS checkout
file:///C:/Users/developer/Versioned/DSharp.svn does not look like a Git repository
file:///C:/Users/developer/Versioned/DSharp.svn does not look like a Subversion repository
file:///C:/Users/developer/Versioned/DSharp.svn is not a local Mercurial repository
file:///C:/Users/developer/Versioned/DSharp.svn does not look like a darcs repository
file:///C:/Users/developer/Versioned/DSharp.svn does not look like a monotone repository
file:///C:/Users/developer/Versioned/DSharp.svn does not look like a GNU Arch repository
file:///C:/Users/developer/Versioned/DSharp.svn does not look like a Bazaar repository
file:///C:/Users/developer/Versioned/DSharp.svn does not look like a P4 repository
abort: file:///C:/Users/developer/Versioned/DSharp.svn: missing or unsupported repository

Two of my tries that shows success/failure and got me in the right direction:

Success:


C:\Users\Developer\Versioned>svnadmin create DSharp.svn
C:\Users\Developer\Versioned>echo exit 0 1>DSharp.svn\hooks\pre-revprop-change.bat
C:\Users\Developer\Versioned>svnsync init file:///C:/Users/Developer/Versioned/DSharp.svn http://delphisorcery.googlecode.com/svn
Copied properties for revision 0.
C:\Users\Developer\Versioned>svnsync sync file:///C:/Users/Developer/Versioned/DSharp.svn http://delphisorcery.googlecode.com/svn
Committed revision 1.
Copied properties for revision 1.
Transmitting file data ……….
Committed revision 630.
Copied properties for revision 630.
C:\Users\Developer\Versioned>hg clone https://bitbucket.org/jeroenp/dsharp DSharp.hg
no changes found
updating to branch default
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
C:\Users\Developer\Versioned>hg convert file:///C:/Users/Developer/Versioned/DSharp.svn DSharp.hg
scanning source…
sorting…
converting…
628 Initial directory structure.
627 First version
1 – refactoring for yield support (renamed DSharp.Collections.Yield.pas to DSharp.Collections.Iterators.pas)
0 – added XE4 packages
C:\Users\Developer\Versioned>svn –version
svn, version 1.7.5 (r1336830)
compiled May 11 2012, 02:21:17
Copyright (C) 2012 The Apache Software Foundation.
This software consists of contributions made by many people; see the NOTICE
file for more information.
Subversion is open source software, see http://subversion.apache.org/
The following repository access (RA) modules are available:
* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
– handles 'http' scheme
– handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
– with Cyrus SASL authentication
– handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
– handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
– handles 'http' scheme
– handles 'https' scheme
C:\Users\Developer\Versioned>hg –version
Mercurial Distributed SCM (version 2.6.2)
(see http://mercurial.selenic.com for more information)
Copyright (C) 2005-2012 Matt Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
C:\Users\Developer\Versioned>type DSharp.svn\format
5
C:\Users\Developer\Versioned>type DSharp.svn\db\format
4
layout sharded 1000
C:\Users\Developer\Versioned>type DSharp.svn\db\fs-type
fsfs
C:\Users\Developer\Versioned>type DSharp.svn\db\min-unpacked-rev
0
C:\Users\Developer\Versioned>dir DSharp.svn DSharp.svn\db
Volume in drive C has no label.
Volume Serial Number is 4665-BAA1
Directory of C:\Users\Developer\Versioned\DSharp.svn
09/26/2013 08:47 AM <DIR> .
09/26/2013 08:47 AM <DIR> ..
09/26/2013 08:47 AM <DIR> conf
09/26/2013 08:55 AM <DIR> db
09/26/2013 08:47 AM 2 format
09/26/2013 08:47 AM <DIR> hooks
09/26/2013 08:47 AM <DIR> locks
09/26/2013 08:47 AM 234 README.txt
2 File(s) 236 bytes
Directory of C:\Users\Developer\Versioned\DSharp.svn\db
09/26/2013 08:55 AM <DIR> .
09/26/2013 08:55 AM <DIR> ..
09/26/2013 08:55 AM 4 current
09/26/2013 08:47 AM 22 format
09/26/2013 08:47 AM 5 fs-type
09/26/2013 08:47 AM 1,997 fsfs.conf
09/26/2013 08:47 AM 2 min-unpacked-rev
09/26/2013 08:55 AM 235,520 rep-cache.db
09/26/2013 08:47 AM <DIR> revprops
09/26/2013 08:47 AM <DIR> revs
09/26/2013 08:55 AM <DIR> transactions
09/26/2013 08:55 AM 3 txn-current
09/26/2013 08:47 AM 0 txn-current-lock
09/26/2013 08:55 AM <DIR> txn-protorevs
09/26/2013 08:47 AM 37 uuid
09/26/2013 08:47 AM 0 write-lock
10 File(s) 237,590 bytes
6 Dir(s) 2,377,388,032 bytes free
C:\Users\Developer\Versioned>

Failure:


C:\Users\developer\Versioned>svnadmin create DSharp.svn
C:\Users\developer\Versioned>echo exit 0 1>DSharp.svn\hooks\pre-revprop-change.bat
C:\Users\developer\Versioned>svnsync init file:///C:/Users/developer/Versioned/DSharp.svn http://delphisorcery.googlecode.com/svn
Copied properties for revision 0.
C:\Users\developer\Versioned>svnsync sync file:///C:/Users/developer/Versioned/DSharp.svn http://delphisorcery.googlecode.com/svn
Committed revision 1.
Copied properties for revision 1.
Transmitting file data ……….
Committed revision 630.
Copied properties for revision 630.
C:\Users\developer\Versioned>hg clone https://bitbucket.org/jeroenp/dsharp DSharp.hg
no changes found
updating to branch default
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
C:\Users\developer\Versioned>hg convert –verbose file:///C:/Users/developer/Versioned/DSharp.svn DSharp
file:///C:/Users/developer/Versioned/DSharp.svn does not look like a CVS checkout
file:///C:/Users/developer/Versioned/DSharp.svn does not look like a Git repository
file:///C:/Users/developer/Versioned/DSharp.svn does not look like a Subversion repository
file:///C:/Users/developer/Versioned/DSharp.svn is not a local Mercurial repository
file:///C:/Users/developer/Versioned/DSharp.svn does not look like a darcs repository
file:///C:/Users/developer/Versioned/DSharp.svn does not look like a monotone repository
file:///C:/Users/developer/Versioned/DSharp.svn does not look like a GNU Arch repository
file:///C:/Users/developer/Versioned/DSharp.svn does not look like a Bazaar repository
file:///C:/Users/developer/Versioned/DSharp.svn does not look like a P4 repository
abort: file:///C:/Users/developer/Versioned/DSharp.svn: missing or unsupported repository
C:\Users\developer\Versioned>svn –version
svn, version 1.8.1 (r1503906)
compiled Jul 22 2013, 19:58:17 on x86-microsoft-windows
Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/
The following repository access (RA) modules are available:
* ra_svn : Module for accessing a repository using the svn network protocol.
– with Cyrus SASL authentication
– handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
– handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
– handles 'http' scheme
– handles 'https' scheme
C:\Users\developer\Versioned>hg –version
Mercurial Distributed SCM (version 2.7)
(see http://mercurial.selenic.com for more information)
Copyright (C) 2005-2013 Matt Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
C:\Users\developer\Versioned>type DSharp.svn\format
5
C:\Users\developer\Versioned>type DSharp.svn\db\format
6
layout sharded 1000
C:\Users\developer\Versioned>type DSharp.svn\db\fs-type
fsfs
C:\Users\developer\Versioned>type DSharp.svn\db\min-unpacked-rev
0
C:\Users\developer\Versioned>dir DSharp.svn DSharp.svn\db
Volume in drive C has no label.
Volume Serial Number is A855-3C2D
Directory of C:\Users\developer\Versioned\DSharp.svn
09/25/2013 09:52 PM <DIR> .
09/25/2013 09:52 PM <DIR> ..
09/25/2013 07:38 PM <DIR> conf
09/25/2013 07:44 PM <DIR> db
09/25/2013 07:38 PM 2 format
09/25/2013 07:38 PM <DIR> hooks
09/25/2013 07:38 PM <DIR> locks
09/25/2013 07:38 PM 251 README.txt
2 File(s) 253 bytes
Directory of C:\Users\developer\Versioned\DSharp.svn\db
09/25/2013 07:44 PM <DIR> .
09/25/2013 07:44 PM <DIR> ..
09/25/2013 07:44 PM 4 current
09/25/2013 07:38 PM 22 format
09/25/2013 07:38 PM 5 fs-type
09/25/2013 07:38 PM 6,963 fsfs.conf
09/25/2013 07:38 PM 2 min-unpacked-rev
09/25/2013 07:44 PM 232,448 rep-cache.db
09/25/2013 07:38 PM <DIR> revprops
09/25/2013 07:38 PM <DIR> revs
09/25/2013 07:44 PM <DIR> transactions
09/25/2013 07:44 PM 3 txn-current
09/25/2013 07:38 PM 0 txn-current-lock
09/25/2013 07:44 PM <DIR> txn-protorevs
09/25/2013 07:38 PM 37 uuid
09/25/2013 07:38 PM 0 write-lock
10 File(s) 239,484 bytes

.

–jeroen

via: Bug 4043 – HG 2.7.x cannot convert a local file based SVN repository with db format 6 (works fine with db format 4).

Posted in Delphi, Development, DVCS - Distributed Version Control, Mercurial/Hg, Software Development, Source Code Management, Subversion/SVN | Tagged: , , | 1 Comment »

Dutch stop of the RAD Studio in Action LIVE! event: September 7th, Leiden (close to Amsterdam) with extra conference track.

Posted by jpluimers on 2013/08/27

The Dutch stop of the RAD Studio In Action LIVE! tour is on September 7th.

The venue location is via Holiday Inn Leiden Hotels: Haagse Schouwweg 10, 2332 KG  Leiden, The Netherlands.

It is close to the advertised “Amsterdam Netherlands” (about half an hour drive), close to the A44 highway and close enough to public transport. And it is indeed on Saturday September 7, 2013

Full day event: RAD Studio In Action LIVE! + conference track Read the rest of this entry »

Posted in Android, Android Devices, CodePlex, Conferences, Delphi, Delphi XE4, Delphi XE5, Development, DVCS - Distributed Version Control, Event, FreePascal, git, iOS Development, Lazarus, Mercurial/Hg, Mobile Development, Power User, Software Development, Source Code Management, SourceForge, Subversion/SVN, TFS (Team Foundation System) | Leave a Comment »

SVN/Subversion and CodePlex: for now stick to SVN/TortoiseSVN 1.7.x or lower

Posted by jpluimers on 2013/07/25

Introduction

Over the last month or so, two incompatibilities between SVN and CodePlex have risen. I’m not sure which side caused it (see below for the error messages), who will fix it and when. Some details I bumped into.

CodePlex knows about both issue. I’m not sure the SVN team does yet about the second issue.

Recommendation

If you are using CodePlex with SVN/SubVersion, then you shoud stick to SVN versions lower than 1.8, or you will run into the error messages below.

So:

  • Stick to version 1.7.x or lower of SVN and/or TortoiseSVN.
  • DO NOT UPGRADE YOUR LOCAL CHECKOUT TO 1.8 OR HGHER!
    (you cannot downgrade your local checkout to a lower version)

You can find older 1.7.x versions of SVN here:

Issues with CodePlex and SVN 1.8.x Read the rest of this entry »

Posted in CodePlex, Development, Source Code Management, Subversion/SVN, TFS (Team Foundation System) | Tagged: , | 17 Comments »

Steps for setting up SvnBridge with TFS2012 (via SvnBridge forum at CodePlex)

Posted by jpluimers on 2013/06/25

This [WayBackSvnBridge – Use TortoiseSVN with Team Foundation Server – View Discussion shows you how to setup SvnBridge with TFS 2012 and IIS 7.5.

20170517: a fork is at https://github.com/andim2/SvnBridge

[WayBack] SvnBridge on CodePlex.

–jeroen

Posted in Development, Software Development, Source Code Management, Subversion/SVN, TFS (Team Foundation System) | Leave a Comment »

SvnBridge – Use TortoiseSVN with Team Foundation Server: issues with accented characters and escapes

Posted by jpluimers on 2012/10/05

Until bugs in the link below get fixed, when using SvnBridge to talk SVN to TFS:

  • don’t use non ASCII characters in your path names
  • don’t use escapes

This include SVN usage on codeplex.

–jeroen

via: SvnBridge – Use TortoiseSVN with Team Foundation Server – View Discussion.

Posted in CodePlex, Development, Source Code Management, Subversion/SVN, TFS (Team Foundation System) | Leave a Comment »

git-tfs

Posted by jpluimers on 2012/09/19

Interesting:

git-tfs is a two-way bridge between TFS and git, similar to git-svn.

Need to check out if it is more like the SVNBridge wrapper that wraps SVN around TFS on either the server or the client, or like git-svn which wraps git around SVN only around the client.

–jeroen

via: git-tfs.

Posted in Development, DVCS - Distributed Version Control, git, Software Development, Source Code Management, Subversion/SVN, TFS (Team Foundation System) | Leave a Comment »

Great post on the differences between TFS, SVN, CVS and other source code management systems, ideas on Trunk/Tag/Branch

Posted by jpluimers on 2012/07/19

When switching between different source code management systems for doing version control at clients, it is always a bit of “getting used” to the mantra of both their system, and how it has been implemented.

Few people can really explain this well.

Richard Berg did in his great StackOverflow answer sharing his ideas on how to handle Trunk/Branch/Tag (for people starting with SVN, read this answer by David Schmitt before you mix them up).

I still see truckloads of people, and even teams try to do without version control. Please do use source control. If you don’t know where to get started, read some text on Source Control for beginners, or for instance the free on-line Red Bean books on SVN, Mercurial or CVS.

Also read some other great answers by Richard Berg (many on TFS, but also this very balanced view on usage of nullable in languages and proper use of Invoke-Expression in PowerShell: recommended reading).

–jeroen

Posted in Mercurial/Hg, Source Code Management, Subversion/SVN, TFS (Team Foundation System) | Leave a Comment »

svn – How do I move a file or folder from one folder to another in TortoiseSVN? – Stack Overflow

Posted by jpluimers on 2011/12/21

Duh – sometimes simple things are simple, you just have to know how simple: move it using the right mouse click as Mark Embling answers on StackOverflow.

–jeroen

via: svn – How do I move a file or folder from one folder to another in TortoiseSVN? – Stack Overflow.

Posted in Development, Software Development, Source Code Management, Subversion/SVN | Leave a Comment »

SVN 1.7, TortoiseSVN and CollabNet 2.1.0 released earlier this week

Posted by jpluimers on 2011/10/14

Right after the Subversion SVN 1.7 release earlier this week, 3rd party providers announced new versions of their products too.

These are the updates of the ones I use most often:

Two major improvements for me:

  1. Improved meta data (read: only one .svn directory in the root of a working copy)
  2. Faster HTTP speed

Please also read Uwe Schuster‘s (the guy that implemented the version control integration for SVN and Git in the Delphi IDE) blog post on a few things you need to watch when upgrading to Tortoise SVN 1.7.

–jeroen

Posted in Delphi, Development, Software Development, Source Code Management, Subversion/SVN | Leave a Comment »

Tortoise SVN Global Ignore Pattern for Delphi and Visual Studio

Posted by jpluimers on 2011/04/26

Since I use (among others) both Visual Studio and Delphi, I changed the Tortoise Global Ignore Pattern to be this:

Debug lib *.identcache *.local *bin *obj RECYCLER Bin *.user *.suo *.dcu __history ModelSupport_* *.rsm thumbs.db *.bak *.~* __recovery *.tvsconfig *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store

The bold portion is what I changed when compared to the original one:

*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store

Input from [WayBack] Tortoise SVN Global Ignore Pattern for Visual Studio (which also included some of the Delphi patterns), [WayBack] this Stackoverflow question (that indicated the patterns are case sensitive) and [WayBackShawn Oster | TortoiseSVN global ignore pattern for Visual Studio and Delphi.

–jeroen

PS: Added __recovery as Delphi 10.* started to use that for recovery files, which – unlike __history  is not documented, see [WayBack] What is the __recovery folder ? In C++ Seattle 10 Professional running under Win 7 I now get a folder called __recovery.

Posted in .NET, Delphi, Development, Software Development, Source Code Management, Subversion/SVN | Leave a Comment »