some background info [1]
With a "Decentral Branch" is meant:
A branch location located within an other repository on another server
than the trunk repository.
What I like to do is:
a) Copy the actual trac trunk (no need to have the svn-history) to my
servers svn, thus the branch can be retrieved via standard svn co.
b) modify my-servers-trac on local space
c) commit changes back to my-servers-trac
d) merge central-trac-changes to my-server-svn
e) provide a method to merge my-server-svn changes to original-trac
(for use from trac-comitters)
I am not sure how to do point a, d, e - and would like to have a simple
and elegant solution, which should be based on the _original_ svn
functionality (possibly with some tiny helper scripts).
An actual description can be found here:
http://dev.lazaridis.com/base/wiki/PlanDecentralBranching
-
If that matters: I have full access (root) to my server.
Currently, my plan is to do the following:
checkout the actual trac-head as local WC (working copy)
export this version to a location on my PC.
place this exported version under version control on my server
update the trac.WC
do a svn merge of actual trac.WC mytrac.WC
commit changes to the my-server-trac.
-
[1]
Getting a branch location is not that easy (nothing special with
trac-project, it's common situation within open-source projects):
http://groups.google.com/group/trac-dev/msg/4ddfd1453dfe4a15
and working with patches is an creativity, motivation and especially
productivity killer. Solving a complex task based on patches is in some
cases even impossible .
Thus I like to create this "decentral branch".
See http://svk.bestpractical.com/view/HomePage
-- Matt Good
If I understand right, this tools is for local branches which are _not_
published on a remote server.
-
I've currently this setup:
my decentral branch repository:
http://dev.lazaridis.com/base/browser/infra/trac-dev
I've a standard local working copy of this.
I've a standard local working copy of the original trac-dev-repo, too.
-
I do my custom changes within the local trac-dev-repo copy.
I checkout new versions of trac, detecting conflicts and doing the
merges manually.
then I simply export the working-copy files to my
decentral-branch-working-copy, overwriting the existen files with the
new changes. [1]
then I commit those to the decentral-branch-repo (making them available
to other developers)
everything fine so far.
-
Problem:
files removed from the trac-dev-repo are automaticly removed in the
trac-dev-working-copy.
[1[ but they remain within the decentral-branch-working-copy,
Any standard solution to this?
-
No, it's also supposed to support merging changes between different
remote repositories. I've never used that feature myself, so I can't
tell you quite how it works.
-- Matt Good