aegis -Integrate_Begin(1) aegis -Integrate_Begin(1) NNAAMMEE aegis -Integrate_Begin - begin integrating a change SSYYNNOOPPSSIISS aaeeggiiss --IInntteeggrraattee__BBeeggiinn _c_h_a_n_g_e_-_n_u_m_b_e_r [ _o_p_t_i_o_n... ] aaeeggiiss --IInntteeggrraattee__BBeeggiinn --LLiisstt [ _o_p_t_i_o_n... ] aaeeggiiss --IInntteeggrraattee__BBeeggiinn --HHeellpp DDEESSCCRRIIPPTTIIOONN The _a_e_g_i_s _-_I_n_t_e_g_r_a_t_e___B_e_g_i_n command is used to begin the integration of a change into the baseline of a project. The change will advance from the _a_w_a_i_t_i_n_g _i_n_t_e_g_r_a_t_i_o_n state to the _b_e_i_n_g _i_n_t_e_g_r_a_t_e_d state. boxwid = 1 down S4: box "awaiting" "integration" arrow " integrate" ljust " begin" ljust S5: box "being" "integrated" T4: spline -> from S5.w then left 0.5 then up 1 then to S4.w " integrate" ljust " begin" ljust " undo" ljust at T4.c - (0.5,0) A (logical) copy of the baseline is created in an _i_n_t_e_g_r_a_t_i_o_n _d_i_r_e_c_t_o_r_y and the the files of the change are added to the integration directory. The time stamps of files copied from the baseline are preserved, time stamps on the files copied from the development directory are all set to the time of the beginning of the integration. The _'_a_e_g_i_s _-_C_h_a_n_g_e___D_i_r_e_c_t_o_r_y_' command may be used to locate the integration directory. The change will be assigned to the current user. Please note that only regular files and symbolic links are copied (linked) from the baseline to the integration directory. This has some implications: +o Special files (devices, named pipes, _e_t_c) will not be reproduced in the integration directory; you will need to create these as part of the build. +o If the case of the --mmiimmiimmuumm option (see below), only primary source files are copied (linked) across. Derived files (including symbolic links) are expected to be created as part of the build. +o If the case of the --mmiinniimmuumm option, directories are only created when required to hold a file which satisfies the above criteria. If you need special empty directories, or directories which contain only special files, or only contain derived files, you need to create them as part of the build. The _l_i_n_k___i_n_t_e_g_r_a_t_i_o_n___d_i_r_e_c_t_o_r_y field of the project _c_o_n_f_i_g file (see _a_e_p_c_o_n_f(5) for more information) controls whether the copy of the baseline is done by copying the files or by creating hard links to the files. The hard links are just one of the constraints on the location of the integration directory. The integrate begin will abort with an error if this copy operation fails, e.g. by running out of disk space. If this should happen, the change will remain in the _a_w_a_i_t_i_n_g _i_n_t_e_g_r_a_t_i_o_n state, and the integration directory will be removed. The change will be assigned a delta number. Delta numbers are incremented once for each _a_e_g_i_s _-_I_n_t_e_g_r_a_t_e___B_e_g_i_n command for the project. If an integration is subsequently aborted with either the _a_e_g_i_s _-_I_n_t_e_g_r_a_t_e___B_e_g_i_n___U_n_d_o or _a_e_g_i_s _-_I_n_t_e_g_r_a_t_e___F_A_I_L command, the delta number will not be re-used. It is not possible to choose the integration directory, as there are many constraints upon it, including the fact that it must be on the same device as the baseline directory, and that many UNIX implementations don't allow renaming directories up and down the trees. The integration directory will be in the project directory, and named for the delta number. OOPPTTIIOONNSS The following options are understood: --CChhaannggee _n_u_m_b_e_r This option may be used to specify a particular change within a project. When no --CChhaannggee option is specified, the _A_E_G_I_S___C_H_A_N_G_E environment variable is consulted. If that does not exist, the user's _$_H_O_M_E_/_._a_e_g_i_s_r_c file is examined for a default change field (see _a_e_u_c_o_n_f(5) for more information). If that does not exist, when the user is only working on one change within a project, that is the default change number. Otherwise, it is an error. --HHeellpp This option may be used to obtain more information about how to use the _a_e_g_i_s program. --LLiisstt This option may be used to obtain a list of suitable subjects for this command. The list may be more general than expected. --MMAAXXiimmuumm This option may be used to cause all files to be copied into the integration directory. This is the default, unless the change requires the deletion of a file. --MMIINNIImmuumm This option may be used to cause only the source files to be copied into the integration directory. The default is to copy all files, unless the change requires the deletion of a file. --PPrroojjeecctt _n_a_m_e This option may be used to select the project of interest. When no --PPrroojjeecctt option is specified, the _A_E_G_I_S___P_R_O_J_E_C_T environment variable is consulted. If that does not exist, the user's _$_H_O_M_E_/_._a_e_g_i_s_r_c file is examined for a default project field (see _a_e_u_c_o_n_f(5) for more information). If that does not exist, when the user is only working on changes within a single project, the project name defaults to that project. Otherwise, it is an error. --TTEERRssee This option may be used to cause listings to produce the bare minimum of information. It is usually useful for shell scripts. --VVeerrbboossee This option may be used to cause aegis to produce more output. By default aegis only produces output on errors. When used with the --LLiisstt option this option causes column headings to be added. --WWaaiitt This option may be used to require Aegis commands to wait for access locks, if they cannot be obtained immediately. Defaults to the user's _l_o_c_k___w_a_i_t___p_r_e_f_e_r_e_n_c_e if not specified, see _a_e_u_c_o_n_f(5) for more information. --NNoo__WWaaiitt This option may be used to require Aegis commands to emit a fatal error if access locks cannot be obtained immediately. Defaults to the user's _l_o_c_k___w_a_i_t___p_r_e_f_e_r_e_n_c_e if not specified, see _a_e_u_c_o_n_f(5) for more information. See also _a_e_g_i_s(1) for options common to all aegis commands. All options may be abbreviated; the abbreviation is documented as the upper case letters, all lower case letters and underscores (_) are optional. You must use consecutive sequences of optional letters. All options are case insensitive, you may type them in upper case or lower case or a combination of both, case is not important. For example: the arguments "-project, "-PROJ" and "-p" are all interpreted to mean the --PPrroojjeecctt option. The argument "-prj" will not be understood, because consecutive optional characters were not supplied. Options and other command line arguments may be mixed arbitrarily on the command line, after the function selectors. The GNU long option names are understood. Since all option names for _a_e_g_i_s are long, this means ignoring the extra leading '-'. The "----_o_p_t_i_o_n==_v_a_l_u_e" convention is also understood. RREECCOOMMMMEENNDDEEDD AALLIIAASS The recommended alias for this command is csh% alias aeib 'aegis -ib \!* -v' sh$ aeib(){aegis -ib "$@" -v} EERRRROORRSS It is an error if the change is not in the _a_w_a_i_t_i_n_g _i_n_t_e_g_r_a_t_i_o_n state. It is an error if the current user is not an integrator of the project. It is an error if there is an integration in progress for the project. It is an error if the current user developed the change and the project is configured to disallow developers to integrate their own changes (default). It is an error if the current user reviewed the change and the project is configured to disallow reviewers to integrate their such changes (default). EEXXIITT SSTTAATTUUSS The _a_e_g_i_s command will exit with a status of 1 on any error. The _a_e_g_i_s command will only exit with a status of 0 if there are no errors. EENNVVIIRROONNMMEENNTT VVAARRIIAABBLLEESS See _a_e_g_i_s(1) for a list of environment variables which may affect this command. SSEEEE AALLSSOO _a_e_b(1) build a change _a_e_c_d(1) change directory _a_e_i_b_u(1) reverse the aeib command _a_e_i_f_a_i_l(1) fail integration of a change _a_e_i_p_a_s_s(1) pass integration of a change _a_e_n_i(1) add new integrators to a project _a_e_r_p_a_s_s(1) pass review of a change _a_e_t(1) run tests _a_e_u_c_o_n_f(5) user configuration file format CCOOPPYYRRIIGGHHTT aegis version .C001 Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Peter Miller; All rights reserved. The aegis program comes with ABSOLUTELY NO WARRANTY; for details use the '_a_e_g_i_s _-_V_E_R_S_i_o_n _L_i_c_e_n_s_e' command. This is free software and you are welcome to redistribute it under certain conditions; for details use the '_a_e_g_i_s _-_V_E_R_S_i_o_n _L_i_c_e_n_s_e' command. AAUUTTHHOORR Peter Miller E-Mail: millerp@canb.auug.org.au /\/\* WWW: http://www.canb.auug.org.au/~millerp/ Reference Manual Aegis 1