[svk-dev] svk not up to prime time yet? [was Re: Samba-SVK-HOWTO ....]

Gerald (Jerry) Carter jerry at samba.org
Wed Sep 7 16:06:40 GMT 2005

Hash: SHA1

Michael Brouwer wrote:

| You need to add the --depot DEPOTNAME switch to patch.
| See the  svkbook at
| http://svkbook.elixus.org/nightly/en/svk.ref.svk.c.patch.html
| and
| http://svkbook.elixus.org/nightly/en/svk.ref.html
| For details (though it's still somewhat incomplete).
| Basically if your patch if for a depot other than // you need to tell
| svk which depot to use.

Hey Michael,

I've gone through that.  Read your book and I I
explored the --depot option.  I'm not playing with
named depot's.  I'm trying to simulate handing off
patches between different developers.  Let me explain
in more detail.

Samba has an ssh accessible svn tree for core
developers and an anonymous svn tree for people
with non-commit access.    Pretty standard right?
The 2 URLs are:


These are the same tree.  The second is just a
read-only replica published by anonymous svn.

I'm testing 2 accounts.  In one account I established
a depot to the anonymous svn tree

$ svk depotmap --init
$ svk mkdir //mirror
$ svk mirror \
	svn://svnanon.samba.org/samba/branches/SAMBA_3_0 \
$ svk sync //mirror/SAMBA_3_0

Created a local branch and checked it out.

$ svk mkdir //local
$ svk copy //mirror/SAMBA_3_0 //local/SAMBA_3_0
$ svk co //local/SAMBA_3_0 ~/src/samba_3_0

now made some changes, committed them to //local/SAMBA_3_0
and created a patch

$ svk push -P openbsd_timespec

So now I have a patch file I sent to a developer
for review and to commit the change to the real svn repo.
(in reality I just copied this to another account
with ssh access.  The patch file is

Now using an account with ssh commit access, I did
similar steps expect that I mirrored the svn+ssh:// URL.
And this time I mirrored the entire svn repo.  Not
just a single branch.

$ svk depotmap --init
$ svk mirror svn+ssh://svn.samba.org/data/svn/samba //samba
$ svk sync //samba

Next I created a local branch and checked it out.

$ svk mkdir //local
$ svk copy //samba/branches/SAMBA_3_0 //local/samba3
$ svk co //local/samba3 /misc/src/samba_3_0

So next I copied the openbsd_timespec.patch to

This is where I ran into the failure.

$ svk patch --list
openbsd_timespec at 1:
$ svk patch --cat openbsd_timespec
Target not local nor mirrored, unable to view patch.

What I'm trying to determine is if svk would allow
us to better support Samba developers outside of the core
team.  svk provides a simple means of creating a
local mirror svn repo.  But what I'm struggling with
is the patch handoff from non-core to core developers.

My hunch is that the error is due to path differences
in the way the depot was setup between the 2 accounts.
And I believe that this path information is also encoded
in the SVK patch block, but I have not decode the base64
data to verify.

So the real question is, "Am I trying to do something
that svk was not designed to support?"  I had assumed
that applying someone else's patch and being able to
save the commit log messages from the patch file would be
a no-brainer.  Maybe I just have no brain here.

Any help would be appreciated.

cheers, jerry

Version: GnuPG v1.4.0 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org


More information about the samba-technical mailing list