The Send to Issue Command
and "Send to Issue (specifying basis)"
Invoking the Send to Issue Command
Specifying the Basis Version of the Change
The Send to Issue command creates or modifies change package A set of entries, each in the form of a basis-version/head-version pair, recorded on the Changes tab of an issue record. The change package records the changes to one or more elements, made to implement the feature or bugfix described in that issue record. Each entry in the change package describes changes to one element: the changes between the basis version and the head version. See patch. entries for one or more elements in one or more issue records. When first created, a change package entry has the same structure as a patch A set of versions of a text-file element -- typically, containing the 'recent changes' made in one workspace. Also, the merge-like operation that incorporates those changes into another version of the same element. See merge, basis version, head version, change package, reverse patch.: the set of 'recent changes' to an element. After subsequent modifications, a change package entry can include a much broader set of changes.
The command has several variants, providing different ways to specify the data to be sent to the change package(s):
You specify a version, which AccuRev interprets as the head version The version of an element that, along with a basis version, specifies that element's entry in a change package. Equivalently, the head-version/basis-version pair specifies a patch to that element. of a patch. AccuRev automatically determines the corresponding basis version A particular ancestor of the version specified in a Patch, Revert, Diff, or Send to Issue command. The series of versions between the basis version and the specified version constitute the 'recent changes' to be patched into (or removed from) the target. Similarly, a change package entry consists of all the versions between a specified basis version and a specified head version..
You specify both the head version and basis version of a patch.
You specify an existing change package entry, to be sent to one or more additional change package(s).
You can invoke Send to Issue in the following contexts. Note that each context provides access to some, but not all, variants of the command.
In the Version Browser, choose Send to Issue or Send to Issue (specifying basis) from the context menu of any version.
In the Versions pane of the History Browser, select one or more versions and choose Send to Issue from the selection's context menu.
In the Stream Version Browser, choose Send to Issue from the context menu of any version.
In the Changes subtab of an issue record or the Change Package Contents pane of a Stream Issues tab, select one or more change package entries and choose Send to Issue from the selection's context menu.
In the Send to Issue (specifying basis) variant of the command, you specify the basis version , defining the extent of the change to be sent to the change package(s). After you invoke the command, the mouse pointer changes to . Click the version you wish to be the basis version for the change. (You can press the Esc key at this point to cancel the command.)
The basis version you specify must be an ancestor In the version graph of an element, version A is an ancestor of version B is there is a direct line of descent (possibly including merges) from A to B. See predecessor (or direct ancestor). 'A is an ancestor of B' is equivalent to 'B is a descendant of A'. of the head version. If it isn't, an "Invalid Change Package" error occurs.
AccuRev prompts you to specify one or more issue records, in which change package entry(s) will be created or modified. If you've specified one of your AccuWork queries A set of search criteria that selects records from an AccuWork issue database, based on the records' field values. Each AccuWork issue database can have one of its queries designated as the "default query", to be invoked automatically in certain situations calling for the user to specify one or more issue records. as the default query An AccuWork query that you've designated to be executed automatically in certain situations: when you open a new Queries tab; when AccuRev prompts you to specify one or more issue records in a Send to Issue command; when you execute Promote and an AccuRev/AccuWork integration is enabled., AccuRev executes the query and displays the results.
You can select one or more of the issue records:
By clicking: left-click to select an issue record. Hold down the Ctrl or Shift key to select multiple records.
By typing: enter one or more numbers, separated by SPACEs.
You also have two other options for specifying issue records other than the initial set shown by the dialog::
Choose an issue record associated with another user. To do so, choose a user or group name from the drop-down list to the right of the Issue # field. The set of names shown here is defined when the change-package configuration is set.
Create a new issue using the New Issue button at the bottom of the dialog. Note that if you have chosen to display issue records associated with another user, the new issue must be associated with that user when you create it, or the issue will not display on the Send to Issue dialog.
If you don't have a default query, AccuRev prompts you to type in an issue number (or multiple numbers, separated by SPACEs).
The Send to Issue command fails if AccuRev determines that an existing change package entry cannot be modified by "adding in" the set of versions you specified. A change package entry must always be expressible as "all the versions between the specified head and basis versions". Here are two situations in which this is not possible:
This case typically arises when you do work on a task at two different times, and someone else has worked on the same element in between. In this example, you created versions 18-20 of a file and created a change package entry with those versions. A colleague updated her workspace to bring in your changes, created versions 1 and 2 in her workspace, and promoted her changes. You then updated your workspace to bring in her changes, and made a new set of changes, in versions 21-23.
Now, you want to add your new changes into the same change package. When AccuRev tries to combine the six versions into a single change package entry, it detects the 'gap' consisting of your colleague’s versions 1 and 2, and displays an error box.
Fixing the Problem
Typically, you'll want to "span the gap", making the change package entry include the entire series of versions — your original changes, your colleague’s changes, and your new changes. You can accomplish this by first removing the existing change package entry from the Changes subtab of the issue record, then using the Send to Issue (specifying basis) variant of the command. In this example, you'd specify version 23 as the head version and version 17 as the basis version. [note ]
Merge required before change package entry can be modified
This case typically arises when developers in different workspaces try to use the same change package. There is no simple "gap" between the existing change package entry and the new set of version.
This means there is no way to combine them into a single change package entry.
Fixing the Problem
You can remedy this situation by performing a merge at the element level. (There is no merge operation defined at the change package level.)