⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tkcvs.1

📁 TKCVS Source Code For CVS。
💻 1
📖 第 1 页 / 共 3 页
字号:
.TH TkCVS 1 Release 8.0.3
.SH NAME
TkCVS - a Tk/Tcl Graphical Interface to CVS and Subversion
.SH SYNOPSIS
.B tkcvs
[\-dir directory] [\-root cvsroot] [\-win workdir|module|merge] [\-log file]
.SH DESCRIPTION
.LP
TkCVS is a Tcl/Tk-based graphical interface to the CVS and Subversion configuration management systems. It displays the status of the files in the current working directory, and provides buttons and menus to execute configuration-management commands on the selected files. Limited RCS functionality is also present.  TkDiff is bundled in for browsing and merging your changes.
.LP
TkCVS also aids in browsing the repository. For Subversion, the repository tree is browsed like an ordinary file tree.  For CVS, the CVSROOT/modules file is read.  TkCVS extends CVS with a method to produce a browsable, "user friendly" listing of modules. This requires special comments in the CVSROOT/modules file. See "CVS Modules File" for more guidance.
.SP
.SH OPTIONS
.LP
TkCVS accepts the following options.
.TP
.BI -dir " directory"
Start TkCVS in the specified directory.
.TP
.B -help
Print a usage message.
.TP
.BI -log " file"
Invoke a log browser for the specified file. -log and -win are mutually exclusive.
.TP
.BI -root " cvsroot"
Set $CVSROOT to the specified repository.
.TP
.BI -win  " workdir|module|merge"
Start by displaying the directory browser (the default), the module browser, or the directory-merge tool. -win and -log are mutually exclusive.
.SH Examples
.RS
% tkcvs -win module -root /jaz/repository
.RE
Browse the modules located in CVSROOT /jaz/repository 
.RS
% tkcvs -log tstheap.c
.RE
View the log of the file tstheap.c
.SP
.SH Working Directory Browser
.LP
The working directory browser shows the files in your local working copy, or "sandbox."  It shows the status of the files at a glance and provides tools to help with most of the common CVS, SVN, and RCS operations you might do.
.LP
At the top of the browser you will find:
.LP
*  The name of the current directory. You can change directories by typing in this field. Recently visited directories are saved in the picklist.
.LP
*  The relative path of the current directory in the repository. If it is not contained in the repository you may import it using the menu or toolbar button.
.LP
*  A Directory Tag name, if the directory is contained in the repository and it has been checked out against a particular branch or tag.  In Subversion, the branch or tag is inferred from the URL based on the conventional trunk-branches-tags repository organization.
.LP
*  The CVSROOT of the current directory if it's under CVS control, or the URL of the Subversion repository if it's under Subversion control.  If neither is true, it may default to the value of the $CVSROOT environment variable.
.LP
The main part of the working directory browser is a list of the files in the current directory with an icon next to each showing its status. You select a file by clicking on its name or icon once with the left mouse button. Holding the Control key while clicking will add the file to the group of those already selected. You can select a contiguous group of files by holding the Shift key while clicking. You can also select a group of files by dragging the mouse with the middle or right button pressed to select an area. Selecting an item that's already selected de-selects that item. To unselect all files, click the left mouse button in an empty area of the file list.
.LP
*  The Date column (can be hidden) shows the modification time of the file is shown. The format of the date column may be specified with cvscfg(dateformat). The default format was chosen because it sorts the same way alphabetically as chronologically.
.LP
If the directory belongs to a revision system, other columns are present.
.LP
* The revision column shows which revision of the file is checked out, and whether it's on the trunk or on a branch.
.LP
*  The status column (can be hidden) shows the revision of the file spelled out in text.  This information is mostly redundant to the icon in the file column.
.LP
*  The Editor/Author/Locker column (can be hidden) varies according to revision system. In Subversion, the author of the most recent checkin is shown.  In CVS, it shows a list of people editing the files if your site uses "cvs watch" and/or "cvs edit". Otherwise, it will be empty.  In RCS, it shows who, if anyone, has the file locked.
.LP
The optional columns can be displayed or hidden using the Options menu.
.LP
You can move into a directory by double-clicking on it.
.LP
Double clicking on a file will load the file into a suitable editor so you can change it. A different editor can be used for different file types (see Configuration Files).
.SS File Status
.LP
When you are in a directory that is under CVS or Subversion control, the file status will be shown by an icon next to each file. Checking the "Status Column" option causes the status to be displayed in text in its own column. Some possible statuses are:
.TP
.B Up-to-date
The file is up to date with respect to the repository.
.TP
.B Locally Modified
The file has been modified in the current directory since being checked out of the repository.
.TP
.B Locally Added
The file has been added to the repository. This file will become permanent in the repository once a commit is made.
.TP
.B Locally Removed
You have removed the file with remove, and not yet committed your changes.
.TP
.B Needs Checkout
Someone else has committed a newer revision to the repository. The name is slightly misleading; you will ordinarily use update rather than checkout to get that newer revision.
.TP
.B Needs Patch
Like Needs Checkout, but the CVS server will send a patch rather than the entire file. Sending a patch or sending an entire file accomplishes the same thing.
.TP
.B Needs Merge
Someone else has committed a newer revision to the repository, and you have also made modifications to the file.
.TP
.B Unresolved Conflict
This is like Locally Modified, except that a previous update command gave a conflict. You need to resolve the conflict before checking in.
.TP
.B ?
The file is not contained in the repository. You may need to add the file to the repository by pressing the "Add" button.
.TP
.B [directory:CVS]
A directory which has been checked out from a CVS repository.
.TP
.B [directory:SVN]
The file is a directory which has been checked out from a Subversion repository.  In Subversion, directories are themselves versioned objects.
.TP
.B [directory:RCS]
A directory which contains an RCS sub-directory or some files with the ,v suffix, presumably containing some files that are under RCS revision control.
.TP
.B [directory]
The file is a directory.
.SS File Filters
.LP
You can specify file matching patterns to instruct TkCVS which files you wish to see. You can also specify patterns telling it which files to remove when you press the "Clean" button or select the \fBFile->Cleanup\fR menu item.
.LP
"Hide" works exactly the way a .cvsignore file works. That is, it causes non-CVS files with the pattern to be ignored. It's meant for hiding .o files and such. Any file under CVS control will be listed anyway.
.LP
"Show" is the inverse. It hides non-CVS files except for those with the pattern.
.SS Buttons
.TP
.I Module Browser:
The big button at the upper right opens the module browser.
Opens a module browser window which will enable you to explore items in the repository even if they're not checked out.  In CVS, this requires that there be entries in the CVSROOT/modules file.  Browsing can be improved by using TkCVS-specific comments in CVSROOT/modules.
.TP
.I Go Up:
The button to the left of the entry that shows the current directory. Press it and you go up one level.
.LP
There are a number of buttons at the bottom of the window. Pressing on one of these causes the following actions:
.TP
.I Delete:
Press this button to delete the selected files. The files will not be removed from the repository. To remove the files from the repository as well as delete them, press the "Remove" button instead.
.TP
.I Edit:
Press this button to load the selected files in to an appropriate editor.
.TP
.I View:
Press this button to view the selected files in a Tk text window. This can be a lot faster then Edit, in case your preferred editor is xemacs or something of that magnitude.
.TP
.I Refresh:
Press this button to re-read the current directory, in case the status of some files may have changed.
.TP
.I Status Check:
Shows, in a searchable text window, the status of all the files. By default, it is recursive and lists unknown (?) files. These can be changed in the Options menu.
.TP
.I Directory Branch Browse:
For merging the entire directory. In Subversion, it opens the Branch Browser for "."  In CVS, it chooses a "representative" file in the current directory and opens a graphical tool for directory merges.
.TP
.I Log (Branch) Browse:
This button will bring up the log browser window for each of the selected files in the window. See the Log Browser section.
.TP
.I Annotate:
This displays a window in which the selected file is shown with the lines highlighted according to when and by whom they were last revised.  In Subversion, it's also called "blame." 
.TP
.I Diff:
This compares the selected files with the equivalent files in the repository. A separate program called "TkDiff" (also supplied with TkCVS) is used to do this. For more information on TkDiff, see TkDiff's help menu.
.TP
.I Merge Conflict:
If a file's status says "Needs Merge", "Conflict", or is marked with a "C" in CVS Check, there was a difference which CVS needs help to reconcile. This button invokes TkDiff with the -conflict option, opening a merge window to help you merge the differences.
.TP
.I Check In:
This button commits your changes to the repository. This includes adding new files and removing deleted files. When you press this button, a dialog will appear asking you for the version number of the files you want to commit, and a comment. You need only enter a version number if you want to bring the files in the repository up to the next major version number. For example, if a file is version 1.10, and you do not enter a version number, it will be checked in as version 1.11. If you enter the version number 3, then it will be checked in as version 3.0 instead.  It is usually better to use symbolic tags for that purpose.
If you use rcsinfo to supply a template for the comment, you must use an external editor.  Set cvscfg(use_cvseditor) to do this. For checking in to RCS, an externel editor is always used.
.TP
.I Update:
This updates your sandbox directory with any changes committed to the repository by other developers.
.TP
.I Update with Options:
Allows you to update from a different branch, with a tag, with empty directories, and so on.
.TP
.I Add Files:
Press this button when you want to add new files to the repository. You must create the file before adding it to the repository. To add some files, select them and press the Add Files button. The files that you have added to the repository will be committed next time you press the Check In button. It is not recursive. Use the menu CVS -> Add Recursively for that.
.TP
.I Remove Files:
This button will remove files. To remove files, select them and press the Remove button. The files will disappear from the directory, and will be removed from the repository next time you press the Check In button. It is not recursive. Use the menu CVS -> Remove Recursively for that. 
.TP
.I Tag:
This button will tag the selected files. In CVS, the -F (force) option will move the tag if it already exists on the file.
.TP
.I Branch Tag:
This button will tag the selected files, creating a branch. In CVS, the -F (force) option will move the tag if it already exists on the file.
.TP
.I Lock (CVS and RCS):
Lock an RCS file for editing.  If cvscfg(cvslock) is set, lock a CVS file.  Use of locking is philosophically discouraged in CVS since it's against the "concurrent" part of Concurrent Versioning System, but locking policy is nevertheless used at some sites.  One size doesn't fit all.
.TP
.I Unlock (CVS and RCS):
Unlock an RCS file.  If cvscfg(cvslock) is set, unlock a CVS file.
.TP
.I Set Edit Flag (CVS):
This button sets the edit flag on the selected files, enabling other developers to see that you are currently editing those files (See "cvs edit" in the CVS documentation).
.TP
.I Reset Edit Flag (CVS):
This button resets the edit flag on the selected files, enabling other developers to see that you are no longer editing those files (See "cvs edit" in the CVS documentation). As the current version of cvs waits on a prompt for "cvs unedit" if changes have been made to the file in question (to ask if you want to revert the changes to the current revision), the current action of tkcvs is to abort the unedit (by piping in nothing to stdin). Therefore, to lose the changes and revert to the current revision, it is necessary to delete the file and do an update (this will also clear the edit flag). To keep the changes, make a copy of the file, delete the original, update, and then move the saved copy back to the original filename.
.TP
.I Close:
Press this button to close the Working Directory Browser. If no other windows are open, TkCVS exits.
.SP
.SH Log (Branch) Browser
.LP
The TkCVS Log Browser window enables you to view a graphical display of the revision log of a file, including all previous versions and any branched versions.
.LP
You can get to the log browser window in three ways, either by invoking it directly with "tkcvs [-log] <filename>", by selecting a file within the main window of TkCVS and pressing the Log Browse button, or by selecting a file in a list invoked from the module browser and pressing the Log Browse button.
.LP
If the Log Browser is examining a checked-out file, the buttons for performing merge operations are enabled.
.SS Log Browser Window
.LP
The log browser window has three components. These are the file name and version information section at the top, the log display in the middle, and a row of buttons along the bottom.
.SS Log Display
.LP
The main log display is fairly self explanatory. It shows a group of boxes connected by lines indicating the main trunk of the file development (on the left hand side) and any branches that the file has (which spread out to the right of the main trunk).
.LP
Each box contains the version number, author of the version, and other information determined by the menu View -> Revision Layout.
.LP
Constructing the branch diagram from Subversion is inefficient, so the Log Browser counts the tags when doing a Subversion diagram and pops up a dialog giving you a chance to skip the tag step if there are too many tags (where "many" arbitrarily equals 10.) 
.SS Version Numbers
.LP
Once a file is loaded into the log browser, one or two version numbers may be selected. The primary version (Selection A) is selected by clicking the left mouse button on a version box in the main log display.
.LP
The secondary version (Selection B) is selected by clicking the right mouse button on a version box in the main log display.
.LP
Operations such as "View" and "Annotate" operate only on the primary version selected.
.LP
Operations such as "Diff" and "Merge Changes to Current" require two versions to be selected.
.SS Log Browser Buttons
.LP
The log browser contains the following buttons:
.TP
.I Refresh:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -