NAME
putback - copy files from a child workspace to its parent
workspace
SYNOPSIS
putback [ -b ] [ -B ] [ -c comment ] [ -m comment_file ]
[[ -f flp ] ... ] [ -g ] [ -n ] [ -p pws ] [ -q ] [ -v ]
[ -V ] [ -w cws ] [files or dirs ...]
DESCRIPTION
putback is the TeamWare command used to copy groups of files
from a child workspace to a parent workspace. All TeamWare
file transfer transactions are performed from the perspec-
tive of the child workspace; hence the putback command "puts
back" files to the parent from the child workspace. A child
workspace is typically created using the bringover(1) com-
mand.
The putback command attempts to make the parent and child
workspaces identical with respect to the set of files speci-
fied for the putback transaction. The putback transaction
is used after users make changes and test them in the child
workspace. Putting the files back into the parent usually
makes them accessible to other developers.
For example:
example% putback -w ~/ws/mychild dir1 dir2
finds all changed files under directories dir1 and dir2 and
copies them to ~/ws/mychild's parent workspace.
During a putback transaction putback may find that it cannot
transfer files from the child to the parent workspace
without endangering the consistency of the data in the
parent. If this occurs, no files are transferred and the
putback transaction is said to be blocked. Reasons that a
putback transaction is blocked include:
o A file in either workspace is currently checked out from
SCCS
o A file in the parent workspace contains changes not yet
brought over into the child workspace
o A file conflict in either workspace is currently
unresolved
If any of the files designated for transfer cannot be
copied, none of the files are copied.
If the putback transaction is blocked, the putback command
displays the bringover command-line necessary to update the
child workspace. If the -b option is specified, putback
automatically invokes the appropriate bringover transaction.
The following table summarizes putback actions:
File in Parent File in Child Action by TeamWare
Exists Does not exist Block putback, notify user
Does not exist Exists Create the file in the parent
Unchanged Unchanged None
Unchanged Changed Update file in the parent.
Changed Unchanged Block putback, notify user
Changed Changed Block putback, notify user
Checked out* Checked out* Block putback, notify user
Unresolved Unresolved
conflict* conflict* Block putback, notify user
*Checked out or unresolved in either or both parent and
child
OPTIONS
-B Do not backup files in the parent workspace before
changing them. While reducing the disk space
occupied by the parent workspace and improving
file transfer performance, it removes the option
of later "undoing" the putback with the ws_undo
command.
-b If putback blocks, then execute the bringover com-
mand to update cws.
-c comment
Provide a comment describing the putback. comment
is written to pws's Codemgr_wsdata/history file.
The history file contains information regarding
file transfer transactions. The history file
contains information regarding file transfer tran-
sactions. If one of the -m or -c options is not
specified, putback prompts for a comment. If both
-m and -c options are specified, the content of
both comments are added to the history file in the
order that the options were specified on the com-
mand line.
-m comment_file
Specify a text file containing comments that
describe the putback. Contents of the file are
written to the pws's Codemgr_wsdata/history file.
The history file contains information regarding
file transfer transactions. If one of the -m or -c
options is not specified, putback prompts for a
comment. If both -m and -c options are specified,
the content of both comments are added to the his-
tory file in the order that the options were
specified on the command line.
-f flp Execute the file list program, flp, to determine
the list of files to process. flp writes a
white-space separated list of filenames to stdout
that putback processes as if there were specified
on the command-line. More than one -f option may
be specified. If an flp exits with a non-zero
status, putback displays a message and exits.
-g Don't do SCCS gets after transferring files. Nor-
mally g-files are extracted after they are brought
over. This option improves file transfer perfor-
mance although it shifts the responsibility to the
user to do the appropriate gets at a later time.
-n Show what would be done without actually doing
anything.
-p pws Names the parent workspace to be used for that
specific invocation of the putback command. pws
is the parent workspace for the duration of the
command.
-q Quiet option. By default, a message is displayed
for each created, updated, or conflicting file.
The -q option suppresses these messages. If both
the -q option and the -v option are specified, the
last one takes precedence.
-v Verbose option. By default, a message is
displayed for each created, updated, or conflict-
ing file. The -v option causes putback to print a
message for all files, including those that don't
need to be put back. If both the -v option and
the -q option are specified, the last one takes
precedence.
-V Display the version being run on standard output.
-w cws Names the child workspace. If the -w option is not
specified, then the value of the shell environment
variable CODEMGR_WS is used. If CODEMGR_WS is not
set and the current directory is contained within
a workspace, the containing workspace is used.
The parent workspace is taken from cws's
Codemgr_wsdata/parent file or the command-line as
specified by the -p option.
Some notes about the file and dir arguments:
o The "." directory may be used to specify that the entire
workspace be copied.
o To save users the trouble of specifying file and direc-
tory arguments every time the bringover and putback com-
mands are used, the arguments are cached in the
cws/Codemgr_wsdata/args file. If file or dir arguments
are not specified to subsequent invocations of putback,
the arguments are taken from the args file as if they
were specified on the command-line.
The args file is maintained by the bringover and putback
commands; they update the file whenever new arguments are
specified that cause additional files to be copied.
Note that if no arguments are specified, and the
Codemgr_wsdata/args file does not exist, putback will
report an error.
Users can edit the args file at any time to change its
contents.
o Any valid file name that does not contain whitespace
characters or a pound sign (#) may be specified as an
argument to putback. A relative file name specified on
the command-line, as output of a file list program (FLP),
or as an argument to the -f option is interpreted as
being relative to the top-level (root) directory of the
parent and child workspaces. If an absolute file name
does not refer to a file under one of the workspaces, it
will also be interpreted as being relative to the
workspace root directory.
o When a directory is specified as the argument to the com-
mand, putback changes to that directory and invokes the
default FLP: def.dir.flp. The FLP writes a list of file
names to stdout that putback processes as if they were
specified as command-line arguments. The default version
of def.dir.flp as shipped with TeamWare recursively lists
all files under SCCS control beneath the specified direc-
tory. Note that other FLPs including ones written by
users, may be specified via the -f option. Refer to the
TeamWare User's Guide for more details regarding FLPs.
TeamWare uses a multi-reader/single-writer locking mechanism
and putback obtains a read-lock in cws and a write-lock in
pws. If these locks cannot be obtained, putback displays a
message and exits.
TeamWare checks the access_control file in the parent
workspace to determine if the user running the command is
allowed to do a putback into the workspace. The
access_control file in the child workspace is also checked
to see if the user is allowed to do a putback from that
workspace.
putback displays status messages to stdout indicating if a
file is new or updated. A copy of these messages is also
written to pws's Codemgr_wsdata/history file.
putback executes other TeamWare commands, such as sccsmerge,
and expects to find them in the user's PATH. Therefore, the
user's PATH variable must include the directory where
TeamWare is installed.
MESSAGES
putback tries to ensure that pws is stable and consistent.
Therefore, putback has some restrictions on the conditions
under which it puts back files. If any files cannot be put
back, then no files are put back.
If putback is unable to transfer files it will display one
of the following messages:
o The following files have changed in workspace pws and
must be brought over:
The listed files contain changes that have not yet been
brought over into cws. To protect the consistency of
pws, these changed files must be brought over and tested
before the putback can complete.
o The following files are new in workspace pws and must be
brought over:
The listed files exist in pws but not in cws. They must
be brought over into cws before the putback can complete.
o The following files have different file types in the
workspaces:
A file name has a different file type (regular file vs.
directory vs. symbolic link) in pws and cws. The user
must take whatever action is appropriate to make the
listed files the same type or change one of the names.
o The following files are currently checked out in
workspace ws:
The named files are currently checked out in ws and must
be checked in before putback can complete.
o The following files need to be resolved in workspace ws:
The named files are currently in conflict in ws and must
be resolved(1) before putback can complete.
Also, when a putback blocks and comments have been speci-
fied, the comments are written to the file
cws/Codemgr_wsdata/putback.cmt and putback prints the mes-
sage:
o Your putback comments have been saved in file
"cws/Codemgr_wsdata/putback.cmt"
ENVIRONMENT
The following variables are used by putback.
CODEMGR_DIR_FLP Contains the name of the file list
program (FLP) to use in workspaces
if one is not explicitly specified
by means of the -f option. Over-
rides the TeamWare default FLP
def.dir.flp(1).
CODEMGR_PATH_ONLY TeamWare commands first search for
other TeamWare binaries relative to
where their own binary is located
in the file system, they then
search in the directories specified
in the PATH environment variable.
Setting this variable causes
TeamWare commands to search for
other TeamWare binaries only in
PATH.
CODEMGR_WS Contains the name of a user's
default workspace. The workspace
specified by CODEMGR_WS will
automatically be used if -w option
is not specified to a command.
CODEMGR_WSPATH Specifies a list of workspace directories to
be automatically loaded into the workspace pane upon tool
startup.
The CODEMGR_WSPATH variable can be to set to one or
more directories that contain workspace directories.
For example, to set this variable to the directories
/export/home/ws and ~/projects/ws, use the following
command:
example% setenv CODEMGR_WSPATH "/export/home/ws
~/projects/ws"
The following variables are set by putback at execution time
for use within FLPs.
CODEMGR_CMD Contains the name of the putback
command.
CODEMGR_WS_CHILD Contains the name of the child
workspace for this putback.
CODEMGR_WS_DEST Contains the name of the destina-
tion (to) workspace for this put-
back.
CODEMGR_WS_PARENT Contains the name of the parent
workspace for this putback.
CODEMGR_WS_SRC Contains the name of the source
(from) workspace for this putback.
CODEMGR_WS_ROOT The putback command executes FLPs
in both the parent and child
workspaces. This variable contains
the name of the workspace in which
the FLP is currently executing.
FILES
def.dir.flp default FLP for directories
cws/Codemgr_wsdata/parent
contains the name of the parent
workspace
cws/Codemgr_wsdata/locks locks file for cws
cws/Codemgr_wsdata/args definition of all of cws
cws/Codemgr_wsdata/putback.cmt
when putback blocks, the comments
are saved here
pws/Codemgr_wsdata/history
log of the putback
pws/Codemgr_wsdata/locks locks file for pws
SEE ALSO
TeamWare User's Guide
bringover(1), def.dir.flp(1), resolve(1), sccs-get(1),
twmerge(1), ws_undo(1), workspace(1), access_control(4),
args(4), children(4), conflicts(4), history(4), locks(4),
nametable(4), notification(4) parent(4)
EXIT CODES
0 putback was successful
1 putback failed due to an error condition
2 putback blocked, did not execute bringover
3 putback blocked, executed successful bringover
4 putback blocked, executed successful bringover
that found files in conflict
|
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |