(file) Return to TaskMakefile CVS log (file) (dir) Up to [Pegasus] / pegasus / mak

  1 jim.wunderlich 1.1 #//%2006////////////////////////////////////////////////////////////////////////
  2                    #//
  3                    #// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
  4                    #// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
  5                    #// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
  6                    #// IBM Corp.; EMC Corporation, The Open Group.
  7                    #// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
  8                    #// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
  9                    #// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10                    #// EMC Corporation; VERITAS Software Corporation; The Open Group.
 11                    #// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 12                    #// EMC Corporation; Symantec Corporation; The Open Group.
 13                    #//
 14                    #// Permission is hereby granted, free of charge, to any person obtaining a copy
 15                    #// of this software and associated documentation files (the "Software"), to
 16                    #// deal in the Software without restriction, including without limitation the
 17                    #// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 18                    #// sell copies of the Software, and to permit persons to whom the Software is
 19                    #// furnished to do so, subject to the following conditions:
 20                    #// 
 21                    #// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 22 jim.wunderlich 1.1 #// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 23                    #// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 24                    #// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 25                    #// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 26                    #// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 27                    #// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 28                    #// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 29                    #//
 30                    #//==============================================================================
 31                    
 32                    # ============================================================================
 33                    # File Specific coding convention
 34                    # ====================================
 35                    #
 36                    # There are to levels of usage statements supported within this Makefile.
 37                    # They are usage and usage_all. These are both implemented by doing a search 
 38                    # across the file for 3 or 2 consecutive # charecters.
 39                    #
 40                    # This means all comments not to be dispalyed as part of these usae statements 
 41                    # must be made with a single # charecter.
 42                    #
 43 jim.wunderlich 1.1 # ============================================================================
 44                    
 45                    ### =========================================================================
 46                    ###
 47                    ### Makefile for managing a Pegasus source task branch 
 48                    ###
 49                    ### Refer to OpenPegasus PEP108 and PEP 248 for more information about
 50                    ### OpenPegasus use of task branches and processes within OpenPegasus
 51                    ###
 52                    ### NOTE: 
 53                    ###    This is a Preliminary version for testing. 
 54                    ###    The Module is set to junk rather than pegasus
 55                    ###    This has not been tested on Windows
 56                    ###
 57                    ## Author: Jim Wunderlich (Jim_Wunderlich@prodigy.net)
 58                    ##
 59                    ### ========================================================================
 60                    ###
 61                    ### General Guidelines:
 62                    ###   Mnay of the rules will operate from any directory while others require
 63                    ###   them to be executed at a specific directory. The commands that require a
 64 jim.wunderlich 1.1 ###   a specific location will return an error if they are not executed at the 
 65                    ###   appropriate directory. Here are specifics:
 66                    ###   
 67                    ###     The following are directory position independent.
 68                    ###        branch_create,        branch_delete,           branch_rename
 69                    ###        branch_lists,         usage                    usage_all
 70 jim.wunderlich 1.2 ###        defaults,             branch_diff_to_root,     branch_diff_to_trunk
 71 jim.wunderlich 1.1 ###        branch_diff_unmerged_branch,
 72                    ###        branch_diff_unmerged_trunk
 73                    ###    
 74                    ###     The following should be excuted from above the $(MODULE) directory.
 75                    ###     Note that some of these commands instantiate the working copy of the 
 76                    ###     branch source tree(They have a * before and after them ). 
 77                    ###        * branch_checkout  *, branch_status 
 78                    ###        * branch_merge_in  *, branch_merge_in_commit,  branch_merge_in_finish
 79                    ###        * branch_merge_out *, branch_merge_out_commit, branch_merge_out_finish
 80                    ###        * branch_migrate   *, branch_migrate_commit,   branch_migrate_finish
 81                    ###
 82                    ###     The following can be executed from anyware within a working branch
 83                    ###     source tree.
 84                    ###        branch_commit,        branch_diff
 85                    ###
 86                    ###   These rules all depend on the user having already logged into cvs with 
 87                    ###   appropriate user permissions.
 88                    ###
 89                    ###   These rules do not set or maintain cvs defaults. All cvs defaults should 
 90                    ###   come from the users's .cvsrc file. These rules set specific options that
 91                    ###   are required for the operation to be performed.
 92 jim.wunderlich 1.1 ###
 93 jim.wunderlich 1.5 ###  Branch Management Terminolgy:
 94                    ###
 95                    ###   branch merge out - The act of merging changes from the trunk, that have occured
 96                    ###                      since the branch was either created or last merged out
 97                    ###                      into the branch.
 98                    ###   branch merge in  - The act of merging changes from the branch, that have occured
 99                    ###                      since the branch was either created or last merged in, 
