Clearcase Command Reference for config_spec

本文详细介绍了IBM Rational Clearcase中的配置规范(config_spec),包括其基本概念、规则构成及使用方式。文中阐述了标准规则、创建分支规则、时间规则等,并提供了实际应用场景的例子。
 

Clearcase Command Reference for config_spec

分类: 配置管理 156人阅读 评论(0) 收藏 举报

转自:http://publib.boulder.ibm.com/infocenter/cchelp/v7r0m0/index.jsp?topic=/com.ibm.rational.clearcase.cc_ref.doc/topics/config_spec.htm

 

config_spec

Rules for selecting versions of elements to appear in a view

Synopsis

  • Standard rule:
    scope pattern version-selector [ optional-clause ]
  • Create-branch rule:
    mkbranch branch-type-name [ –override ] , ..., [ end mkbranch [ branch-type-name ] ]
  • Time rule:
    time date-time , ... , [ end time [ date-time ] ]
  • File-inclusion rule:
    include config-spec-pname
  • Load rule (for snapshot views):
    load pname ...

Description

A view's config spec (configuration specification) contains an ordered set of rules for selecting versions of elements. The view's associated view_server process populates a view with versions by evaluating the config spec rules. For more information about view_server , see the IBM Rational ClearCase Administrator's Guide .

In a dynamic view , version selection is dynamic. Each time a reference is made to a file or directory element (either by ClearCase software or by standard programs) the view_server uses the config spec to select a particular version of the element. (In practice, a variety of caching techniques and optimizations reduce the computational requirements.)

In a snapshot view, users invoke an update operation to select versions from the VOB.

UCM config specs are different from those for base ClearCase and base ClearCase LT in that their rules are generated, not user-specified; read UCM config specs before reading any other section of this reference page.

Config spec storage / Default config spec

Each view is created with a copy of the default config spec, default_config_spec :

element * CHECKEDOUT

For any element, select the checked out version, if any)

element * /main/LATEST

Otherwise, select most recent version on the main branch

Modifying this file changes the config spec that newly created views receive, but does not affect any existing view.

An individual view's config spec is stored in its view storage directory, in two forms:

  • Source format. The user-visible version, config_spec , contains only the series of config spec rules.
  • Compiled format. A modified version, .compiled_spec , includes accounting information. This version is created and used by the view_server process.

Do not modify either of these files directly; instead, use the commands listed below. Different views' config specs are independent: they may contain the same set of rules, but changing one view's config spec never affects any other view.

Commands for maintaining config specs

Commands for manipulating config specs:

catcs

Lists a view's config spec

setcs

Makes a specified file a view's config spec

edcs

Revises the current config spec of a view

update –add_loadrules

Adds load rules to the config spec of a snapshot view while updating the view

How a config spec selects versions

The set of elements considered for version selection is different for the two kinds of views:

  • In a dynamic view, all elements in VOBs mounted on the current host are considered for version selection.
  • In a snapshot view:
    • If you are updating a loaded element, the behavior is the same as in a dynamic view and the selected version is loaded into the view.
    • If you are not updating and the element is loaded, the selection from the last update is used.
    • If the element isn't loaded, the behavior is the same as in a dynamic view.

For each element, the following procedure determines which version, if any, is in the view.

  1. The view's associated view_server process tries to find a version of the element that matches the first rule in the config spec:
    • If such a version exists, that version is in the view.
    • If multiple versions match the rule, an error occurs, and no version of the element is in the view. ClearCase and ClearCase LT commands that access the element print errors like this one:

      cleartool: Error: Trouble looking up element "ht.c" in directory ".".

      Standard commands that access the element print errors like this one:

      The request could not be performed because of an I/O device error.

    • If no version matches the first rule, the search continues.
  2. If no matching version was found for the first rule, the view_server tries to find a version that matches the second rule.
  3. The view_server continues in this way until it finds a match or until it reaches the last rule.

Order is important

Because the rules in a config spec are processed in order, varying the order may affect version selection. For example, suppose this rule appears near the beginning of a config spec:

element * /main/LATEST

Any subsequent rules in the config spec will never be used, because the rule always provides a match; every element has a most recent version on its main branch.

Note: The order in which the load rules for a snapshot view are specified is not important.

CHECKEDOUT rule for snapshot views

The config spec for a snapshot view must contain element * CHECKEDOUT as the first element rule.

Failure to select any version

If no version of an element matches any rule in the config spec:

  • In a dynamic view:
    • The element's data is not accessible through the view. The operating system listing command and other standard programs print a not found error when attempting to access the element.
    • The cleartool ls command lists the element with a [no version selected] annotation. You can specify the element in commands that access the VOB database only, such as describe , lsvtree , and mklabel .
  • In a snapshot view, the element will not be loaded.

