[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: subversion question

From: Andres Paglayan <andres_at_paglayan.com>
Date: 2004-09-23 17:15:58 CEST

I posted a similar question about a month or so ago, and got a nice link
to follow,
I guess you only have reading access to site1, then you may want to try
svk which runs on top of subversion,
visit:

http://svk.elixus.org/

this is what I posted:

Hi all,

I posted in Subversion and was referred to SVK

I have this situation,

We are using an open source application which is publishing its
Subversion repository on the internet through http, and they are
committing changes every day.
I *don't* have commit privileges over that tree.

To fit our needs, I have many files tweaked and many others added to
that project.

Every time I download the latest version I need some -a lot of- time
manually re-plugging my changes to that project.

I have Subversion in a Linux server and will install SVK too,

My question is,
Which would be the best way to create a branch from that read-only project?
Please consider that I can only read that repository and that I need to
merge my changes with theirs without having commit privileges in their
repository.

I checked the tutorials and I assuming this is possible with SVK by
creating a local branch
something like this,

initialize a local repo
    svk depotmap // enter my reponame: '/home'
    
mirror the remote
    svk mirror //home/trunk http://the/one/read/only
    svk sync //home/trunk

create a local branch
    svk cp //home/trunk //home/local/branch

create my local working copy
    svk checkout //home/local/branch-working-copy

do my stuff and commit
    svk commit

merge changes by others
    svk sync //home/trunk
    svk smerge -C //home/trunk //home/local/branch
    svk merge //home/trunk //home/local/branch

update my checkout working copy
    svk up //home/local/branch-working-copy

Is this sequence 100% right?

I don't quite understand the feature since version 0.09 where you can
commit to the mirrored path and will commit to the remote repository and
sync the path. Will that work if you have read-only to the remote?. (may
be creating a temp, merging and then committing to the sync copy?)

Can someone point me in the right direction,
if not, I will appreciate to hear any recommendation.

Many thanks in advance.

this is what I got,

Is this sequence 100% right?

Yes except some paths. Expect checkout to work just like svn, with the
long url changed to depotpaths like '//home/local':

>> create a local branch
>> svk cp //home/trunk //home/local/branch
>>
>> create my local working copy
>> svk checkout //home/local/branch-working-copy
>
>

you should do "svk checkout //home/local/branch path-checked-out"

>> I don't quite understand the feature since version 0.09 where you can
>> commit to the mirrored path and will commit to the remote repository and
>> sync the path. Will that work if you have read-only to the remote?. (may
>> be creating a temp, merging and then committing to the sync copy?)
>
>

I'm not sure what do you want to achieve with something temp and where
to commit things. Your local branch is the place you could commit.
Otherwise you could setup another svn server and commit to there
too. svk supports complicated mutual-merging between more than two
branches.

Cheers,
CLK

Dave Neary wrote:

>
> Hi Paul,
>
> Paul William wrote:
>
>> My question/problem is this, I hope it makes sense:
>> I need to create a copy of a website (site1 - which is managed with
>> subversion) called site2. site2 will be identical to site1 except I
>> will be making changes to a few files.
>>
>> The problem is that site1 changes very often and I need those changes
>> reflected in site2.
>>
>> Is there a way to do this in subversion? I really don't want to be
>> making a copy of site1 and apply site2 patches every week :(
>
>
> Your question makes a lot of sense. This is called incremental
> branching, and Clearcase does things like this. Files are moved to a
> branch only when new revisions are created for them, otherwise the
> branch gets all of the files on the branch underneath it. The problems
> come when a file on the branch gets changed on the trunk, since the
> change in the trunk is hidden and requires a merge.
>
> Subversion doesn't do things like this, however. Depending on the size
> of your diffs for site2, your options are limited (as far as I can
> tell). You can set up a cron job to automate a merge, and inform you
> if conflicts need to be resolved. Or you can maintain site2 as a
> working copy of site1 with local changes, and svn up frequently. This
> presents the problem of how to version site2 specific changes.
>
> I think that manually merging every few days might be your best option.
>
> Cheers,
> Dave.
>

-- 
Andres Paglayan
andres@paglayan.com
Ph: (505) 986-1561
Santa Fe, NM USA
Open Source is like Love. The more you share it the better it gets.
Received on Thu Sep 23 17:16:24 2004

This is an archived mail posted to the Subversion Users mailing list.