100                    ###                      into the trunk.
101                    ###   branch migration - The act of migrating all the changes on the branch, that have
102                    ###                      not been merged into the trunk, to another branch rooted at 
103                    ###                      the current head of the trunk.
104 jim.wunderlich 1.1 ###
105                    ##  Functions:
106                    ##       usage
107                    ##       usage_all
108                    ##       defaults
109                    ##
110                    ##       branch_list
111                    ##       branch_status
112                    ##       branch_create
113                    ##       branch_rename
114                    ##       branch_delete
115 jim.wunderlich 1.2 ##       branch_checkout
116                    ##       branch_commit
117 jim.wunderlich 1.1 ##       branch_diff_to_root
118                    ##       bracnh_diff_unmerged_branch
119                    ##       branch_diff_unmerged_trunk
120 jim.wunderlich 1.3 ##       branch_diff_to_trund
121 jim.wunderlich 1.1 ##       branch_merge_in
122                    ##       branch_merge_out
123                    ##       branch_migrate
124                    ##       
125                    ## ==========================================================================
126                    ##
127                    ## Tags created/maintained to manage the task branch by the rules within this Makefile
128                    ##
129                    ## The [BRANCH NAME] is expected to be PEP number like PEP_XXX or 
130                    ## BUG number like BUG_XXXX and functionality based like like 
131                    ## PEP_XXX_Config_Changes or BUG_XXXX_Config_changes.
132                    ##
133                    ##
134                    ## Branch and branch management tag naming convention
135                    ##
136 jim.wunderlich 1.4 ## TASK_[BRANCH_NAME]-[ACTION]_[DIRECTION]_[LOCATION]
137 jim.wunderlich 1.1 ##
138                    ## Where:
139                    ##   TASK         - is constant to associate all tags to a TASK branch
140                    ##   BRANCH_NAME  - is the name of the branch as described above.
141                    ##   ACTION       - is the action or purpose of the tag. It is one of the following:
142                    ##                  root, branch, merged_in, merged_out, merging_in or merging_out.
143 jim.wunderlich 1.5 ##   DIRECTION    - is the direction of the ACTION relative to the LOCATION, either
144                    ##                  to or from.
145 jim.wunderlich 1.1 ##   LOCATION     - is the associated location of the tag. It is either on the trunk
146                    ##                    or branch.
147                    ##                  Note that the ACTION root does not have a DIRECTION or LOCATION 
148                    ##                    as it is always on the trunk. This also means that task branches
149                    ##                    do not support sub branches. 
150                    ##                  Note that the ACTION branch does not have a DIRECTION or LOCATION
151                    ##                    as it is the branch.
152                    ##
153 jim.wunderlich 1.4 ##   (1) TASK_[BRANCH NAME]-root    - tag on trunk representing the 
154 jim.wunderlich 1.1 ##                                   root of the branch.
155                    ##
156 jim.wunderlich 1.4 ##   (2) TASK_[BRANCH NAME]-branch  - head of the branch
157 jim.wunderlich 1.1 ## 
158                    ##
159 jim.wunderlich 1.4 ##   (3) TASK_[BRANCH NAME]-merged_out_from_trunk   - The tag on the trunk which
160 jim.wunderlich 1.1 ##                        marks the place where the last merge out operation occurred.
161                    ##                        It could also be said that changes on the trunk up 
162                    ##                        to this label are contained on the branch.
163                    ##
164 jim.wunderlich 1.4 ##   (4) TASK_[BRANCH NAME]-merged_out_to_branch  - The tag on the branch which
165 jim.wunderlich 1.1 ##                        marks the place where the last merge out operation occurred.
166                    ##
167 jim.wunderlich 1.4 ##   (5) TASK_[BRANCH NAME]-merged_in_to_trunk    - The tag on the trunk which
168 jim.wunderlich 1.1 ##                        marks the place where the last merge in operation occurred.
169                    ##
170 jim.wunderlich 1.4 ##   (6) TASK_[BRANCH NAME]-merged_in_from_branch   - The tag on the branch which
171 jim.wunderlich 1.1 ##                        marks the place where the last merge in operation occurred.
172                    ##                        It could also be said that changes on the branch up to 
173                    ##                        this label have been merged into the trunk.
174                    ##
175                    ##
176                    ## For Example if the branch name is PEPXX_FUNC then the following tags will 
177                    ## be in use:
178 jim.wunderlich 1.4 ##     TASK_PEPXX_FUNC-root
179                    ##     TASK_PEPXX_FUNC-branch
180                    ##     TASK_PEPXX_FUNC-merged_in_to_trunk
181                    ##     TASK_PEPXX_FUNC-merged_out_from_trunk
182                    ##     TASK_PEPXX_FUNC-merged_in_from_branch
183                    ##     TASK_PEPXX_FUNC-merged_out_to_branch
184 jim.wunderlich 1.1 ##
185                    ##
186                    ## Consider the following diagram:
187                    ##
188                    ## NOTE: The numbers in these diagrams refer to the branch maintainence 
189                    ##       symbols above.
190                    ##
191                    ##   After task branch has been created, and changes have been made on both
192                    ##   the trunk and the branch.
193                    ##
194                    ##      ------------------------------------------------------HEAD
195                    ##     /
196                    ##    /
197                    ##   |
198                    ##   |
199                    ##   X--------------------------------------------------------BRANCH (2)
200                    ##
201                    ##   X = 1 = 3 = 4 = 5 = 6
202                    ##
203                    ##
204                    ##   After task branch has been merged out once 
205 jim.wunderlich 1.1 ##   and more changes have been made on both the trunk and the branch.
206                    ##
207                    ##
208                    ##      ----Y--------------------------------------------------HEAD
209                    ##     /     \
210                    ##    /       \
211                    ##   |        _\/ 
212                    ##   |          \
213                    ##   X-----------Z---------------------------------------------BRANCH (2)
214                    ##
215                    ##   X = 1 = 5 = 6 
216                    ##   Y = 3
217                    ##   Z = 4
218                    ##
219                    ##
220                    ##   After task branch has been merged out several times, merged in once 
221                    ##   and more changes have been made on both the trunk and the branch.
222                    ##
223                    ##      ---------------------Y------------V---------------------HEAD
224                    ##     /     \       \        \         _/
225                    ##    /       \       \        \        /|
226 jim.wunderlich 1.1 ##   |        _\/     _\/      _\/     /
227                    ##   |          \       \        \    /  
228                    ##   X----------------------------Z--U--------------------------BRANCH (2)
229                    ##
230                    ##   X = 1
231                    ##   Y = 3
232                    ##   Z = 4
233                    ##   U = 6
234                    ##   V = 5
235                    ##
236                    ##   After branch has been merged out several times, merged in several times 
237                    ##   and more changes have been made on both the trunk and the branch.
238                    ##
239                    ##      -------------------------------------Y-----------V-------HEAD
240                    ##     /     \       \        \         _/    \        _/
241                    ##    /       \       \        \        /|     \       /|
242                    ##   |        _\/     _\/      _\/     /       _\/    /
243                    ##   |          \       \        \    /          \   /
244                    ##   X--------------------------------------------Z-U-----------BRANCH (2)
245                    ##
246                    ##   X = 1
247 jim.wunderlich 1.1 ##   Y = 3
248                    ##   Z = 4
249                    ##   U = 6
250                    ##   V = 5
251                    ##
252                    ## ==========================================================================
253                    
254                    # ===========================================================================
255                    # Area to specifiy include files
256                    # ===========================================================================
257                    
258                    
259                    
260                    # ===========================================================================
261                    # Area to define commands that are platform dependent.
262                    #
263                    # If these are already set, by a file previously included, then they will not be
264                    # set here. In either case it will be verified that the command is on the search
265                    # path.
266                    #
267                    # ===========================================================================
268 jim.wunderlich 1.1 # pathsearch = $(firstword $(wildcard $(addsuffix /$(1),$subst :, ,$(PATH))))
269                    
270                    pathsearch = $(firstword $(wildcard $(addsuffix /$(1),$(subst :, ,$(PATH)))))
271                    
272                    MAKE ?= make
273                    MAKE_FULL_PATH = $(call pathsearch, $(MAKE))
274                    
275                    CVS ?= cvs
276                    CVS_FULL_PATH = $(call pathsearch,$(CVS))
277                    
278                    ECHO ?= echo
279                    ECHO_FULL_PATH = $(call pathsearch,$(ECHO))
280                    
281                    GREP ?= grep
282                    GREP_FULL_PATH = $(call pathsearch,$(GREP))
283                    
284                    
285                    PATCH ?= patch
286                    PATCH_FULL_PATH = $(call pathsearch,$(PATCH))
287                    
288                    
289 jim.wunderlich 1.1 
290                    
291                    # ===============================================================================
292                    # Shell internal commands
293                    # ===============================================================================
294                    CD ?= cd
295                    
296                    
297                    # ===============================================================================
298                    # Area to set defaults 
299                    # ===============================================================================
300                    
301                    
302                    ROOT ?= $(subst \,/,$(PEGASUS_ROOT))
303                    
304                    FILE_PATH = $(ROOT)/mak
305                    
306                    FILE_NAME = TaskMakefile
307                    
308                    
309                    FILE = $(FILE_PATH)/$(FILE_NAME)
310 jim.wunderlich 1.1 
311                    
312                    # ===============================================================================
313                    # The remaining defaults will be set only if they are not already set.
314                    # ===============================================================================
315                    
316                    # MODULE_NAME ?= pegasus
317                    MODULE_NAME ?= junk
318                    
319                    ifeq ($(MODULE_NAME),pegasus)
320                    BFILE ?= env_var.status
321                    else
322                    # must be junk module
323                    BFILE ?= a.cpp
324                    endif
325                    
326                    #
327                    # diff and rdiff support different options. 
328                    # diff supports more options than rdiff does. 
329                    #
330                    
331 jim.wunderlich 1.1 DIFF_OPTIONS ?= 
332                    
333                    RDIFF_OPTIONS ?= 
334                    
335                    
336                    # ==================================================================================
337                    # Rule definitions starts here
338                    # ==================================================================================
339                    
340                    .PHONY: FORCE
341                    
342                    # =====================
343                    # This rule must be the first in the file so if no make command is specified then 
344                    # the usage information will be displayed.
345                    default: usage
346                    
347                    # =====================
348                    # assure that a minimum of commands exist. 
349                    #
350                    # Without ECHO and CVS essentially nothing can be done.
351                    exists_minimum: exists_MAKE exists_CVS exists_ECHO
352 jim.wunderlich 1.1 
353                    # ======================
354                    # assure that MAKE exists
355                    #
356                    exists_MAKE: FORCE
357                    ifeq ($(MAKE_FULL_PATH),)
358 jim.wunderlich 1.4 	$(error ERROR: MAKE command ($(MAKE)) not found in PATH $(PATH))
359 jim.wunderlich 1.1 endif
360                    
361                    
362                    # ======================
363                    # assure that CVS exists
364                    #
365                    exists_CVS: FORCE
366                    ifeq ($(CVS_FULL_PATH),)
367 jim.wunderlich 1.4 	$(error ERROR: CVS command ($(CVS)) not found in PATH $(PATH))
368 jim.wunderlich 1.1 endif
369                    
370                    
371                    # ======================
372                    # assure that PATCH exists
373                    #
374                    exists_PATCH: FORCE
375                    ifeq ($(PATCH_FULL_PATH),)
376 jim.wunderlich 1.4 	$(error ERROR: PATCH command ($(PATCH)) not found in PATH $(PATH))
377 jim.wunderlich 1.1 endif
378                    
379                    # ======================
380                    # assure that GREP exists
381                    #
382                    exists_GREP: FORCE
383                    ifeq ($(GREP_FULL_PATH),)
384 jim.wunderlich 1.4 	$(error ERROR: GREP command ($(GREP)) not found in PATH $(PATH))
385 jim.wunderlich 1.1 endif
386                    
387                    # ======================
388                    # assure that ECHO exists
389                    #
390                    exists_ECHO: FORCE 
391                    ifeq ($(ECHO_FULL_PATH),)
392 jim.wunderlich 1.4 	$(error ERROR: ECHO command ($(ECHO)) not found in PATH $(PATH))
393 jim.wunderlich 1.1 endif
394                    
395                    
396                    
397                    # ======================
398                    # assure that BNAME exists
399                    #
400                    exists_BNAME: FORCE
401                    ifeq ($(BNAME),)
402                    	@ $(ECHO)
403                    	@ $(ECHO) "  BNAME not set, set is on the command line. "
404                    	@ $(ECHO) "  IE: $(MAKE) -f $(FILE_NAME) [command] BNAME=PEPX_Y "
405                    	@ $(ECHO)
406                    	@ $(MAKE) -f $(FILE) parm_error PARM_MSG="BNAME not set"
407                    endif
408                    
409                    # ======================
410                    # assure that NEW_BNAME exists
411                    #
412                    exists_NEW_BNAME: FORCE
413                    ifeq ($(NEW_BNAME),)
414 jim.wunderlich 1.1 	@ $(ECHO)
415                    	@ $(ECHO) "  NEW_BNAME not set, set is on the command line. "
416                    	@ $(ECHO) "  IE: $(MAKE) -f $(FILE_NAME) [command] NEW_BNAME=PEPX_Y "
417                    	@ $(ECHO)
418                    	@ $(MAKE) -f $(FILE) parm_error PARM_MSG="NEW_BNAME not set"
419                    endif
420                    
421                    parm_error: FORCE
422 jim.wunderlich 1.4 	$(error ERROR: $(PARM_MSG))
423 jim.wunderlich 1.1 
424                    
425                    
426                    ## =====================
427                    ##
428                    ### Function: usage - displays usage information
429                    ##  Usage:    usage
430                    ##
431                    usage: exists_GREP
432                    	@ $(GREP) "\#\#\#" $(FILE)
433                    
434                    ## =====================
435                    ##
436                    ### Function: usage_all - displays usage information
437                    ##  Usage:    usage_all
438                    ##
439                    usage_all: exists_GREP
440                    	@ $(GREP) "\#\#" $(FILE)
441                    
442                    ## =====================
443                    ##
444 jim.wunderlich 1.1 ### Function: defaults - displays default settings
445                    ##  Usage:    defaults
446                    ##
447                    defaults: exists_minimum
448                    	@ $(ECHO) =======================================================================
449                    	@ $(ECHO) 
450                    	@ $(ECHO) "CVS defaults should be set within the .cvsrc file."
451                    	@ $(ECHO)
452                    	@ $(ECHO) --------------------------
453                    	@ $(ECHO) "Default External Commands used within this Makefile"
454                    	@ $(ECHO)
455                    	@ $(ECHO) "CVS                = $(CVS)"
456                    	@ $(ECHO) "CVS_FULL_PATH      = $(CVS_FULL_PATH)"
457                    	@ $(ECHO)
458                    	@ $(ECHO) "PATCH              = $(PATCH)"
459                    	@ $(ECHO) "PATCH_FULL_PATH    = $(PATCH_FULL_PATH)"
460                    	@ $(ECHO)
461                    	@ $(ECHO) "GREP               = $(GREP)"
462                    	@ $(ECHO) "GREP_FULL_PATH     = $(GREP_FULL_PATH)"
463                    	@ $(ECHO)
464                    	@ $(ECHO) "ECHO               = $(ECHO)"
465 jim.wunderlich 1.1 	@ $(ECHO) "ECHO_FULL_PATH     = $(ECHO_FULL_PATH)"
466                    	@ $(ECHO)
467                    	@ $(ECHO) --------------------------
468                    	@ $(ECHO) "Defaults used within this Makefile."
469                    	@ $(ECHO)
470                    	@ $(ECHO) "FILE_PATH          = $(FILE_PATH)"
471                    	@ $(ECHO) "FILE_NAME          = $(FILE_NAME)"
472                    	@ $(ECHO)
473                    	@ $(ECHO) --------------------------
474                    	@ $(ECHO) "Defaults used within this Makefile that can be overridden from the"
475                    	@ $(ECHO) " command line."
476                    	@ $(ECHO) 
477                    	@ $(ECHO) "MODULE_NAME        = $(MODULE_NAME)"
478                    	@ $(ECHO) "BFILE              = $(BFILE)"
479                    	@ $(ECHO)
480                    	@ $(ECHO) "DIFF_OPTIONS       = $(DIFF_OPTIONS)"
481                    	@ $(ECHO) "RDIFF_OPTIONS      = $(RDIFF_OPTIONS)"
482                    	@ $(ECHO)
483                    	@ $(ECHO) "For example"
484                    	@ $(ECHO) " $(MAKE) -f $(FILE_NAME) branch_checkout BNAME=PEPX_Y MODULE=module"
485                    	@ $(ECHO)
486 jim.wunderlich 1.1 	@ $(ECHO) =======================================================================
487                    
488                    ## =====================
489                    ##
490                    ### Function: branch_list - List branches and other symbolic links
491                    ##  Usage:    branch_list [BFILE=(FILE NAME)]
492                    ##
493                    ##  Note:     A log is performed on a chosen file, such as the env_var.status
494                    ##            file since it has been in the trunk for a while, having most 
495                    ##            symbolic variables assigned to it, and very few revisions. 
496                    ##
497                    branch_list: exists_minimum
498                    	-$(CVS) rlog $(MODULE_NAME)/$(BFILE) | $(GREP) TASK
499                    
500                    
501                    # =====================
502                    ##
503                    ### Function: branch_status - Show "branch" status
504                    ##  Usage:    branch_status [BFILE=(FILE NAME)]
505                    ##
506                    ##  Note:     Must be executed from the directory above $(MODULE_NAME), 
507 jim.wunderlich 1.1 ##            the top of the trunk.   
508                    ##
509                    ##  Note:     A log is performed on a chosen file, such as the env_var.status
510                    ##            file since it has been in the trunk for a while, having most 
511                    ##            symbolic variables assigned to it, and very few revisions. 
512                    ##
513                    branch_status: exists_minimum
514                    	$(CD) $(MODULE_NAME)
515                    	$(CVS) status $(MODULE_NAME)/$(BFILE)
516                    
517                    
518                    
519                    ## =====================
520                    ##
521                    ### Function: branch_create - Creates branch and the tags to manage it.
522                    ##  Usage:    branch_create BNAME=(BRANCH NAME)
523                    ##
524                    ##
525                    ##  Process:
526                    ##       Create "root" tag on main branch
527                    ##       Create "branch" using the "root" tag 
528 jim.wunderlich 1.1 ##       Create a "merged_in_to_trunk" tag for later use in the merge in. 
529                    ##       Create a "merged_out_from_trunk" tag for later use in the merge out. 
530                    ##       Create a "merged_in_from_branch" tag for later use in the merge in.
531                    ##       Create a "merged_out_to_branch" tag for later use in the merge out.
532                    ##
533                    ##
534                    branch_create: exists_minimum exists_BNAME
535 jim.wunderlich 1.4 	$(CVS) rtag -f TASK_$(BNAME)-root $(MODULE_NAME)
536                    	$(CVS) rtag -b -r TASK_$(BNAME)-root TASK_$(BNAME)-branch $(MODULE_NAME)
537                    	$(CVS) rtag -r TASK_$(BNAME)-root TASK_$(BNAME)-merged_in_to_trunk $(MODULE_NAME)
538                    	$(CVS) rtag -r TASK_$(BNAME)-root TASK_$(BNAME)-merged_out_from_trunk $(MODULE_NAME)
539                    	$(CVS) rtag -r TASK_$(BNAME)-branch TASK_$(BNAME)-merged_in_from_branch $(MODULE_NAME)
540                    	$(CVS) rtag -r TASK_$(BNAME)-branch TASK_$(BNAME)-merged_out_to_branch $(MODULE_NAME)
541 jim.wunderlich 1.1 
542                    
543                    ## =====================
544                    ##
545                    ### Function: branch_rename - Renames existing branch and all the tags to manage it.
546                    ##  Usage:    branch_rename BNAME=(OLD NAME) NEW_BNAME=(NEW NAME)
547                    ##
548                    ##
549                    ##  Process:
550 jim.wunderlich 1.4 ##       Rename TASK_[BNAME]-root to TASK_[NEW_BNAME]-root
551                    ##       Rename TASK_[BNAME]-branch to TASK_[NEW_BNAME]-branch
552                    ##       Rename TASK_[BNAME]-merged_in_to_trunk
553                    ##           to TASK_[NEW_BNAME]-merged_in_to_trunk
554                    ##       Rename TASK_[BNAME]-merged_out_from_trunk
555                    ##           to TASK_[NEW_BNAME]-merged_out_from_trunk
556                    ##       Rename TASK_[BNAME]-merged_in_from_branch
557                    ##           to TASK_[NEW_BNAME]-merged_in_from_branch
558                    ##       Rename TASK_[BNAME]-merged_out_to_branch
559                    ##           to TASK_[NEW_BNAME]-merged_out_to_branch
560                    ##	 Delete Branch TASK_[BNAME]
561 jim.wunderlich 1.1 ##    
562                    branch_rename: exists_minimum exists_BNAME exists_NEW_BNAME
563 jim.wunderlich 1.4 ifeq ($(BNAME),$(NEW_BNAME))
564                    	$(error ERROR: BNAME=NEW_BNAME=($(BNAME)), They must be different.)
565                    endif
566                    	$(CVS) rtag -r TASK_$(BNAME)-root TASK_$(NEW_BNAME)-root $(MODULE_NAME)
567                    	$(CVS) rtag -b -r TASK_$(BNAME)-branch TASK_$(NEW_BNAME)-branch $(MODULE_NAME)
568                    	$(CVS) rtag -r TASK_$(BNAME)-merged_in_to_trunk TASK_$(NEW_BNAME)-merged_in_to_trunk $(MODULE_NAME)
569                    	$(CVS) rtag -r TASK_$(BNAME)-merged_out_from_trunk TASK_$(NEW_BNAME)-merged_out_from_trunk $(MODULE_NAME)
570                    	$(CVS) rtag -r TASK_$(BNAME)-merged_in_from_branch TASK_$(NEW_BNAME)-merged_in_from_branch $(MODULE_NAME)
571                    	$(CVS) rtag -r TASK_$(BNAME)-merged_out_to_branch TASK_$(NEW_BNAME)-merged_out_to_branch $(MODULE_NAME)
572 jim.wunderlich 1.1 	$(MAKE) -f $(FILE) branch_delete BNAME=$(BNAME)
573                    
574                    
575                    ## =====================
576                    ##
577                    ### Function: branch_delete - Delete the named branch and its management tags.
578                    ##  Usage:    branch_delete BNAME=(BRANCH NAME)
579                    ##
580                    ##    Process:
581                    ##       Delete "root" tag
582                    ##       Delete the "merged_in_to_trunk" tag. 
583                    ##       Delete the "merged_out_from_trunk" tag. 
584                    ##       Delete the "merged_in_from_branch" tag.
585                    ##       Delete the "merged_out_to_branch" tag.
586                    ##       Delete the "merging_in_to_trunk" tag. 
587                    ##       Delete the "merging_out_from_trunk" tag. 
588                    ##       Delete the "merging_in_from_branch" tag.
589                    ##       Delete the "merging_out_to_branch" tag.
590                    ##       Delete the branch
591                    ##    
592                    ##
593 jim.wunderlich 1.1 branch_delete: exists_minimum exists_BNAME
594 jim.wunderlich 1.4 	$(CVS) rtag -d TASK_$(BNAME)-root $(MODULE_NAME)
595                    	$(CVS) rtag -d TASK_$(BNAME)-merged_in_to_trunk $(MODULE_NAME)
596                    	$(CVS) rtag -d TASK_$(BNAME)-merged_out_from_trunk $(MODULE_NAME)
597                    	$(CVS) rtag -d TASK_$(BNAME)-merged_in_from_branch $(MODULE_NAME)
598                    	$(CVS) rtag -d TASK_$(BNAME)-merged_out_to_branch $(MODULE_NAME)
599                    	$(CVS) rtag -d TASK_$(BNAME)-merging_in_to_trunk $(MODULE_NAME)
600                    	$(CVS) rtag -d TASK_$(BNAME)-merging_out_from_trunk $(MODULE_NAME)
601                    	$(CVS) rtag -d TASK_$(BNAME)-merging_in_from_branch $(MODULE_NAME) 
602                    	$(CVS) rtag -d TASK_$(BNAME)-merging_out_to_branch $(MODULE_NAME) 
603                    	$(CVS) rtag -B -d TASK_$(BNAME)-branch $(MODULE_NAME)
604 jim.wunderlich 1.1 
605                    ## =====================
606                    ##
607                    ### Function: branch_checkout - checks out the head of the branch trunk
608                    ##  Aliases:  branch_co
609                    ##  Usage:    branch_checkout BNAME=(BRANCH NAME)
610                    ##  Note:     Must be executed from the directory where the top pegasus 
611                    ##            directory shall be placed. 
612                    ##
613                    branch_co branch_checkout: exists_minimum
614 jim.wunderlich 1.4 	$(CVS) checkout -r TASK_$(BNAME)-branch $(MODULE_NAME)
615 jim.wunderlich 1.1 
616                    
617                    ## =====================
618                    ##
619                    ### Function: branch_commit - checks into the head of the branch trunk
620                    ##  Aliases:  branch_ci
621                    ##  Usage:    branch_ci BNAME=(BRANCH NAME) 
622                    ##  Note:     Must be executed from within a directory of a working trunk 
623                    ##
624                    branch_ci branch_commit: exists_minimum
625                    	$(CVS) commit $(MODULE_NAME)
626                    
627                    
628                    ## =====================
629                    ##
630                    ### Function: branch_diff - diffs current working tree to the head of the
631                    ###                         branch tree
632                    ##  Usage:    branch_diff [DIFF_OPTIONS=(OPTIONS)]
633                    ##  Note:     Must be executed from within a directory of a working tree  
634                    ##
635                    branch_diff: exists_minimum
636 jim.wunderlich 1.1 	$(CVS) diff $(DIFF_OPTIONS) $(MODULE_NAME) 
637                    
638                    ## =====================
639                    ##
640                    ### Function: branch_diff_to_root - diffs branch to its root
641                    ##  Usage:    branch_diff_to_root BNAME=(BRANCH NAME) [RDIFF_OPTIONS=(OPTIONS)]
642                    ##
643                    branch_diff_to_root: exists_minimum exists_BNAME
644 jim.wunderlich 1.4 	$(CVS) rdiff $(RDIFF_OPTIONS) -r TASK_$(BNAME)-root -r TASK_$(BNAME)-branch $(MODULE_NAME)
645 jim.wunderlich 1.1 
646                    ## =====================
647                    ##
648                    ### Function: branch_diff_to_trunk - diffs branch head to the head of the trunk
649                    ##  Usage:    branch_diff_to_trunk BNAME=(BRANCH NAME) [RDIFF_OPTIONS=(OPTIONS)]
650                    ##
651                    branch_diff_to_trunk: exists_minimum exists_BNAME
652 jim.wunderlich 1.4 	$(CVS) rdiff $(RDIFF_OPTIONS) -r TASK_$(BNAME)-branch $(MODULE_NAME)
653 jim.wunderlich 1.1 
654                    ## =====================
655                    ##
656                    ### Function: branch_diff_unmerged_branch - shows all changes on the 
657                    ###                                  branch since the last merge in.
658                    ##  Usage:    branch_diff_unmerged_branch BNAME=(BRANCH NAME) [RDIFF_OPTIONS=(OPTIONS)]
659                    ##
660                    branch_diff_unmerged_branch: exists_minimum exists_BNAME
661 jim.wunderlich 1.4 	$(CVS) rdiff  $(RDIFF_OPTIONS) -r TASK_$(BNAME)-merged_in_from_branch -r TASK_$(BNAME)-branch $(MODULE_NAME)
662 jim.wunderlich 1.1 
663                    
664                    ## =====================
665                    ##
666                    ### Function: branch_diff_unmerged_trunk - shows all changes on the 
667                    ###                                  trunk since the last merge out
668                    ##  Usage:    branch_diff_unmerged_trunk BNAME=(BRANCH NAME) [RDIFF_OPTIONS=(OPTIONS)]
669                    ##
670                    branch_diff_unmerged_trunk: exists_minimum exists_BNAME
671 jim.wunderlich 1.4 	$(CVS) rdiff  $(RDIFF_OPTIONS) -r TASK_$(BNAME)-merged_out_from_trunk $(MODULE_NAME)
672 jim.wunderlich 1.1 
673                    
674                    ## =====================
675                    ##
676                    ### Function: branch_merge_in - starts the two part process to merge 
677                    ###                             the changes in the branch into the trunk. 
678                    ##  Usage:    branch_merge_in BNAME=(BRANCH NAME)
679                    ##
680                    ##  Note:     Must be executed from the directory where the top pegasus 
681                    ##            directory shall be placed when the checkout is performed 
682                    ##            to instantiate the working copy of the trunk within which 
683 jim.wunderlich 1.3 ##            the merge will be performed.
684                    ##
685                    ##  Note:     You can start this process over prior to the commit by 
686                    ##            removing the working copy of the tree and starting over with
687                    ##            the branch_merge_in command.
688 jim.wunderlich 1.1 ##
689                    ##  Process:
690                    ##
691                    ##   branch_merge_in BNAME=(BRANCH NAME) 
692                    ##     - Tag main trunk with the merging_in_to_trunk tag.
693                    ##     - Tag branch with the merging_in_from_branch tag.
694                    ##     - Checkout the trunk head into a working copy of the trunk.
695                    ##          NOTE: The merging_in tag is not used because that 
696                    ##                would result in a sticky tag that will preclude the 
697                    ##                subsequent commit of the merged files. The 
698                    ##                merging_in tag is created because if any other commits
699                    ##                occur while the merge is in process they will be detected 
700                    ##                and merged on the subsequent merge_in. It is safer to 
701                    ##                do this than to risk the chance of missing a commit.
702                    ##     - Use update to merge in the branch changes since last the merge_in.
703                    ##     - Manually resolve any conflicts in the working copy of the trunk.
704                    ##
705                    ##   branch_merge_in_commit BNAME=(BRANCH NAME)
706 jim.wunderlich 1.3 ##     - Check in merged changes from the working copy of the trunk in.
707                    ##     - executes branch_merge_in_finish  
708                    ##
709                    ##   If you chose to do a manual checkin then execute branch_merge_in_finish
710 jim.wunderlich 1.1 ##  
711                    ##   branch_merge_in_finish BNAME=(BRANCH NAME)
712                    ##     - Move the merged_in_to_trunk tag to the merging_in_to_trunk tag
713                    ##     - Move the merged_in_from_branch tag to 
714                    ##           the merging_in_from_branch tag
715 jim.wunderlich 1.4 ##     - Delete the  TASK_$(BNAME)-merging_in_to_trunk tag
716                    ##     - Delete the  TASK_$(BNAME)-merging_in_from_branch tag
717 jim.wunderlich 1.1 ##        
718                    ##
719                    branch_merge_in: exists_minimum exists_BNAME
720 jim.wunderlich 1.4 	$(CVS) rtag -F TASK_$(BNAME)-merging_in_to_trunk $(MODULE_NAME)
721                    	$(CVS) rtag -F -r TASK_$(BNAME)-branch TASK_$(BNAME)-merging_in_from_branch $(MODULE_NAME)
722 jim.wunderlich 1.1 	$(CVS) checkout -P $(MODULE_NAME)
723                    	$(CD) $(MODULE_NAME)
724 jim.wunderlich 1.4 	$(CVS) update -P -d -j TASK_$(BNAME)-merged_in_from_branch -j TASK_$(BNAME)-merging_in_from_branch $(MODULE_NAME)
725 jim.wunderlich 1.1 	@ $(ECHO)
726                    	@ $(ECHO) Differences from branch now merged into 
727                    	@ $(ECHO) the local working copy of the trunk.
728                    	@ $(ECHO)
729                    	@ $(ECHO) Now manually:
730                    	@ $(ECHO)   1. Resolve any merge conflicts.
731                    	@ $(ECHO)   2. Review differences to assure commit integrity. 
732 jim.wunderlich 1.4 	@ $(ECHO)      That is do not check in unintended white space changes,
733 jim.wunderlich 1.1 	@ $(ECHO)      test or debug code.
734                    	@ $(ECHO)   3. Check for aded files and directories and do a cvs add 
735                    	@ $(ECHO)      command for them. 
736                    	@ $(ECHO)
737                    	@ $(ECHO) Then check in the files. Either manually or by using 
738                    	@ $(ECHO) "  $(MAKE) -f $(FILE_NAME) branch_merge_in_ci BNAME=$(BNAME)"
739                    	@ $(ECHO) within the $(MODULE_NAME) directory.
740                    	@ $(ECHO)
741                    	@ $(ECHO) If you chose to do a manual commit then after the commit 
742                    	@ $(ECHO) is complete then do a:
743                    	@ $(ECHO) "  $(MAKE) -f $(FILE_NAME) branch_merge_in_finish BNAME=$(BNAME)"
744                    	@ $(ECHO) within the $(MODULE_NAME) directory to reset the appropriate
745                    	@ $(ECHO) branch management tags.
746                    	@ $(ECHO)
747 jim.wunderlich 1.3 	@ $(ECHO) You can start this process over prior to the commit by removing
748                    	@ $(ECHO) the working copy of the tree and then start over with
749                    	@ $(ECHO) "  $(MAKE) -f $(FILE_NAME) branch_merge_in BNAME=$(BNAME)" 
750                    	@ $(ECHO)
751 jim.wunderlich 1.1 	@ $(ECHO)
752                    
753                    
754                    branch_merge_in_ci branch_merge_in_commit: exists_minimum exists_BNAME
755                    	$(CD) $(MODULE_NAME)
756                    	$(CVS) commit
757                    	@ $(ECHO) 
758                    	@ $(ECHO) Check in of merged files from branch into trunk complete.
759                    	@ $(ECHO)
760                    	$(MAKE) -f $(FILE) branch_merge_in_finish BNAME=$(BNAME)
761                    
762                    
763                    branch_merge_in_finish: exists_minimum exists_BNAME
764 jim.wunderlich 1.4 	$(CVS) rtag -F -r TASK_$(BNAME)-merging_in_to_trunk TASK_$(BNAME)-merged_in_to_trunk $(MODULE_NAME)
765                    	$(CVS) rtag -F -r TASK_$(BNAME)-merging_in_from_branch TASK_$(BNAME)-merged_in_from_branch $(MODULE_NAME)
766                    	$(CVS) rtag -d TASK_$(BNAME)-merging_in_to_trunk $(MODULE_NAME)
767                    	$(CVS) rtag -d TASK_$(BNAME)-merging_in_from_branch $(MODULE_NAME)
768 jim.wunderlich 1.1 	@ $(ECHO) 
769                    	@ $(ECHO) Branch Management tags have now been updated to reflect the new branch status.
770                    	@ $(ECHO)
771                    
772                    
773                    
774                    ## =====================
775                    ###
776                    ### Function: branch_merge_out - starts the two part process to merge 
777                    ###                             the changes in the trunk into the branch. 
778                    ##  Usage:    branch_merge_out BNAME=(BRANCH NAME)
779                    ##
780                    ##  Note:     Must be executed from the directory where the top pegasus 
781                    ##            directory shall be placed when the checkout is performed 
782                    ##            to instantiate the working copy of the trunk within which 
783                    ##            the merge will be performed 
784                    ##
785 jim.wunderlich 1.3 ##  Note:     You can start this process over prior to the commit by 
786                    ##            removing the working copy of the tree and starting over with
787                    ##            the branch_merge_out command.
788                    ##
789 jim.wunderlich 1.1 ##  Process:
790                    ##
791                    ##   branch_merge_out BNAME=(BRANCH NAME)
792                    ##     - Tag main trunk with the merging_out_from_trunk tag.
793                    ##     - Tag branch with the merging_out_to_branch tag.
794                    ##     - Checkout the trunk head into a working copy of the trunk.
795                    ##          NOTE: The merging_out tag is not used because that 
796                    ##                would result in a Sticky tag that will preclude the 
797                    ##                subsequent commit of the merged files. The 
798                    ##                mergeing_out tag is created because if any other commits
799                    ##                occur while the merge is in process they will be detected 
800                    ##                and merged on the subsequent merge_out. It is safer to 
801                    ##                do this than to risk the chance of missing a commit.
802                    ##     - Use update to merge in the trunk changes since last the merge_out.
803 jim.wunderlich 1.3 ##     - Manually resolve any conflicts in the working copy of the branch.
804 jim.wunderlich 1.1 ##
805                    ##   branch_merge_out_commit BNAME=(BRANCH NAME)    
806 jim.wunderlich 1.3 ##     - Check in merged changes from the working copy of the branch in.
807                    ##     - executes branch_merge_out_finish  
808                    ##
809                    ##   If you chose to do a manual checkin then execute branch_merge_out_finish
810 jim.wunderlich 1.1 ##
811                    ##   branch_merge_out_finish BNAME=(BRANCH NAME)
812                    ##     - Move the merged_out_from_trunk tag to the merging_out_from_trunk tag
813                    ##     - Move the merged_out_to_branch tag to
814                    ##           the merging_out_to_branch tag
815 jim.wunderlich 1.4 ##     - Delete the  TASK_$(BNAME)-merging_out_from_trunk tag
816                    ##     - Delete the  TASK_$(BNAME)-merging_out_to_branch tag
817 jim.wunderlich 1.1 ##
818                    ##
819                    branch_merge_out: exists_minimum exists_BNAME
820 jim.wunderlich 1.4 	$(CVS) rtag -F TASK_$(BNAME)-merging_out_from_trunk $(MODULE_NAME)
821                    	$(CVS) rtag -F -r TASK_$(BNAME)-branch TASK_$(BNAME)-merging_out_to_branch $(MODULE_NAME)
822                    	$(CVS) checkout -P -r TASK_$(BNAME)-branch $(MODULE_NAME)
823 jim.wunderlich 1.1 	$(CD) $(MODULE_NAME)
824 jim.wunderlich 1.4 	$(CVS) update -d -j TASK_$(BNAME)-merged_out_from_trunk -j TASK_$(BNAME)-merging_out_from_trunk
825 jim.wunderlich 1.1 	@ $(ECHO)
826                    	@ $(ECHO) Differences from trunk now merged into 
827                    	@ $(ECHO) the local working copy of the branch.
828                    	@ $(ECHO)
829                    	@ $(ECHO) Now manually:
830                    	@ $(ECHO)   1. Resolve any merge conflicts.
831                    	@ $(ECHO)   2. Check for added files and directories and do a cvs add 
832                    	@ $(ECHO)      command for them. 
833                    	@ $(ECHO)
834                    	@ $(ECHO) Then check in the files. Either manually or by using
835                    	@ $(ECHO) "  $(MAKE) -f $(FILE_NAME) branch_merge_out_ci BNAME=$(BNAME)"
836                    	@ $(ECHO) within the $(MODULE_NAME) directory.
837                    	@ $(ECHO)
838                    	@ $(ECHO) If you chose to do a manual commit then after the commit 
839                    	@ $(ECHO) is complete do a:
840                    	@ $(ECHO) "  $(MAKE) -f $(FILE_NAME) branch_merge_out_finish BNAME=$(BNAME)"
841                    	@ $(ECHO) within the $(MODULE_NAME) directory to reset the appropriate
842                    	@ $(ECHO) branch management tags.
843                    	@ $(ECHO)
844 jim.wunderlich 1.3 	@ $(ECHO) You can start this process over prior to the commit by removing
845                    	@ $(ECHO) the working copy of the tree and then start over with
846                    	@ $(ECHO) "  $(MAKE) -f $(FILE_NAME) branch_merge_out BNAME=$(BNAME)" 
847                    	@ $(ECHO)
848 jim.wunderlich 1.1 	@ $(ECHO)
849                    
850                    branch_merge_out_ci branch_merge_out_commit: exists_minimum exists_BNAME
851                    	$(CD) $(MODULE_NAME)
852                    	$(CVS) commit
853                    	@ $(ECHO) 
854                    	@ $(ECHO) Check in of merged files from trunk into branch is complete.
855                    	@ $(ECHO)
856                    	$(MAKE) -f $(FILE) branch_merge_out_finish BNAME=$(BNAME)
857                    
858                    branch_merge_out_finish: exists_minimum exists_BNAME
859 jim.wunderlich 1.4 	$(CVS) rtag -F -r TASK_$(BNAME)-merging_out_from_trunk TASK_$(BNAME)-merged_out_from_trunk $(MODULE_NAME)
860                    	$(CVS) rtag -F -r TASK_$(BNAME)-merging_out_to_branch TASK_$(BNAME)-merged_out_to_branch $(MODULE_NAME)
861                    	$(CVS) rtag -d TASK_$(BNAME)-merging_out_from_trunk $(MODULE_NAME)
862                    	$(CVS) rtag -d TASK_$(BNAME)-merging_out_to_branch $(MODULE_NAME)
863 jim.wunderlich 1.1 	@ $(ECHO) 
864                    	@ $(ECHO) Branch Management tags have now been updated to reflect the new branch status.
865                    	@ $(ECHO)
866                    
867                    
868                    
869                    
870                    ## =====================
871                    ###
872                    ### Function: branch_migrate - starts the process to migrate the 
873                    ###                                    branch to the HEAD of the trunk. 
874                    ###                            
875                    ##  Usage:    branch_migrate BNAME=(BRANCH NAME)
876                    ## 
877                    ##  Note:     Must be executed from the directory where the top pegasus 
878                    ##            directory shall be placed when the checkout is performed 
879                    ##            to instantiate the working copy of the trunk within which 
880 jim.wunderlich 1.3 ##            the merge will be performed.
881                    ##
882                    ##  Note:     You can start this process over prior to the commit by 
883                    ##            removing the working copy of the tree and doing a 
884                    ##            "branch_delete (BNAME)_new" and then starting over with
885                    ##            the branch_migrate command.
886 jim.wunderlich 1.1 ##
887                    ##  Process:
888                    ##
889                    ##   branch_migrate BNAME=(BRANCH NAME)
890                    ##     - get diffs of unmerged_changes_branch into a local patch_diff file.
891                    ##     - create the new branch to migrate to.
892                    ##     - Checkout the new branch
893                    ##     - Apply the patch_diff file to the working trunk
894                    ##     - Manually resolve any merge conflicts in the working trunk.
895                    ##
896                    ##   branch_migrate_commit BNAME=(BRANCH NAME)
897                    ##     - Commit the changes into the new branch
898                    ##
899                    ##  EITHER
900                    ##   branch_migrate_finish BNAME=(BRANCH NAME)
901                    ##     - Remove the old branch.
902                    ##     - Rename all branch tags
903                    ##
904                    ##  OR
905                    ##   branch_rename BNAME=(BRANCH_NAME)_new  NEW_BNAME=(BRANCH NAME)_X
906                    ##
907 jim.wunderlich 1.1 ##
908                    branch_migrate: exists_minimum exists_BNAME
909                    	$(MAKE) -f $(FILE) branch_diff_unmerged_branch BNAME=$(BNAME) 1>branch_migrate_diffs
910                    	$(MAKE) -f $(FILE) branch_create BNAME=$(BNAME)_new
911 jim.wunderlich 1.4 	$(CVS) checkout -P -r TASK_$(BNAME)_new-branch $(MODULE_NAME)
912 jim.wunderlich 1.1 	$(PATCH) -b -p0 --global-reject-file=global-reject-patch-file < branch_migrate_diffs
913                    	@ $(ECHO)
914                    	@ $(ECHO)
915                    	@ $(ECHO) Differences from previous branch are now merged into 
916                    	@ $(ECHO) the local working copy of the new branch.
917                    	@ $(ECHO)
918                    	@ $(ECHO) Now manually:
919                    	@ $(ECHO)   1. Resolve any merge conflicts. 
920                    	@ $(ECHO)      Check the global-patch-reject file in this directory.
921                    	@ $(ECHO)      If it does not exist then there were no patch errors.
922                    	@ $(ECHO)   2. Check for added files and directories and do a cvs add 
923                    	@ $(ECHO)      command for them prior to the commit.. 
924                    	@ $(ECHO)
925                    	@ $(ECHO) Then check in the files. Either manually or by using 
926                    	@ $(ECHO) "  $(MAKE) -f $(FILE_NAME) branch_migrate_ci BNAME=$(BNAME)"
927                    	@ $(ECHO) within the $(MODULE_NAME) directory.
928                    	@ $(ECHO)
929 jim.wunderlich 1.3 	@ $(ECHO) After the commit is complete do either one of the following
930                    	@ $(ECHO) dependent on wheter you want the previous branch deleted or saved.
931                    	@ $(ECHO)
932                    	@ $(ECHO) This will delete the previous branch and move the branch management.
933                    	@ $(ECHO)
934                    	@ $(ECHO) "  $(MAKE) -f $(FILE_NAME) branch_migrate_finish BNAME=$(BNAME)"
935 jim.wunderlich 1.1 	@ $(ECHO) within the $(MODULE_NAME) directory to reset the appropriate
936                    	@ $(ECHO) branch management tags.
937                    	@ $(ECHO)
938 jim.wunderlich 1.3 	@ $(ECHO) This will rename the branch just migrated to keeping the old branch.
939                    	@ $(ECHO)
940                    	@ $(ECHO) "  $(MAKE) -f $(FILE_NAME) branch_rename BNAME=$(BNAME)_new NEW_BNAME=$(BNAME)_(VER)" 
941                    	@ $(ECHO) 
942                    	@ $(ECHO) You can start this process over prior to the commit by removing
943                    	@ $(ECHO) the working copy of the tree and then deleting the new branch this
944                    	@ $(ECHO) process created with
945 jim.wunderlich 1.1 	@ $(ECHO) "  $(MAKE) -f $(FILE_NAME) branch_delete BNAME=$(BNAME)_new"
946 jim.wunderlich 1.3 	@ $(ECHO) and then start over with
947                    	@ $(ECHO) "  $(MAKE) -f $(FILE_NAME) branch_migrate BNAME=$(BNAME)" 
948                    	@ $(ECHO) 
949 jim.wunderlich 1.1 	@ $(ECHO)
950                    
951                    branch_migrate_ci branch_migrate_commit: exists_minimum exists_BNAME
952                    	$(CD) $(MODULE_NAME)
953                    	$(CVS) commit
954                    	@ $(ECHO) 
955                    	@ $(ECHO) Check in of merged files from previous branch into 
956                    	@ $(ECHO) new branch is complete.
957                    	@ $(ECHO)
958                    	$(CD) ..
959                    	$(MAKE) -f $(FILE) branch_diff_to_root BNAME=$(BNAME) > diff_to_root_$(BNAME)
960                    	$(MAKE) -f $(FILE) branch_diff_to_root BNAME=$(BNAME)_new > diff_to_root_$(BNAME)_new
961                    	@ $(ECHO) Do a 
962                    	@ $(ECHO) "  diff diff_to_root_$(BNAME) diff_to_root_$(BNAME)_new"
963 jim.wunderlich 1.4 	@ $(ECHO) to verify TASK_$(BNAME)_new has all the changes.
964 jim.wunderlich 1.1 	@ $(ECHO)
965                    	@ $(ECHO) Then do a
966                    	@ $(ECHO) "  $(MAKE) -f $(FILE_NAME) branch_migrate_finish BNAME=$(BNAME)"
967 jim.wunderlich 1.4 	@ $(ECHO) which will remove TASK_$(BNAME), the old branch, and then rename TASK_$(BNAME)_new to TASK_$(BNAME)
968 jim.wunderlich 1.1 	@ $(ECHO) Alternatively you can keep the old branch around for a while and just 
969                    	@ $(ECHO) rename the new branch by doing a 
970                    	@ $(ECHO) "  $(MAKE) -f $(FILE_NAME) branch_rename BNAME=$(BNAME)_new NEW_BNAME=($BNAME)_X"
971                    	@ $(ECHO) where X is something you chose to identify the new branch.
972                    
973                    
974                    branch_migrate_finish: exists_minimum exists_BNAME
975                    	$(MAKE) -f $(FILE) branch_delete BNAME=$(BNAME)
976                    	$(MAKE) -f $(FILE) branch_rename BNAME=$(BNAME)_new NEW_BNAME=$(BNAME)
977                    	@ $(ECHO) 
978                    	@ $(ECHO) Branch Management tags have now been updated to reflect the new branch status.
979                    	@ $(ECHO)
980                    
981                    
982                    
983                    

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2