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