View-private files

A view's config spec has no effect on the private objects in a view, such as view-private files, links, directories; or, in the case of a dynamic view, derived objects. View-private objects are always accessible.

Exception: (Dynamic views only) If a config spec lacks a CHECKEDOUT rule, the view-private file that is a file element's checked-out version is not visible. See Special version selectors below.

Overall syntax guidelines

Each config spec rule must be contained within a single physical text line; you cannot use a backslash (UNIX and Linux), a caret (Windows), or any other line continuation character to continue a rule onto the next line. Multiple rules can be placed on a single line, separated by semicolon (;) characters.

Lines that begin with a number sign (#) are comments.

Extra white space (<SPACE>, <TAB>, vertical-tab, and form-feed) characters are ignored, except within the version selector. If a version selector includes white space, enclose it in single quotes.

If a load rule specifies a file or directory name that includes one or more <SPACE> characters, you must enclose the entire path name in either single-quotes (‘) or double quotes (“).

In general, VOBs, views, and the ClearCase and ClearCase LT tools that access them are case-sensitive. Therefore, config spec rules must use case-correct path names.

You can use slashes (/) or backslashes (/) as path name separators in path name patterns and version selectors unless you are sharing the config spec between UNIX or Linux and Windows hosts. In that case, you must use slashes. (See Sharing config specs between UNIX or Linux and Windows hosts .)

Sharing config specs between UNIX or Linux and Windows hosts

Windows and UNIX or Linux clients can share config specs, which are portable between the two operating systems. That is, clients on both systems, using views whose storage directories reside on either kind of host, can set and edit the same set of config specs. However, Windows and UNIX or Linux network regions often use different VOB tags to register the same VOBs. Only single-component VOB tag names, like /src2vob , are permitted on Windows clients; multiple-component VOB tags, like /vobs/src/proj1 , are common on UNIX and Linux. When the VOB tags diverge between regions, config spec element rules that use full path names (which include VOB tags) are resolvable (at config spec compile time) only by hosts in the applicable network region. This implies a general restriction regarding shared config specs: a given config spec must be compiled only by hosts on one operating system or the other; the operating system for which full path names in element rules make sense. That is, a config spec with full path names can be shared across network regions, even when VOB tags disagree, but it must be compiled in the right place.

This restriction does not apply if any of the following are true:

  • The config spec's element rules use relative path names only, which do not include VOB tags.
  • Shared VOBs are registered with identical, single-component VOB tags in both Windows and UNIX or Linux network regions. (The VOB tags /r3vob and /r3vob are logically identical, differing only in their leading slash characters.)
  • The config spec does not include any load rules or element rules.

Config spec compilation

An in-use config spec exists in both text file and compiled formats (both of which are visible in the view's storage directory). A config spec in its compiled form is portable. The restriction is that full VOB path names in element rules must be resolvable at compile time. A config spec is compiled if a client executes either of these cleartool commands: edcs or setcs –current . Therefore, if a client on the “wrong” operating system recompiles a config spec with one of these commands, the config spec becomes unusable by any client using that view. If this happens, recompile the config spec on the “right” operating system.

A sample element rule that could be problematic:

element /vob_p2/src/*   /main/rel2/LATEST

If the VOB is registered with VOB tag /vob_p2 on a Windows network region, but with VOB tag /vobs/vob_p2 on a UNIX or Linux network region, only Windows clients can compile the config spec.

Path name separators

When writing config specs to be shared by Windows and UNIX or Linux clients, use the slash (/), not the backslash (/), as the path name separator in path name patterns and version selectors. ClearCase and ClearCase LT on Windows can parse either separator in path names; ClearCase and ClearCase LT on UNIX and Linux recognize the slash only.

Standard rules

A standard version-selection rule takes this form:

scope pattern version-selector [ optional-clause ]

The following subsections describe these components.

Scope

The scope specifies that the rule applies to all elements, or restricts the rule to a particular type of element.

element
The rule applies to all elements.
element –file
The rule applies to file elements only. This includes any element created with a mkelem command that omits –eltype directory (or a user-defined element type derived from the directory).
element –directory
The rule applies to directory elements only. This includes any element created with mkdir or mkelem –eltype directory (or a user-defined element type derived from the directory).
element –eltype element-type
The rule applies only to elements of the specified element type (predefined or user-defined). This mechanism is not hierarchical: if element type aaa is a supertype of element type bbb , the scope element –eltype aaa does not include elements whose type is bbb . To specify multiple element types, you must use multiple rules:

element –eltype aaa * RLS_1.2
element –eltype bbb * RLS_1.2

Selecting versions of VOB symbolic links. There is no VOB symbolic link scope. A VOB symbolic link is cataloged (listed) in one or more versions of a directory element. The link is displayed in a view if both of these conditions are true:

  • One of those directory versions is selected by the view's config spec.
  • The config spec includes any element rule, even a –none rule.

Pattern

A path name pattern, which can include any ClearCase or ClearCase LT wildcard (see the wildcards_ccase reference page for a complete list). For example:

*
Matches all element path names; does not match recursively.
*.c
Matches all element path names with a .c extension.
src/util.c
Matches any element named util.c that resides in any directory named src .
/vobs/project/include/util.h
Matches one particular element.
src/.../util.c
Matches any element named util.c that resides anywhere within the subtree of a directory named src (including in src itself).
src/.../*.[ch]
Matches all elements with .c and .h extensions located in or below any directory named src .
src/...
Matches the entire directory tree (file elements and directory elements) starting at any directory named src .
Note: In non-config-spec contexts, the ... pattern matches directory names only.

Restrictions:

  • A view-extended path name pattern is not valid.
  • A relative path name pattern must start below the VOB tag (VOB mount point, VOB root directory). For example, if the VOB tag is /vobs/project , project/include/utility.h is not a valid pattern.
  • A full path name pattern must specify a location at or beneath a valid VOB tag. For example, if the VOB tag is /vobs/project , then /vobs/project/... and /vobs/project/include/... are both valid.

    The setcs or edcs command fails if it encounters an invalid location in any config spec rule:

    cleartool: Error: No registered VOB tag in path: "..."

  • VOB symbolic links are not valid in path name patterns.
  • On Windows systems, patterns can be specified using either backslashes (/) or slashes (/).

Version selector

You can use a version label, version ID, or any other standard version selector. See the version_selector reference page for a complete list. Some examples follow:

/main/4
Version 4 on an element's main branch.
REL2
The version to which version label REL2 has been attached. An error occurs if more than one version of an element has this label.
.../mybranch/LATEST
The most recent version on a branch named mybranch ; this branch can occur anywhere in the element's version tree.
/main/REL2
The version on the main branch to which version label REL2 has been attached.
{created_since(yesterday)}
The version that has been created since yesterday. An error occurs if more than one version satisfies this query. Because all queries are evaluated at run time, the value yesterday is always interpreted relative to the day that the query is executed.
{QA_Level>3}
The version to which attribute QA_Level has been attached with a value greater than 3. An error occurs if more than one version satisfies this query.
.../mybranch/{QA_Level>3}
The most recent version on a branch named mybranch satisfying the attribute query.

Standard version selectors cannot select checked-out versions in a config spec rule. (They can in other contexts, such as the find command.) Instead, you must use the special version selector, CHECKEDOUT , described below.

Special version selectors

The following special version selectors are valid only in a config spec rule, not in any other version-selection context:

CHECKEDOUT
Matches the checked-out version of an element, if this view has a pending checkout. It does not matter where (on which branch of the element) the checkout occurred; there is no possibility of ambiguity, because only one version of an element can be checked out to a particular view.

This special version selector actually matches the checked-out version object in the VOB database, which is created by the checkout command.

For file elements, standard commands access the view-private file created by checkout at the same path name as the element.

–config do-pname [ –select do-leaf-pattern ] [ –ci ]
This special version selector replicates the configuration of versions used in a particular clearmake build. It selects versions listed in one or more configuration records associated with a particular derived object: the same set of versions that would be listed by a catcr –flat command. See the catcr reference page for explanations of the specifications that follow the –config keyword.

When you set or edit a config spec, the view_server resolves the do-pname with respect to the view's pre-existing config spec, not on the basis of any preceding rules in the config spec being evaluated.

If the configuration records list several versions of the same element, the most recent version is selected to appear in the view. In such cases, a warning message is displayed when the config spec is set.

–none
In a dynamic view:
  • Generates a File not found or No such file or directory error when an operating system program references the element by name.
  • No error occurs when an operating system command or utility program lists the element's containing directory, though the element is not included in such a listing. This also applies to situations such as expansion of wildcard characters and file name completion.
  • The cleartool ls command always lists the element, annotating it with no version selected .
  • In ClearCase and ClearCase LT commands, the element's standard path name refers to the element itself. (–none suppresses the transparency mechanism—translation of an element's standard path name into a reference to a particular version.)
In a snapshot or Web view:
  • For elements that are not loaded into the view, generates an error and does not load the element.
  • For elements that are loaded into the view, generates an error during update but does not unload the element.
–error
Like –none , except that the annotation generated by the cleartool ls command is error on reference .

Optional clause

Some config spec rules can include an additional clause, which modifies the rule's meaning.

–time date-time
Modifies the meaning of the special version label LATEST : the rule selects from a branch the last version that was created before a particular time. The date-time argument is specified in one of the standard formats:

date . time | date | time | now where:

date

:=

day-of-week | long-date

time

:=

h [h ]: m [m ][: s [s ]] [UTC [ [ + | - ]h [h ][: m [m ] ] ] ]

day-of-week

:=

today |yesterday |Sunday | ... |Saturday |Sun | ... |Sat

long-date

:=

d [d ] month [ [yy ]yy ]

month

:=

January |... |December |Jan |... |Dec

Specify time in 24-hour format, relative to the local time zone. If you omit the time, the default value is 00:00:00. If you omit date , the default is today . If you omit the century, year, or a specific date, the most recent one is used. Specify UTC if you want to resolve the time to the same moment in time regardless of time zone. Use the plus (+) or minus (-) operator to specify a positive or negative offset to the UTC time. If you specify UTC without hour or minute offsets, Greenwich Mean Time (GMT) is used. (Dates before January 1, 1970 Universal Coordinated Time (UTC) are invalid.)

The creation times of the versions on the branch are looked up in their create version event records. (No error occurs if you use a –time clause in a rule that does not involve the version label LATEST ; the clause has no effect.)

The –time clause in a particular rule overrides any general time rule currently in effect. (See Time rules .)

Note: A –time clause must precede any other optional clauses and may not include any query language constructs.

Examples:

/main/LATEST –time 10–Jul.19:00

Most recent version on main branch, as of 7 P.M. on July 10.

.../bugfix/LATEST –time yesterday

Most recent version on a branch named bugfix (which can be at any branching level), as of the beginning of yesterday (12 A.M.).

/main/bugfix/LATEST –time Wed.12:00

Most recent version on subbranch bugfix of the main branch, as of noon on the most recent Wednesday.

–time 5–Dec.13:00

December 5, at 1 P.M.

–time 11:23:00

Today, at 11:23 A.M.

–time 12–jun–99

June 12, 1999, at 00:00 A.M.

–time now

Today, at this moment.

–time 9-Aug.10:00UTC

August 9, at 10 A.M. GMT.

The date /time specification is evaluated when you set or edit the config spec, and whenever the view_server process is started (for example, with startview or setview (dynamic views only)). Thus, the meaning of a relative specification, such as today , may change over time. However, the date /time is not evaluated at runtime. Therefore if you last performed one of the commands listed above four days ago, the meaning of a relative specification, such as today , has the value of the date four days ago, not the value of the date today.

–nocheckout
Disables checkouts of elements selected by the rule.
–mkbranch branch-type-name
Implements the auto-make-branch facility. When a version selected by this rule is checked out:
  • A branch of type branch-type-name is created at that version.
  • Version 0 on the new branch is checked out, instead of the version that was originally selected.

(This is a slight oversimplification. See the section Multiple-level auto-make-branch .) A mkelem command invokes the auto-make-branch facility if the config spec includes a /main/LATEST rule with a –mkbranch clause.

Restriction: You cannot use –mkbranch in combination with –none or –error .

Multiple-level auto-make-branch

A config spec can include a cascade of auto-make-branch rules, causing checkout to create multiple branching levels at once. checkout keeps performing auto-make-branch until version 0 on the newly created branch is not selected by a rule with a –mkbranch clause; then, it checks out that version. For example:

1

element * CHECKEDOUT

2

element * .../br2/LATEST

3

element * .../br1/LATEST -mkbranch br2

4

element * MYLABEL -mkbranch br1

5

element * /main/LATEST

1

element * CHECKEDOUT

2

element * .../br2/LATEST

3

element * .../br1/LATEST -mkbranch br2

4

element * MYLABEL -mkbranch br1

5

element * /main/LATEST

If you check out an element in a view that currently selects the version labeled MYLABEL :

  1. A branch of type br1 is created at the MYLABEL version, following the fourth rule.
  2. The third rule selects the newly created version .../br1/0 , so a branch of type br2 is created at that version.
  3. Version .../br1/br2/0 is checked out. The checked-out version has the same contents as the MYLABEL version, and is selected by the first rule. When you edit and check in a new version, .../br1/br2/1 , the view will select it with the second rule.

Create branch rules

A create branch rule takes the following form:

 mkbranch branch-type-name [ –override ] <config spec lines> [ end mkbranch [ branch-type-name ] ]

This rule is similar to the –mkbranch clause; use it when you want to add a –mkbranch clause to many lines in a complex config spec.

mkbranch branch-type-name [ –override ]
Attaches an implicit –mkbranch branch-type-name clause to all element rules between mkbranch and end mkbranch (or the end of the file) that do not have a –mkbranch clause or include the CHECKEDOUT version selector.

Specifying –override will override any explicit –mkbranch clauses or mkbranch rules within the scope and replace them with –mkbranch branch-type-name . Use –override if you do not want multilevel branch creation.

end mkbranch [ branch-type-name ]
Ends the mkbranch branch-type-name rule. If end mkbranch is omitted, the rule is ended at the end of the config spec. The branch-type-name argument is optional, but if you include it, it must match the branch type specified with the mkbranch rule.

mkbranch and end mkbranch rules may be nested. For example:

element * .../branch2/LATEST
mkbranch branch2

element * .../branch1/LATEST
mkbranch branch1

element * /main/LATEST

end mkbranch branch1
end mkbranch branch2

Checking out foo.c creates foo.c@@/main/branch1/branch2/CHECKEDOUT . This is a multiple-level mkbranch .

Time rules

A time rule takes this form:

 time date-time [ end time [ date-time ] ]

It is analogous to the –time clause. A time rule modifies the meaning of the special version label LATEST in subsequent rules, with the following exceptions:

  • An optional –time clause in a particular rule overrides any general time rule currently in effect.
  • A subsequent time rule cancels and replaces an earlier one.

Use end time to limit the effect of a time rule to a certain range. The date-time argument is optional with end time , but if you include it, it must match the date-time argument specified with the time rule.

The date-time specification is evaluated when you set or edit the config spec, and whenever the view_server process is started (for example, with startview or setview (dynamic views only)). Thus, the meaning of a relative specification, such as today , may change over time. However, the date -time is not evaluated at run time. So if you last performed one of the commands listed above four days ago, the meaning of a relative specification, such as today , has the value of the date four days ago, not the value of the date today.

Time rules may be nested. They may not include any query language constructs.

File-inclusion rules

A file-inclusion rule takes this form:

include config-spec-pname

The argument specifies a text file that contains one or more config spec rules (possibly other include rules). Include files are re-read on each execution of setcs and edcs . A file-inclusion rule must be the last rule in a line. For example,

include config-spec-pname

and

time date-time ; include config-spec-pname

are both valid.

Load rules

Load rules define which elements are loaded (copied) into a snapshot view. (By contrast, element rules define which version of an element is selected.) A load rule takes this form:

load pname ...

The argument specifies one or more file or directory elements. Naming a directory element implies the directory and all elements below the directory. Naming a file element specifies that element only. Wildcarding is not supported; you must explicitly specify all elements to be loaded.

More than one load rule can appear in a config spec; you must have at least one to see any files in a snapshot view. (Load rules in the config spec of a dynamic view are ignored.)

Load rules can be positioned anywhere in a config spec, and their order is irrelevant.

An element can be selected by more than one load rule without causing an error.

In the context of loading a snapshot view, symbolic links can be characterized as VOB links, which point to objects inside the VOB, and non-VOB links, which point outside the VOB. Links are treated as follows:

  • On UNIX and Linux systems, hard VOB links are followed; symbolic links are copy-created. Both VOB links and non-VOB links are resolved, if possible. If a symbolic link cannot be resolved because, for example, it is to an object that does not exist yet, the symbolic link is loaded but a warning is issued about the nonexistent link target.
  • On Windows systems, VOB links (both symbolic links and hard links) are followed. Both VOB links and non-VOB links are resolved, if possible. If a symbolic link cannot be resolved because, for example, it is to an object that does not exist yet, the load operation does not fail, but the symbolic link is not loaded and a warning is issued about the nonexistent link target.

UCM config specs

UCM config specs are unlike config specs for base ClearCase and base ClearCase LT in that they are generated by mkstream and regenerated from time to time by chstream and rebase . You may edit UCM config specs only as follows:

  • To add custom element-selection rules
  • To add custom load rules for snapshot views

Only custom rules that are correctly delimited are preserved when a UCM config spec is regenerated.

Note: Never use UCM-generated rules in config specs for base ClearCase or base ClearCase LT.

Custom element-selection rules

Add custom element-selection rules only between the custom element delimiters, as follows:

#UCMCustomElemBegin - DO NOT REMOVE - ADD CUSTOM ELEMENT RULES
AFTER THIS LINE
rule
.
.
.
#UCMCustomElemEnd - DO NOT REMOVE - END CUSTOM ELEMENT RULES

The typical use for custom element selection is to add an include rule that enables the UCM view to see the contents of base ClearCase or base ClearCase LT VOBs. See File-inclusion rules .

Custom load rules

Add custom load rules after the custom load delimiter, as follows:

#UCMCustomLoadBegin - DO NOT REMOVE - ADD CUSTOM LOAD RULES AFTER THIS LINE
rule
.
.
.

For more information, see Load rules .

Examples

Note: In the UNIX system and Linux examples that follow, arguments and output that show multicomponent VOB tags are not applicable to Rational ClearCase LT, which recognizes only single-component VOB tags. In this manual, a multicomponent VOB tag is by convention a two-component VOB tag of the form /vobs/ vob-tag-leaf ; for example, /vobs/src . A single-component VOB tag consists of a leaf only; for example, /src . In all other respects, the examples are valid for Rational ClearCase LT.
  • Include a standard set of rules to be used by every user on a particular project.

    include /proj/cspecs/v1_bugfix_rules

  • Modify the meaning of “most recent” to mean “as of 7 P.M. on July 10.”

    time 10-Jul.19:00
           element /atria/lib/* .../new/LATEST
           element * /main/LATEST
    end time

  • Select version 3 on the main branch of a particular header file.

    element /usr/project/include/utility.h /main/3

  • Select the most recent version on the main branch for all elements with a .c file name extension.

    element *.c /main/LATEST

  • Select the most recent version on the bugfix branch.

    element * .../bugfix/LATEST

  • Select versions of elements from a particular development branch, or with a related label.

    element * CHECKEDOUT

     

    element * .../maint/LATEST

    If no checked-out version, select latest version on the maint branch, which may or may not be a direct subbranch of main

    element * BL2.6

    Else, select version labeled BL2.6 from any branch

    element * /main/LATEST

     
  • Select versions of C language source files (.c file extension) based on the value of an attribute. A config spec such as this may be used by a developer to select versions of files for which he is responsible.

    element * CHECKEDOUT

     

    element –file *.c /main/{RESPONSIBLE=="jpb"}

    For any .c file, select latest version on main branch for which jpb is responsible)

    element –file /project/utils/.../*.c /main/BL2.6

    Else, select version labeled BL2.6 on main branch from /project/utils directory, or any of its subdirectories

    element * /main/LATEST

     
  • Use the –mkbranch qualifier to create a new BL3 branch automatically. Create the branch off the version labeled BL2.6 , or the latest version on the main branch if no version is labeled BL2.6 .

    element * CHECKEDOUT

     

    element * .../bl3_bugs/LATEST

    If no version is checked out, select latest version on bl3_bugs branch)

    element -file * BL2.6 –mkbranch bl3_bugs

    Else, select version labeled BL2.6 and create bl3_bugs branch on checkout

    element -file * /main/LATEST –mkbranch bl3_bugs

    Else, select latest version on main branch and create new branch on checkout

  • Same as above, but use a mkbranch rule.

    element * CHECKEDOUT
    element * .../bl3_bugs/LATEST
    mkbranch bl3_bugs
    element -file * BL2.6
    element -file * /main/LATEST
    end mkbranch bl3_bugs

  • Select the version labeled REL3 for all elements, preventing any checkouts to this view:

    element * REL3 –nocheckout

  • Select the most recent version on the bug_fix_v1.1.1 branch, making sure that this branch is a subbranch of bug_fix_v1.1 , which is itself a subbranch of bug_fix_v1 .

    element * CHECKEDOUT
    element * bug_fix_v1.1.1/LATEST
    element * .../bug_fix_v1.1/LATEST –mkbranch bug_fix_v1.1.1
    element * .../bug_fix_v1/LATEST –mkbranch bug_fix_v1.1
    element * /main/LATEST –mkbranch bug_fix_v1

    When a user checks out an element for which none of these branches yet exists, a cascade of auto-make-branch activity takes place:

    Z:/myvob>  cleartool checkout -nc .
    Created branch "bug_fix_v1" from "." version "/main/0".
    Created branch "bug_fix_v1.1" from "." version
    "/main/bug_fix_v1/0".
    Created branch "bug_fix_v1.1.1" from "." version
    "/main/bug_fix_v1/bug_fix_v1.1/0".
    Checked out "."
    from version "/main/bug_fix_v1/bug_fix_v1.1/bug_fix_v1.1.1/0".

  • Modify the previous config spec to create branch bug_fix_v2 off an existing branch rather than creating multiple subbranches.

    element * CHECKEDOUT
    mkbranch bug_fix_v2 –override
    element * .../bug_fix_v1.1.1/LATEST
    element * .../bug_fix_v1.1/LATEST –mkbranch bug_fix_v1.1.1
    element * .../bug_fix_v1/LATEST –mkbranch bug_fix_v1.1
    element * /main/LATEST –mkbranch bug_fix_v1
    end mkbranch bug_fix_v2

  • For a snapshot view, select the most recent version on the main branch. Use load rules to select in the applets VOB all elements below the /cmdlg directory and one specific element in the /testdlg directory.

    element * CHECKEDOUT
    element *... /main/LATEST
    load /applets/cmdlg
    load /applets/testdlg/opendlg.h

UNIX and Linux files

  • /opt/rational/clearcase/default_config_spec
  • view-storage-directory /config_spec
  • view-storage-directory /.compiled_spec

Windows files

  • ccase-home-dir /default_config_spec
  • view-storage-directory /config_spec
  • view-storage-directory /.compiled_spec
内容概要:本文系统介绍了物理信息神经网络(PINNs)在求解布洛赫-托雷(Bloch-Torrey)方程中的应用,结合PyTorch框架提供了完整的Python代码实现案例。文章深入阐述了如何将物理先验知识嵌入神经网络训练过程,通过构建复合损失函数,强制网络输出满足控制方程、初始条件与边界条件,从而实现对布洛赫-托雷方程的无网格化、高精度求解。该方法突破了传统数值方法在高维、多尺度及复杂几何场景下的计算瓶颈,展现出优异的泛化能力与计算效率,特别适用于医学成像、扩散磁共振等领域中复杂的物理场建模与仿真任务。; 适合人群:具备深度学习与偏微分方程理论基础,从事科学计算、生物医学工程、材料科学或相关交叉学科研究的研究生、科研人员及算法工程师。; 使用场景及目标:①应用于扩散磁共振成像(dMRI)等医学影像技术中的复杂扩散过程建模与反演;②为高维偏微分方程的高效求解提供数据驱动的新范式,提升仿真精度与计算速度;③作为PINNs在AI for Science领域中的典型实践案例,推动物理引导的深度学习方法在实际科研项目中的落地与拓展。; 阅读建议:建议读者结合提供的完整代码资源(可通过公众号“荔枝科研社”或百度网盘获取),动手复现并调试模型,深入理解PINNs的架构设计、损失函数构建与物理约束嵌入机制,同时可尝试将该方法迁移至其他类似物理系统的建模与求解任务中进行创新性研究。
内容概要:本文围绕“基于多VSG独立微网的多目标二次控制MATLAB模型研究”展开,详细阐述了利用Simulink对多虚拟同步发电机(VSG)构成的独立微网系统进行建模与仿真,实现频率调节、电压支撑与有功无功功率均分等多目标协同优化的二次控制策略。研究引入先进的最优控制算法,解决微网在孤岛运行模式下的功率动态分配、频率电压恢复及系统稳定性问题,并通过MATLAB/Simulink平台构建完整仿真模型,验证所提控制策略在不同负载扰动下的有效性、鲁棒性与动态响应性能。; 适合人群:具备电力系统分析、现代控制理论基础以及MATLAB/Simulink仿真能力的电气工程、自动化等相关专业的硕士研究生、科研人员及从事微网控制系统开发的工程技术人才。; 使用场景及目标:① 深入理解多VSG在独立微网中的并联运行机理与协同控制架构;② 掌握基于Simulink的微网二次控制系统的建模方法与仿真流程;③ 实现频率、电压与功率分配的多目标优化控制仿真验证;④ 为微网控制系统的设计、算法优化及科研课题提供可靠的仿真依据和技术参考。; 阅读建议:建议读者结合文中控制策略,动手搭建Simulink模型,重点关注控制器参数整定对系统动态性能的影响,可通过对比不同工况下的仿真结果,进一步优化控制算法以提升系统鲁棒性与响应精度。
【重要提示】本资源设置为0积分下载,若非0积分请勿轻易下载 亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提前说明一个重要情况: 本资源原本已设置为“0积分下载”,即作者希望完全免费共享。但CSDN平台有时会根据文件的下载热度、文件大小、用户权限等因素,自动将部分资源的积分调整为非0数值(如1积分、2积分、5积分等)。这是平台系统的自动行为,而非作者本人的设定。 因此,如果你当前看到该资源的下载所需积分不是0(例如显示为1、2、3……),请谨慎决定是否下载。 如果你按照非0积分支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积分损失或退还操作。强烈建议:仅在页面显示为0积分时进行下载。 另外,本资源描述中并未直接提供具体的下载地址或外部链接,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述中没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积分显示异常导致你支付了积分,请优先联系CSDN客服咨询积分退还政策,作者没有权限修改平台自动设定的积分值。 感谢你的理解与支持。技术分享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!
代码下载地址: https://pan.quark.cn/s/a4b39357ea24 编写程序,建立容量为n(建议n=8)的循环队列,完成以下程序功能。 输入字符#,执行一次出队操作,屏幕上显示出队字符;输入字符@,队列中所有字符依次出队并按出队次序在屏幕上显示各字符;输入其它字符,则输入的字符入队。 要求采用队头/队尾间隔至少一个空闲元素的方法来实现循环队列;空队执行出队操作及队满执行入队操作需显示提示信息。 ### 数据结构实验报告知识点 #### 实验背景与目标 本次实验是关于数据结构中的队列基本操作算法。 队列是一种先进先出(FIFO)的数据结构,在计算机科学中有着广泛的应用,例如进程调度、任务队列等场景。 通过本实验,学生能够深入理解循环队列的概念,并熟练掌握其实现方法。 #### 实验要求与内容 1. **实验内容**:要求编写一个程序来建立容量为 _n_ 的循环队列(推荐 _n_ = 8),并实现以下功能: - 输入字符 `#` 执行一次出队操作,并显示该出队字符; - 输入字符 `@`,将队列中的所有字符依次出队,并按照出队顺序在屏幕上显示这些字符; - 输入其他任意字符,则将该字符入队。 2. **特殊要求**: - 采用队头/队尾间隔至少一个空闲元素的方法实现循环队列,这样可以避免队列的物理连续性与逻辑连续性的混淆,同时便于检测队列是否为空或满。 - 当队列为满时尝试执行入队操作,或者队列为时空执行出队操作时,需要给出相应的提示信息。 3. **注意事项**: - 在反复输入字符时,应妥善处理输入缓冲区中的回车键(即 `\n` 字符)的问题,避免因连续输入导致的错误行为。 #### 数据结构设计 为了实现上述要求,本实验采用了如下的数据结构设计: ...
内容概要:本文提出了一种基于数据驱动的Koopman算子与递归神经网络(RNN)相结合的模型线性化方法,用于提升纳米定位系统的预测控制性能。该方法通过Koopman算子将复杂的非线性系统动态映射至高维线性空间,克服传统建模在强非线性条件下的局限性,再结合RNN强大的时序特征捕捉能力,实现对系统未来状态的高精度预测与有效控制。整个框架完全基于数据驱动,无需精确物理建模,特别适用于原子力显微镜、半导体制造等对定位精度要求极高的应用场景,并通过Matlab代码实现了算法的完整仿真与验证。; 适合人群:具备控制理论基础和Matlab编程能力,从事精密运动控制、智能算法开发、非线性系统建模与预测控制研究的研究生、科研人员及工程技术开发者。; 使用场景及目标:①解决纳米级定位平台中存在的强非线性、迟滞、蠕变等复杂动态特性带来的控制难题;②为高精度机电系统提供一种可复现、易实现的数据驱动预测控制方案;③推动Koopman理论与深度学习在先进制造与智能控制领域的深度融合与应用创新。; 阅读建议:建议读者结合提供的Matlab代码深入理解Koopman算子的数值实现流程与RNN网络结构设计细节,重点关注模型在不同工况下的泛化能力、实时性表现及控制稳定性,可进一步将其拓展至其他高精度伺服控制系统的研究与优化中。
源码下载地址: https://pan.quark.cn/s/a4b39357ea24 在基于Ubuntu的操作系统环境中部署企业微信是众多用户尤其是企业工作者的迫切需求,因为企业微信能够构建一个高效的沟通与协作平台。本文将系统性地阐述在Ubuntu系统上安装企业微信的DEB安装包的具体方法。 我们有必要掌握DEB安装包的基本概念。DEB代表着Debian软件包的规格,并且被诸如Ubuntu这类基于Debian的系统普遍采纳。每一个DEB包都整合了软件的所有构成要素,涵盖了可执行程序、库文件、配置数据以及必须的安装程序。在Ubuntu系统中,用户能够借助命令行界面或者图形化的工具来对这些DEB包进行操作。 针对标题和描述中提及的"在Ubuntu系统中完成企业微信的安装(涉及DEB安装包)",我们将分阶段地说明实际操作步骤: 1. **启动终端程序**:在Ubuntu系统中,用户可以通过按下快捷键`Ctrl + Alt + T`或从应用程序启动器中查找“终端”来开启它。 2. **获取DEB安装包**:用户需要下载企业微信的DEB安装包。在这个实例中,我们有一个名为`deepin.com.weixin.work_2.8.10.2010deepin0_i386.deb`的文件,通常可以从企业微信的官方网站或其他可信的资源渠道获取。下载完成后,务必保证文件存储在可访问的路径下,例如桌面。 3. **执行DEB安装包的安装**: - 选用`gdebi`工具(如果尚未安装,需先执行`sudo apt install gdebi`命令):输入`gdebi deepin.com.weixin.work_2.8.10.2010deepin0_i386.deb`,然后依照指示完成...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值