Accurev developer training
Sponsored Links
This presentation is the property of its rightful owner.
1 / 160

AccuRev Developer Training PowerPoint PPT Presentation


  • 266 Views
  • Uploaded on
  • Presentation posted in: General

AccuRev Developer Training. AccuRev , Inc. 300 Baker Ave Concord MA. Course Outline. Tuesday. Thursday. Change Package Concepts “Carry Over” Change Package Modify Change Package Stream Creation for Developers Include / Exclude in Workspace Undoing a Promote Collaboration

Download Presentation

AccuRev Developer Training

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


AccuRevDeveloper Training

AccuRev, Inc.

300 Baker Ave

Concord MA


Course Outline

Tuesday

Thursday

Change Package Concepts

“Carry Over” Change Package

Modify Change Package

Stream Creation for Developers

Include / Exclude in Workspace

Undoing a Promote

Collaboration

Bug Tracking /Issues

Web UI

Documentation / Help

  • Terminology

    • Workspaces

    • Keep

    • Promote

    • Update

  • Stream Browser

  • Workspace Search Filters

  • File Status

  • Overlaps & Merge

  • Workspace Concepts

  • Update vs. Populate

  • History (element & stream)

  • Diff (element & stream)

  • Stream Browser Workflow


AccuRev

AccuRev Basic Concepts


AccuRev Terminology

 Repository | Database | Module | VOB

 Configurations | Branch | “dynamic view”

 Label | Tag | Baseline | Immutable

 Writeable files | Private commits

Depot

Stream

Snapshot

Workspace

Developer Workflow

  • Keep

  • Promote

  • Update

  • Merge

Keep: stores a user’s private changes in the AccuRev depot, but does not make them available to other users

Promote: makes changes previously saved with Keep command available to other users

Merge: incorporates changes promoted by other users into a user’s private workspace, allowing for conflict resolution

Update: incorporates changes promoted by other users into a user’s private workspace


Basic Objects in AccuRev

  • Stream: a configuration of elements

    • Dynamic streams:

      • Contents change as elements are promoted or reverted

      • Hierarchy of streams defines the promotion-based workflow

    • Snapshots streams:

      • Static streams that cannot be moved, renamed, or altered

      • Contents are immutable

      • Analogous to labels or baselines


Basic Objects in AccuRev

  • Workspace: a developer’s private area (sandbox)

    • Contains two components:

      • Workspace stream — dynamic stream that tracks the versions of files in the workspace

      • Workspace directory tree — set of writable files that exist on a client machine

    • All changes are private (until you promote them)

    • A workspace can be considered an “instance” of a stream.


Basic Objects in AccuRev

  • All workspaces are private

    • Use a workspace to create new versions of the source

    • User’s principal name appended

      • Ensures users cannot remove someone else’s workspace

      • Each user has their own namespace for workspaces

  • Based on a single backing stream (parent)

    • Workspaces are populated with the configuration source from its backing stream

  • Updating a workspace retrieves new(er) versions from any parent stream up to the base stream or a snapshot.


Stream Browser – New Look

Depot / Base Stream

Dynamic Streams

Time Based Stream

Active Content

Workspace Streams

Snapshot Stream

Principle

Pass-Through Stream

Depot


Traditional Stream Browser

Workspace Streams

Dynamic Streams

Time Based Stream

Depot / Base Stream

Active Content

Snapshot Stream

Pass-Through Stream

Principle

Depot


AccuRev

Core User Operations


Module Objectives

  • Identifying your principal name

  • Creating workspaces

  • Accessing your workspace

  • Common developer commands: add, keep, promote and update


Creating Workspaces, Streams, and Snapshots

  • All of these can be created from within the stream browser

  • Highlight the stream to be used as a basis

  • Right-click and select the appropriate menu item

  • Each require minimal storage on the server

New Stream

New Workspace

New Snapshot


Creating a Workspace

AccuRev will automatically append your principal name

to the end of the workspace stream name

AccuRev can automatically append your

workspace name as a new subdirectory to

