setting up tracking/work/merge repos

"Robert P. J. Day" <[email protected]>
Newsgroups gmane.comp.version-control.bitkeeper.user
Message-ID <[email protected]>
   once upon a time, i asked about the best way to keep track of a 
bk-managed repo, while being able to make my own local changes, and 
merge changes in both.  based on the responses i got, this is what i 
understand is the best way -- corrections welcome.

   the repo is for a bkbits-managed constantly-changing linux 2.6 
kernel source tree, so here's my strategy, with a few questions:

step 1:
-------

"bk clone" the bkbits-managed repo -- call this the "tracking" repo -- 
which i have no permission to change at the source.  (i might 
informally submit patches, but i have no developer access so, for the 
purpose of this exercise, it's read-only).

no need to check out anything in this cloned repo, i won't be doing 
any work in it.  and, every so often, i'll do a pull on it to bring it 
up to date.

 	NET --> tracking repo

step 2:
-------

"bk clone" tracking repo to "work" repo, where i'll do all my own 
changes.  so, currently, the tracking repo will be the parent of the 
work repo.

 	NET --> tracking repo --> work repo

step 3:
-------

one more time, "bk clone" to create what i'll call the "merge" repo, 
which is where i'll try to merge the changes from both of the above:

 	NET --> tracking repo --> work repo
 			     \--> merge repo

so merge repo is also a child of tracking repo, and all contents are 
identical for now.  now, where to from here?

   at this point, what's the best approach?  as i see it, every so 
often, i'll just do a "bk pull" on the tracking repo to bring it up to 
date, but that alone won't affect my work repo -- i'll just do it for 
the fun of it to see what's changed.

   i'll make all my local changes in the work repo and, occasionally, 
i'll want to bring my work repo up to date from changes in the 
tracking repo.

   as i see it, what i'll want to do is, from the merge repo, pull all 
changes from both the tracking repo and the work repo (have to do a 
reparent there, obviously).  if all goes well, turn around and pull 
from the merge repo back to the work repo.  if there are conflicts, i 
have to fix them in the merge repo before pulling all those changes 
back into the work repo.

   is this reasonable?  it guarantees that:

1) the tracking repo only ever represents *some* version of the bkbits 
stuff, none of my changes.

2) the work repo is the only place where local changes are made.

3) the merge repo is transient (doesn't have to exist all the time), 
and represents where the possibly messy merging gets done, so that if 
i screw up the merge, i haven't done any damage to my work repo.

   is this overkill?  is there an accepted technique for what must be a 
common task?  thanks.

rday

_______________________________________________
Bitkeeper-users mailing list
[email protected]
http://bitmover.com/mailman/listinfo/bitkeeper-users
To unsubscribe from this list, go to the above URL, follow instruction at the bottom of the web page.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.