Robert Collins wrote:
> What sort of break could I cause? I was planning on the following to do the
> switcheroo...
>
> merge ntlm against HEAD (as currently done).
> merge auth_rewrite against ntlm (as currently done).
> mergeinit auth_rewrite against HEAD.
> merge auth_rewrite against HEAD.
> mergeinit ntlm against auth_rewrite.
> merge ntlm against auth_rewrite.
Well.. you must be careful with the mergeinits there. mergeinit involves
three CVS tags
a) The branch changes are merged from (first argument)
b) The branch changes are merged to (current working directory)
c) The branchpoint from where the changes are merged (second argument)
What you should do is
1. Announce that you are doing the switch, and tell anyone to stay out
of ntlm and auth_rewrite until you are done.
2. Make sure the branches is fully up to date
(note: this step is not actually required, but is recommended)
cd .../ntlm
cvsmerge HEAD
cd .../auth_rewrite
cvsmerge ntlm
3. Merge auth_rewrite into ntlm
cd .../ntlm
cvsmergeinit auth_rewrite Z-auth_rewrite_merge_ntlm
cvsmerge auth_rewrite
(note: the Z-... stuff is only to be consistent with below and as a
minor protection against other running cvsmerge in ntlm. If you know
noone else is touching the branches, then "ntlm" can be safely used)
4. Switch auth_rewrite to track HEAD, starting at the point where ntlm
is currently branched from HEAD
cd .../auth_rewrite
cvsmergeinit HEAD Z-ntlm_merge_HEAD
5. Back out any ntlm-specific changes from auth_rewrite
6. Move ntlm to be branched from auth_rewrite
cd .../ntlm
cvsmergeinit auth_rewrite
7. Verify that everything is OK
8. Kill the old tracking tags
cvs rtag -d Z-auth_rewrite_merge_ntlm
cvs rtag -d Z-ntlm_merge_HEAD
(and any other you might find)
Note: The Z-... tags above is the version tracking tags indicating the
current branch points.
Z-ntlm_merge_HEAD is where ntlm is currently branching from HEAD
Z-auth_rewrite_merge_ntlm is where auth_rewrite is currently branching
from ntlm.
The use of the Z-... tags in cvsmergeinit is a extra safeguard in case
of other concurrent updates, especially so wrt the HEAD branch.
If you later find more ntlm stuff that needs to be backed out from
auth_rewrite, then the following procedure can be used:
1. Announce freeze of ntlm and auth_rewrite due to branch maintenance
2. Make sure ntlm is up to date
cd .../ntlm
cvsmerge auth_rewrite
3. Back out the relevant ntlm pieces from auth_rewrite
cd .../auth_rewrite
[edit files]
cvs commit
4. Restart the branch tracking to skip the edits from step 3
cd .../ntlm
cvs rtag -d Z-ntlm_merge_auth_rewrite
cvs rtag -d Z-ntlm_merge-new_auth_rewrite
cvsmergeinit auth_rewrite
/Henrik
Received on Wed Dec 13 2000 - 20:32:48 MST
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:13:04 MST