the end of the location

Built in EOL feed

Finish with defaults

(next page)


How to Access Source Code

  • GUI Menu:

    • View > Workspaces

    • File > Open > Workspace

  • GUI Stream Browser - double-click workspace

  • CLI: cd into your workspace directory tree

    • Runaccurev infoto verify workspace context

  • By default all files are writeable, so no checkout is needed

  • To work on files From the AccuRev GUI (within a workspace)

    • Right-click file and select Edit or use the Edit icon

    • After editing, save and exit the editor

  • Any IDE can be used to edit source code

    • All writeable files means never needing to ‘checkout’ first

    • AccuRev will detect what files have been modified


Add and Keep

  • The add command

    • Creates a new ‘real’ version

    • Creates the initial version of that element in the Workspace Stream

    • Simply an alias for ‘first keep’

  • Directories are also versioned

    • Adding a new file implicitly creates directory elements as necessary

    • Do not have to add the directory first

  • AccuRev does a best guess how the files should be stored in the database

    • Text or Binary – always parallel mode

    • Force with accurev add –E text/binary/ptext <file>

    • Override with accurev keep –E text/binary/ptext <file>

    • GUI: Advanced button on keep dialog

    • Can force symbolic links (-s option)

    • Can exclusively lock file (-E serial option)

  • Use ptext file type to preserve the contents and prevent CR/LF translation. Ideal for Unicode files or configuration files with embedded binary or multi-lingual data.


Add and Keep

  • GUI

    • “Create a new directory”

    • “Create a new file”

    • ‘keep’ does the work of ‘add’

  • CLI - Command Line

    • accurev add –c “Good Comment” core.h

    • accurev add –c “Good Comment” -x


Keep


Keep & Promote

  • Keep – create a new version in your workspace

    • Creates a new ‘real’ version

    • Versions are private on your workspace stream

    • Kept versions are permanently backed up on the server

    • Other users working from the same basis stream will not automatically see your changes

  • Promote – make the version active in your backing stream

    • Creates new ‘virtual’ version

    • History is fully preserved

    • The version is now available via inheritance to other streams/workspaces related to the same backing stream


Keep & Promote


Keep & Promote

Select Promote button or from right-click list

This is your ‘Active Files’ list,

which shows all active elements

in your workspace.

The Active Files list serves 2 purposes - users can promote

their changes from their list and other users can easily see where

active files reside


Keep & Promote

Switch To Stream File Mode

Switch To Stream Transaction Mode

Switch To Stream Issue Mode


Update

  • ‘Update’ retrieves all newer versions from all parent dynamic streams

    • Algorithm stops scanning for updates at first time rule (i.e. snapshot) or top-most base stream

  • ‘Update’ will not overwrite any work in progress

    • Kept files – since your version represents the “latest” file

    • Modified files – AccuRev does not want to clobber unsaved work

    • Anchored files – Files that you intend to work on

  • ‘Update’ only applies to files that are (stale)

  • If ‘Update’ encounters ‘(overlap) (modified)’ elements, it will fail

    • Use one of three options

      • Revert the modified files (throw away your changes)

      • Keep your modified files (private versioning)

      • Anchor your modified files (update ignores anchored files)

      • Set “Update Resolves Trivial Merges” under Tools | Preferences. Update to automatically resolve trivial conflicts with (overlap) (modified) elements.

      • Force Update with Merge

  • From CLI

    • accurev update

    • accurev update –i <update preview>


Incoming Filter - Update Preview

Initiate the Update

Update applies to the

entire workspace


Conflicts Filter - Update Preview

  • Merge resolves conflicts (covered later)


Incoming Filter - Update Preview

Update applies to the

entire workspace

Initiate the Update

Update started

Scanning for recently touched elements- ok

Checking touched elements for changes- ok

Preparing for update- ok

Calculating changes- ok

Making 3 changes

Removing "gcc/gcc/config/1750a/1750a.c" .

Content (5 K) of "gcc/gcc/config/i386/gas.h" - ok

Content (1 K) of "gcc/gcc/config/config.h" - ok

Update complete.


Workspace Explorer

Update applies to the

entire workspace

Update ‘only’ changes

‘stale/backed’ files

Initiate the Update

Update started

Scanning for recently touched elements- ok

Checking touched elements for changes- ok

Preparing for update- ok

Calculating changes- ok

Making 3 changes

Removing "gcc/gcc/config/1750a/1750a.c" .

Content (5 K) of "gcc/gcc/config/i386/gas.h" - ok

Content (1 K) of "gcc/gcc/config/config.h" - ok

Update complete.


Update Preferences

Update Progress Log Preference

Update Merge Preference


Update Options

Initiate the Update

Update and Force Trivial Merge(s)

(overlap)(modified)’s

Update with Merge

always forces trivial merge

regardless

of set preferences


Exercise

  • Create a workspace off of a stream

  • Add new files to source control

  • Promote those files into the backing stream

  • Update workspace to retrieve new elements


Search For Files

Searchfor *.h files


Working in the Workspace

‘Open Parent’ tells you what your

backing stream (parent) is

Workspace Filters

The Folders View

Workspace Tree location

Workspace Stream

AccuRev Principal Name


Working in the Workspace

The Status column tells you the

state for any file in the current directory

in relation to your backing stream

The Version column gives you the Stream

location and version number of the file


Status and Filter Summary


Elements & Directory Structure

  • Files and folders are stored by depot-relative pathname

  • Every file and folder has an internal unique element id (eid)

    • Supports tracking history of path and name changes.

  • The root level directory always has eid 1

  • The root level directory is represented as

  • An element in this directory structure:

  • is stored as...

    \.\sources\Project_1\HelloWorld_1\HelloWorld.cpp


Elements & Directory Structure

  • To see an element’s depot-relative pathname, right-click and select properties:

Depot relative path name

Element Id


Finding (modified) files in your workspace

  • A file has a status of (backed) if it is the current version of the file in the parent stream hierarchy

  • AccuRev uses a combination of timestamp and checksum to determine which files are (modified)

    • Any file with a newer timestamp is a candidate

    • A checksum is only performed on candidates (Optimization)

  • The status of the file will change to (modified)


Hiding (external) Elements

  • External files can cause slower performance with the AccuRev commands in both GUI and CLI

    • For example, stat command must unnecessarily interrogate all external files in order to classify them as (external)

  • Use .acignore file(s) in you workspace

    • Line delimited list of file or directory patterns including wildcards

      *.o

      *.jar

      *.war

      build/*

    • Improves overall performance with the workspace especially for commands that act on the entire workspace

    • Use to ignore external files that will always remain external but part of the workspace

    • For example, files generated by a build


AccuRev

Resolving Overlaps


Module Objectives

  • Understand (overlap) status

  • Closest common ancestor algorithm

  • AccuRev’s graphical merge tool

  • Merge history

  • Namespace overlaps

  • Registering a different merge tool


Merging (overlap) status

  • An (overlap) occurs when you modify or keep a file that has also been changed in the backing stream

    • Someone else has done a promote of the same file before you

    • Version in your workspace has an ‘older’ ancestor

  • The file’s status will include (overlap) and be highlighted

  • A merge is required before you can promote the file


Merging Algorithm

  • AccuRev’s merge algorithm for text files considers three versions:

    • contributor 1: backing stream version (left pane)

    • contributor 2: your version (right pane)

    • “common ancestor” version (center pane)

  • Changes or Conflicts?

    • If a section of text was changed by just one contributor, the change is automatically accepted

    • If both contributors changed the same section of text in different ways, there is a conflict. You have to resolve the conflict manually.


Conflicts Filter - Running the Merge command


Running the Merge Command

Trivial merge shortcut

Keep or Review merge

Merged Result…

still in Workspace Stream

Backing Stream Version

Common Ancestor

Workspace Stream File


Running the Merge Command

Navigating thechange sections

Resolvingconflicts

Previous

Use Only My Changes

All Changes

Conflicts

Last

Search

Their Changes

Revert All Of

My Changes

First

Next

My Changes

Current

Take My Changes

Take Their Change

Take Common

Ancestor Change


Finishing a Merge

Keep Results and Close


Exercise

  • Create an overlap situation with your neighbor

    • Modify & promote the same piece of code & assign to same Change Package

  • Resolve this overlap using the merge operation


AccuRev

Advanced Workspace Operations


Module Objectives

  • Private sandbox concepts

  • Revert file changes

  • Rename and move elements

  • Populate missing elements

  • Remove files from the directory tree

  • Filter rules to include / exclude elements


Private Sandbox Concepts

  • All workspace commands are relative to last Update

  • The update command only retrieves newer versions of files from the parent stream hierarchy

  • If a newer file version exists since your last update, that new version will not be considered

    • Examples: Revert, Purge, Populate, Diff

  • Guarantees consistency of workspace!

  • Exception: Diff against backed

    • Compare local file with the newest backing stream version

    • Use Diff against basis to compare since last update


“Revert To…”

  • Reverting will rollback to a previous version

  • Two revert options in the GUI

    • Most Recent Version (last kept version)

    • Backed Version (since last update)


Reverting from the CLI

  • Revert to Backed

    • use the purge command

      $ accurev purge foo.c

    • purge will always Revert to backed, rollback all changes including kept versions

  • Revert to Most Recent

    • use the populate command

      $ accurev pop –O foo.c

    • populate will not retrieve the most recent version

  • Revert to Any Version

    • Use checkout” with specific version

      $ accurev co –v “53/5” foo.c

    • checkout has nothing to do with locking, unlike other systems

    • History of checkout is preserved; see version browser for file


Element Namespace Changes

  • AccuRev supports rename, copy and move

  • Element history is fully preserved

    • Restore to any previous version of a file, even if the name has changed or its location has been moved

  • Must be done in AccuRev

$ accurevrename <oldname> <newname>

$ accurevmove <oldpath> <newpath>

$ accurevmv <oldpath> <newpath>


Populate

  • Replaces (missing) files on disk

  • Retrieves the version from the last update

  • Used to recover an accidental OS file-system delete

  • Default is to refuse to do anything element if is already in the workspace

  • GUI: right-click File > Populate

  • CLI:

$ accurev pop <filename>(single file)

$ accurev pop –R –O .(recursive/overwrite/all files)


Populate

Replacing (missing) files

Throwing out my changes to (modified) files


Update vs. Populate

  • Update

    • Retrieves new versions from the backing stream

      • Files will have (stale) status prior to updating

    • Will not restore (missing) files

      • Exception when file is (missing)(stale)

  • Populate

    • Downloads (missing) files

      • Selects version based on time of last workspace update

      • Algorithm to is similar to revert / purge

    • Will not always get you the latest version


Removing Elements

Defunct is for ‘all’

Streams and Workspaces

Delete only affects local

Workspace Tree only

Files with (defunct) status are found via the selection


Setting include/exclude rules

  • Filter elements within a configuration

  • In Workspaces

    • Will improve update times

      • Results in fewer files to be updated

      • Exclude files and folders that you do not need

  • In Streams

    • Rules are inherited by all child streams and workspaces

    • Useful for setting project specific rules regardless of how many stream levels are used

    • Useful for controlling physical source code access


Setting include/exclude rules

Include the

directory only

Exclude the directory

and its sub files/folders

Include the directory

and its sub files/folders

By default no rules are

displayed unless you

select Include/Exclude View

Show all rules in the backing chain


Exercise

  • Modify and keep some changes then revert them.

  • Rename and move elements.

  • Delete elements using delete command and populate those missing elements.

  • Defunct a file (see status)

  • Create include/exclude rules in the workspace.


AccuRev

Looking at History


Module Objectives

  • Track the history of an element

  • View the history of a workspace or stream

  • Find differences between file versions

  • Find differences between stream configurations

  • Send different file versions to your workspace


History of Changes

  • You can look at the history of:

    • Element

    • Transaction

    • Workspace

    • Stream

  • History can be broken down to a single element:

    • GUI: Right click an element and select Annotate

    • CLI: accurev annotate <element name>

  • History can be range based


History of an Element

Graphical history for a given element

Stream history for

a given element


Browse Version Overview

Switch between the

history views

Transaction timeline

Information for a

single version

Versions


Workspace Collapsed into Groups


Familiar and New Information


Browse Versions - Name Filter


Filtering / Finding Issues


History of a Workspace

You can sort by time, action, user, or transaction number.

You can drill down further

and browse an element’s

graphical history


Diff’ing Files

  • AccuRev allows diff’ing of any text file

    • Binaries cannot be diff’ed or merged

  • Any two versions of a single file can be diff’ed

    • From the GUI

    • Workspace Explorer Element View

      • Diff Against > Most Recent Version

      • Diff Against > Backed Version

      • Diff Against > Basis Version

      • Diff Against > Overlapping Changes > Mine / Theirs

      • Diff Against > File in Other Stream

      • Diff Against > File On Disk

    • Version Browser

      • Diff Against > Other Version

      • Diff Against > File in the Workspace

      • Diff Against > File On Disk


Diff Against…

Use the Workspace Explorer or Show Status view to

find files to diff against predecessor

versions (backed) or (member)

Last Kept Version;

still active in workspace

Latest version in

the backing stream

Ancestor this version came from


Diff Against…

Mine diffs the workspace or stream version against

the common ancestor in the backing stream.

This option identifies the changes in the workspace

or stream that did not come from the backing stream.

Theirs allows you to see only the changes added

to the backing stream since the last time

you merged with the backing stream.

This option is useful for identifying the changes to

the backing stream that caused the overlap condition.


Diff any two versions of a file

Specify a range of

transactions

Use the Version Browser to

diff ‘any’ 2 versions of a file


Diff Against…


Comparing Two Streams

  • You can diff any two streams, snapshots or workspaces

    • Diff by file

    • Diff by Issue

      • Change Packages (See AccuWork Integration)

  • Diff by file allows you drill down to view the differences in any specific file


Comparing Two Streams

Diff by Files icon

Right-click the ‘From Stream’;

Select Show Diff;

Left-click on the ‘To Stream’


Comparing Two Streams

Empty lines represent files

that have been defuncted or

have not yet been promoted

This file was “moved”

History is still intact

Right-click to

drill-down

This file was “renamed”

History is still intact


Exercise

  • Annotate an element.

  • View the history of a workspace or stream.

  • Use the version browser and diff between any two element versions.

  • From version browser, send different version into your workspace.

  • Use stream browser diff two streams.


Stream Browser

Depot / Base Stream

Dynamic Streams

Time Based Stream

Active Content

Workspace Streams

Snapshot Stream

Principle

Pass-Through Stream

Depot


AccuRev

Stream Favorites


Stream Favorites

  • Stream favorites are similar to Stream Filters in AccuRev 5.5 and earlier

    • Replaces and extends Stream Filters

    • Create multiple favorites and easily switch between them

    • Share filters by making them public

Public Favorite highlighted with a blue star


Stream Favorites


Stream Favorites

  • Type a name for the favorite

  • Select private or public


Stream Favorites

To add someone’s public favorite to your list of favorites

click on the Add Public button with Public Favorites highlighted

Users list to select favorites

Display public favorites


AccuRev

Change Packages


Module Objectives

  • Explain how change packages are used to integrate AccuRev with AccuWork

  • Associate a promote transaction with a change package

  • View change packages in a stream

  • Show stream differences by issue

  • Understand file versions in a change package

  • Verify and modify a change package


What is a Change Package?

  • Change Packages are the link between AccuRev’s SCM functionality and the AccuWork issue management system

  • Answers questions like these:

    • “What were all the changes made to source files in order to fix bug #457?”

    • “Have all the changes made to fix bug #457 been promoted to the QA stream?”


Change Package

Issue Record

File Versions

foo.c 10/2

bar.c 10/3

What is a Change Package

  • Provides bi-directional tracking of changes made to the code base.

  • File versions are linked to a change package during a promote from a workspace to its backing stream.


What is a change package?

  • File versions are linked to a change package during a promote from a workspace to its backing stream.

  • Change packages are then tracked as files are promoted from stream to stream.

  • You can also promote by issue to deliver the entire contents of a change package to a stream’s basis stream.


What is a Change Package

  • Change packages are then tracked as they are promoted from stream to stream.

Promoted Issue 2120


Creating the Change Package

  • Development is complete in workspace and ready for Promotion


Creating the Change Package

  • Promote operation forces issue selection

Selected Issue 2111


Viewing the Change Package

  • After the association, Change Package is active in parent Stream.


Viewing the Change Package

Double-Click

Issue 2111


Viewing the Change Package

  • History of the PathMapper.java in CPK 2111


Change package terminology

  • Active: Some versions of elements that are part of the change package are in the default group of the current stream

  • Inactive: All versions of elements that are part of the change package and are part of the current stream are being inherited from a stream in the backing chain.

  • Complete: All of the versions of elements associated with the change package are part of the current stream

  • Incomplete: Some of the versions of elements associated with the change package are not part of the current stream.


Use Cases (Maintenance)

  • Delivery from 3.0 Maint to current mainline

Drag and Drop

Single or Multiple

Issues


Use Cases (Maintenance)

  • Delivery from 3.0 Maint to current mainline

Merges performed if file(s) are changed/conflicting in the destination stream.


Use Cases (Maintenance Merge)

  • Merged delivery will result in a Change Package Variant

  • Change package variants are change packages that are derived from changes in another change package through a patch, merge, or revert operation.

View Active Issues

shows variant as ‘+’ and special variant tracking number (<issue>.<variant no>)


Change Palette

  • While dragging and dropping CPK(s) from source to destination streams, may be presented with change palette.


Change Palette

The recommended way to resolve the conflicts in the change palette is the following:

  • promote the issues that can be promoted

  • merge the issues that have elements with (overlap) status

  • patch the issues that have elements with (patch) status


Special CPK Identifiers

  • Certain status against Change Packages to be aware of…

    • Unaffiliated Changes – Active file(s) in stream that are not affiliated/associated to an issue.

    • Send file(s) to an issue to clear unaffiliated flag


Special CPK Identifiers

  • Certain status against Change Packages to be aware of…

    • Incomplete Change Package(s)

    • Results from the reuse of the Change Package causing a missing version


Special CPK Identifiers

  • Certain status against Change Packages to be aware of…

    • Incomplete Change Package(s)

    • Results from the reuse of the Change Package causing a missing version

    • Show Active Issues will show the missing segment


Compare Streams by issue

  • Can diff any 2 streams by issue


Compare Streams by issue

  • Asks the question “What’s in the from stream that’s not in the to stream?”

Can choose from output and promote through to the destination stream.


CPK Dependencies

  • One Change Package can be dependent on another when file(s) are common.

Show Details button will initiate dependency window.


CPK Dependencies

  • One Change Package can be dependent upon another when file(s) are common.

Shows “Depends On” Issue. Can promote with or without the dependency.


AccuRev

Stream Browser


Module Objectives

  • Stream naming convention

  • Configuring the stream hierarchy to maintain a release

  • Changing the stream hierarchy

  • Configuring project streams

  • Promoting elements across sibling streams

  • Merge overlapping files between streams

  • Revert a promote transaction


Stream naming convention

  • Important stream facts

    • All stream names, including dynamic streams, snapshots, and workspaces must be unique in the repository.

      • Best practice: Each stream name with the depot name has the depot name appended

        • Example: “TRAINING_integration” instead of just “integration”

      • Workspace names always have user name appended

    • Any stream, including dynamic streams, snapshots, and workspaces can be removed from view

      • They cannot be deleted and will always exist

      • A removed stream can be reactivated at any time


Changing the Stream Hierarchy

  • AccuRev’s stream architecture allows you to manipulate the stream hierarchy

  • Unlike branches, streams can be reparented from one stream to another

    • No physical files live in a stream

    • Streams consist of virtual versions only

    • Streams understand relationships

  • Reparenting is the reclassification of a stream’s parent


Changing the Stream Hierarchy

  • Reparenting is dynamic

    • Dynamic streams automatically inherit source tree from new parent stream

    • Update is not needed or used on streams

  • Workspaces do need to be updated

    • Promotes will not succeed until update is done

  • All active changes “belong” to the stream or workspace

    • The power of reparenting

    • No need to re-keep or promote before reparenting


AccuRev

Undoing a Promote


Undoing a Promote

There are multiple ways to undo a promote:

  • Purge or Revert to Backed

    • Purge a defunct without having to run Undefunct

    • Purge a rename or move

    • Purge an entire workspace transaction

  • Revert by transaction or issue

    • GUI: Select stream > Right Click > Show History > Right Click > Select transaction > Right Click > Revert

    • CLI: accurev revert –t <transaction#>


Undoing a Promote in stream

  • Change Packages allow an undo of a promote with or without a workspace

Use a workspace method

if you wish to test changes

Revert directly in stream

without a workspace


Undoing a promote in stream

Prompt to associate “undo” with an issue

Auto Keep

Trivial merges


AccuRev

Sharing changes using collaboration streams


Module Objectives

  • Creating collaboration streams

  • Using checkout to sharing changes


Sharing Changes

  • Suppose there is a team with several developers

  • Two users wish to share their changes without getting everyone else’s changes

  • Two common approaches:

    • Create a collaboration stream just for them

    • Use Send to Workspace to share changes between workspaces


Collaboration Streams

  • Create a collaboration stream

    • Stream should be a sibling stream or a time-based stream

      • Isolation from other developers

      • Both developers work off a shared stream

    • The same developer model works

      • Keep and Promote from one workspace

      • Update from other workspace

    • Working with a common keep/promote and update workflow

      • Users work with atomic operations


Sharing Changes with Checkout

  • Uses Send To Workspace to share changes

    • Does not require an additional collaboration stream

    • All the files that would be shared between the two workspace’s would be ‘kept’ as one single operation

      • All operations are atomic and transaction based

      • The other workspace can then checkout against the keep transaction

    • From the GUI

      • Select other users workspace > Right Click > Show history

      • Sort by operation and look for specific keep

      • Right-click transaction > Send to Workspace


Sharing Changes with Checkout

Check out entire transaction 87

Uses co (checkout) command


AccuRev

Using AccuWorkIssue Tracking System


Module Objectives

  • Open, modify and save existing issue

  • Submit a new issue

  • Create and save your default query and other queries

  • Format query results table to display specific information

  • Export query results table


Understanding AccuWork

  • AccuWork is an Issue Tracking Tool

    • Bundled with AccuRev

      • Accessed through same GUI

      • Integrated within the database

  • AccuWork and AccuRev Integration allows for change tracking

    • Change Packages

  • Issue tracking is on a per-depot basis

  • Each user creates their own queries


Accessing AccuWork

Open queries

Create a new issue

Find an existing Issue


New Query AccuWork

Setup colums to display fields

Specify the fields you wish to add to display columns


New Query AccuWork

Create a new Query

Specify the fields you wish to search


Results of Query AccuWork


Creating a New Issue

  • AccuWork issues are automatically assigned a number.

  • An issue record has a header page and a sequence of tabbed pages.

  • The issue record usually has both required and optional fields. All required fields must be entered before saving the issue record.

  • Fields can be of different types:

    • Text - any text can be entered into the field

    • Timespan - must be an integer (usually number of minutes)

    • Timestamp - date and time (any granularity can be specified)

    • Choose lists - allow you to choose from a list of options in a dropdown menu

    • User - gives the list of all AccuRev principal names

    • Attachment - allows for saving an attachment to the issue record

    • Internal - fields created by AccuRev (issue number and transaction number)


Create a New Issue

Creating a New Issue

Header Section

Multi-Tabs

All fields in RED

are required

Multi-Choice fields

and List Boxes

Standard Text Field


Opening an existing issue


Modifying an existing Issue

When the Status is New, the state is optional.

When the Status is Scheduled, State was automatically set to “Open”; Severity and Priority became required


Viewing Issue History

The complete history of an issue is tracked


Modifying Queries

Right-Click; select

Edit Query

Nested “AND” and

“OR” statements

Query on any

field and value

Set as Default Query

Set as Public

Clone Query


Modifying the Results

Define display columns

Move a column

up or down

Display a column

Remove a column


Exporting results

Export queries

Choose file type


AccuRev

Web Interface (WebUI)


Working with issues

  • Entering Issues is identical to the Client GUI

Select New Issue


AccuWork Queries in WebUI

Print Results

Export Results to XML

Select New or Existing Queries


1

2

3

4

5

1

Table Filter – Records Per Page

2

Bulk Update – Update Field(s) From Selected Records

3

Sum Columns – Sum Field From Selected Records

4

% – Calculated From Group By

5

Group By – Group Field Selection

WebUI

  • AccuWork Queries

    • Toolbar & Functionality is only in the WebUI


WebUI

2

Run Bulk Update – Update Field(s) From Selected Records

Selected records, Priority forced to 0

Selected records, Severity forced to A

Ignore or use Validation against updated fields


3

Run Sum Columns – Sum From Selected Records

WebUI


WebUI

  • AccuWork Queries with Built-in Graphs

5

Set Group By – Group Field Selection

Count Field Auto % Calculation

Mouse hovering shows % Calculation


AccuRev

Help and other info resources


Accessing Help

  • Help from the menu bar

    • Manuals (.pdf format)

  • Context-sensitive Help

    • F1 or ? (on toolbar)

  • From the CLI

    • For on-line help, type: accurev help

    • Command shell, type: accurev help <command>


Support

  • For AccuRev Support

    • Online ticket system:

      • http://support.accurev.com

      • Need a userid and password from support

    • To request a login, email support@accurev.com

    • By phone: (800)383-8170


AccuRev Forums

Self Help

  • AccuRev User Forum www.accurev.com/ubbthreads

    • General discussions about AccuRev's products and their usage

    • Share ideas with other users

    • NOT a replacement for Technical Support

  • User Contrib Area

    • Users are encouraged to share their scripts, programs and best practices with each other. This can be done anonymously if desired.

  • AccuRev/CM and AccuWork FAQs

    • Full search capabilities of online FAQs

  • Register at www.accurev.com/ubbthreads/newuser.php


Downloads and Videos

  • Downloads

    • http://www.accurev.com/downloads.html

    • AccuRev client/server releases, IDE Plugins, 3rd Party Bridge Integrations

    • Evaluation Kit

  • Documentation

    • http://www.accurev.com/documentation.html

  • Training Videos

    • http://www.accurev.com/training-videos.html


AccuRev

Questions?


Back UP Slides


Showing promoted issues

Switch to Stream Issue Mode

Default group icon shows complete active and inactive issues


Change package contents

Select stream > Right Click > Show Active Issues

Show complete active and inactive issues

The file versions that are part of the change package are displayed in the bottom pane.


Stream differences by issue

Right-click the ‘Source Stream’

Select ‘Show Diff By Issues’;

Then select the ‘Destination Stream’


Stream differences by issue

Following issues in Source Stream that are not in Destination Stream

Show issues from both directions will list issues in Destination Stream issues shown that are not in Source Stream


Cross Promote Issue

  • Simple as drag and drop


Cross Promote Issue with Conflicts

Status

Send to Workspace

Merge

Patch


Cross promoting issues

Keep (member) only status

Select and Promote

New issue 11, used to track changes for issue 9 in Eval_1.0_MAINT stream


  • Login