75 Replies Last post: Nov 24, 2011 2:32 PM by Raphael Sainte-Claire  
Francois Retief Newbie 7 posts since
Dec 14, 2007
Currently Being Moderated

Nov 12, 2008 11:31 PM

AccuRev VCS plugin for TeamCity

Hi all,

 

I am pleased to announce initial support for AccuRev SCM in TeamCity.

 

This is an early alpha release to get feedback from the community. 

 

The plug-in supports:

  • collecting changes made to a stream

  • checkout on server side

  • obtaining file content (allows diffs)

 

The plug-in currently does not support:

  • checkout on agent side

  • remote run form IDE

  • checkout rules

 

The plugin supports AccuRev v4.7.

 

More details can be found on the AccuRev plugin page.

 

Francois Retief

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Nov 13, 2008 1:17 AM in response to: Francois Retief
Re: AccuRev VCS plugin for TeamCity

Thank you Francois!

 

Have been waiting a long time for AccuRev support in TeamCity so I'm very much looking forward to trying this.

 

Will let you know how I go.

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Nov 21, 2008 9:16 AM in response to: Francois Retief
Re: AccuRev VCS plugin for TeamCity

Hey Francois,

 

My initial findings with using the plug-in:

 

Setup was pretty straightforward but I did have one issue on our Windows 2003 server, around authentication with AccuRev: it complained that the AccuRev session hadn't been authenticated yet despite the fact I had provided the appropriate username/password in the VCS root settings. I managed to get it to work by logging onto the server console and manually doing a "accurev login username password".

 

After that I had no trouble setting up a project and build configuration using the new AccuRev VCS root. After the initial population of the work area, it was extremely fast in retrieving changes when I promoted to the stream specified in the VCS root settings. Check-out rules and trigger patterns worked a treat which was very encouraging.

 

However when promoting to any parent streams of the specified stream it didn't pick up the changes. I presume this is by design, as usage of the HIST command against a stream will only ever return changes directly on that specific stream. Is that the intended behaviour? If so, had you any thoughts about practises within TeamCity to support the AccuRev stream inheritance model?

 

Wish list for the plug-in:

 

  • Ability to specify an optional "watch" Stream in addition to the Stream setting which the plug-in uses as a basis of the working area it populates. For example, say I wanted to watch for changes to Stream A, but I want TeamCity to actually populate the work area from a child stream; Stream B. In this scenario, Stream A would be the "watch" Stream.

  • Throw error on overlap detection. I'm not sure how possible this is but it would be great if TeamCity could show an error in the project list if one of the VCS roots has an overlap (i.e. conflicting changes) that will require a merge in AccuRev. The idea being that overlaps can very often cause issues in builds.

  • Poll based on AccuRev trigger. This may not be possible due to limitations in TeamCity, however it would be nice for the plug-in to only look for changes when told to do so by AccuRev, as opposed to polling the server at regular intervals for each VCS root (not sure if there are any issues yet with continuous polling in AccuRev).

 

I'm sure I'll think up some more later but again I'm really encouraged with the alpha and look forward to seeing this develop!

James Talbott Newbie 1 posts since
Nov 22, 2008
Currently Being Moderated
Nov 22, 2008 6:18 PM in response to: Francois Retief
Re: AccuRev VCS plugin for TeamCity

Francois, thanks for this information.  I wanted to give you the heads-up that AccuRev 4.7.1 will have enhancements to the command-line which will help you detect changes in a stream that have come through inheritance.  This is really geared toward continuous integration applications and will greatly assist in plug-ins like yours.

 

Keep an eye out for the 4.7.1 release in the next couple of weeks.

Cheers,

~James Talbott

Senior Systems Engineer

AccuRev, Inc.

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Nov 24, 2008 3:14 AM in response to: James Talbott
Re: AccuRev VCS plugin for TeamCity

Thanks for the heads-up James! I was just about to upgrade the whole team to 4.7 so now I'll hold off a bit for this feature.

Jamie Wither Newbie 14 posts since
Apr 16, 2009
Currently Being Moderated
Apr 16, 2009 5:16 PM in response to: James Talbott
Re: AccuRev VCS plugin for TeamCity

Hi James,

 

Did this feature make it into 4.7.1? I can't see it mentioned in the release notes.

 

Thanks,

Jamie.

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Nov 24, 2008 4:45 AM in response to: Francois Retief
Re: AccuRev VCS plugin for TeamCity

Hi Francois,

 

fgretief wrote:

The way the AccuRev login works is a pain.  Can you indicate which part complains about the login session? (e.g. change checking, checkout, etc.)  The plugin checks if it is logged in and if not, it does a "accurev login " command.

It seems to be every command that fails, even the "Test connection" button on the VCS root settings page. Is it possible that there are trailing spaces or carriage return from the CLI command under Windows that are affecting the condition? (if I look at the tomcat console there is a CR present in the response from secinfo).

 

fgretief wrote:

The TeamCity server handles the polling for changes in VCS, the plugin just do the check when told to do so. But according to the TeamCity documentation a build can be triggered via a http GET command.  One could add a GET to a server-post-promote-trig trigger on the AccuRev server to kick off a build in TeamCity.

That is definitely an idea. The only issue being that none of the checkout or trigger rules apply when you call that http GET command; you only seem to get that functionality if you use the poll-based approach (the http command is just like clicking the "Run" button in TeamCity). Given what you've said I might raise a feature request for the TeamCity guys to have a look at.

Yegor Yarko JetBrains 1,429 posts since
May 5, 2004
Currently Being Moderated
Nov 24, 2008 11:02 AM in response to: Daniel Nolan
Re: AccuRev VCS plugin for TeamCity

Daniel,

 

Actually, we already have the feature filed for VCS changes pushing. Please also see the issue comments for a way to configure the approach with the current TeamCity version.

Also, feel free to vote for the feature.

 

--
Best regards,

 

Yegor Yarko
Project Manager (TeamCity)
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Nov 24, 2008 11:15 AM in response to: Yegor Yarko
Re: AccuRev VCS plugin for TeamCity

That's fantastic... until TeamCity has the smarts to trigger at the VCS root level I can extract the build type ID from the project/build configuration file anyway.

 

Thanks for pointing out that (presumably) undocumented feature!

Derrick Rapp Newbie 2 posts since
Jul 13, 2009
Currently Being Moderated
Jul 13, 2009 7:31 PM in response to: Francois Retief
Re: AccuRev VCS plugin for TeamCity

I might have a scenario that was never thought through.  I work in an environment which has multiple AccuRev servers (different machines).  The only way I can see a single TeamCity installation working with both servers is if every call included the server name parameters ("-H server:port").  In the AccuRev code for RunProcess, there exists a setter method called setSessionToken().  If this parameter is set, the server name gets appended to every AccuRev call in the method addSecurityArgsToCommand().  Without it being set, no server information is appended.  In the TeamCity AccuRev plugin, I see no reference to this method call.  Is there a reason why I can't find it?  Can someone look into this and add it?  I may end up playing around with adding it myself locally.

 

Thanks

Derrick Rapp Newbie 2 posts since
Jul 13, 2009
Currently Being Moderated
Jul 14, 2009 5:55 PM in response to: Francois Retief
Re: AccuRev VCS plugin for TeamCity

Hi Francois,

I rarely read documentation for the reason that it is oh so often incomplete.  I go straight to decompiling.  I am using the exact same version of the AccuBridge library that you've included in the plugin.  I'll email you directly my code.  I worked on this yesterday and got it working.  Look for files with a July 13th timestamp and do a diff between them and your version to see what I've changed.  If you merge the changes into the trunk and create a new build, let me know so that I can convert back to your build.

 

thanks

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Jul 23, 2009 7:10 AM in response to: Francois Retief
Re: AccuRev VCS plugin for TeamCity

Hi Francois,

 

Regarding the "inherited changes do not appear in the stream" issue, have you had a chance to look at implementing the enhancements to the ACCUREV DIFF command?

 

As of 4.7.2 you can now get a full list of changed elements betwen two transaction references, including all of the inherited changes. The command you use goes something like this:

 

accurev diff -a -fx -i -v [STREAM_NAME] -V [STREAM_NAME] -t[TRANS_START]-[TRANS_END]

 

e.g.

 

accurev diff -a -fx -i -v MyStream -V MyStream -t10001-10003

 

This will return an XML list of elements from the specified stream as well as all parent streams. Note that the same [STREAM_NAME] is specified twice in the command.

 

The workaround we've been using for this has been to write our own "check out" script using an AccuRev Reference Tree, but these are not without their problems!

 

If you're time poor at the moment I might be tempted to have a go at this myself. Overall my team has found this plugin invaluable, particularly in unlocking the build triggering/vcs root rule functionality in TeamCity. Thanks again for your efforts on this.

 

Dan

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Jul 30, 2009 4:39 AM in response to: Francois Retief
Re: AccuRev VCS plugin for TeamCity

Hi Francois,

 

They're all the possible What values that I could find, looking at our own stream histories.

 

It is kind of strange that AccuRev have failed to document such an important feature properly. I think I got the syntax from the release notes.

 

This may just be me venting but overall there seems to be a bit of a lack of a focus on Continuous Integration at AccuRev, as evidenced by the fact the company hasn't released a single AccuBridge for any CI server.  I find this particularly ironic considering the software is promoted as a best-of-breed product for "multi-stage Continuous Integration".

 

Having said that I would never want to use another SCM tool.

 

Dan

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Sep 18, 2009 2:40 PM in response to: Francois Retief
Re: AccuRev VCS plugin for TeamCity

Francois,

 

I've had a try at incorporating the AccuRev DIFF command into the plugin.

 

One challenge I encountered is that the command actually returns a flat list of changes for a given Transaction range. What we really want to know is on what stream(s) the changes were made, when, by whom, etc.

 

The solution I implemented is as follows:

 

  1. When the "CollectBuildChanges" method is called, it performs the DIFF command using the "from Transaction" to the most recent Transaction ID within the entire depot.
  2. If any Changes are returned, it performs the HIST command on the specified stream (as per the current version) using the same Transaction ID range, and attempts to match each DIFF Change against a Transaction that is returned. Any found Changes are flagged as "matched" and added to the Modification collection.
  3. If there are any Changes left that are not flagged, then it recurses up a level in the stream hierarchy and repeats Step 2. The recursion continues until either the root stream is encountered or all Changes in the collection have been flagged.
  4. If there are still Changes left after encountering the root node, it adds the remaining Change items to a single Modification item with the description "Other Inherited Changes". This will tend to happen if you make a change to a stream, e.g. changing the stream's basis time.

 

We've been trialling/testing the changes in our shop for the past week and so far so good. In particular the devs really appreciate being able to see the inherited parent stream changes flow down to their builds. One nice side effect of this is that having a "watch stream" is now possible, due to the fact the plugin will now collect changes all the way up the stream hierarchy. Also, using AccuRev include/exclude rules on the watch stream has become a very nice alternative to TeamCity VCS checkout rules because it will directly affect what gets populated in the TeamCity work areas and also in the AccuRev DIFF lists.

 

One last thing I need to do is to get my site working with Derrick's "set token" changes (for some reason it won't authenticate for me at the moment). Please let me know if you'd like to try the changes and possibly put them into the trunk.

 

Cheers

Dan

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Oct 19, 2009 4:47 PM in response to: Francois Retief
Re: AccuRev VCS plugin for TeamCity

Pleased to announce the following changes have now been committed:

 

- INHERITED CHANGES SUPPORT ADDED
Promoted changes inherited by the VCS root stream are now included in the TeamCity changes list (previously only promotes directly affecting the VCS root stream were included). Any other changes, such as reverts, stream basis time modifications, or changes resulting from re-parenting of a stream are grouped into a generic change group with the comment "OTHER INHERITED CHANGES".

 

- DEFUNCTED/REVERTED ELEMENTS SUPPORT ADDED
Versions of files or directories that are removed from a stream will now show as removed or edited (depending on the outcome) in TeamCity.

 

BUG FIXES
- AccuRev plugin error "Index: 0, Size: 0"
http://youtrack.jetbrains.net/issue/TW-6883

 

- AccuRev plugin error "Unable to find the last transaction ID!"
http://youtrack.jetbrains.net/issue/TW-6884

 

- (TBC) AccuRev plugin update problems
http://youtrack.jetbrains.net/issue/TW-8017

 

- Changes to existing elements in AccuRev were sometimes showing as "added" elements instead of "edited" (occurred the first time an existing element was promoted to a stream).

Phillip Reed Newbie 20 posts since
Oct 1, 2009
Currently Being Moderated
Oct 24, 2009 1:59 AM in response to: Daniel Nolan
Re: AccuRev VCS plugin for TeamCity

I just tried upgrading our TeamCity server to use the newest version of the AccuRev plugin (we were previously using 0.2), and this version breaks for me.  When it tries to run the "accurev update" command, the command fails and prints its help page as though it doesn't recognize the arguments that are being passed to it; I think it doesn't recognize the "-p" option (at least, I don't see that option in any of the official documentation, and it fails when I try to run it manually).  This leads to the AcRunCommand class getting an IndexOutOfBounds exception when it tries to parse the XML output.  I made a bug case here: http://youtrack.jetbrains.net/issue/TW-9872

 

Any idea what might be going on?

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Oct 26, 2009 2:14 PM in response to: Phillip Reed
Re: AccuRev VCS plugin for TeamCity

This may have something to do with the plug-in's handling of the "Clean all files before build" option on the VCS settings page, but I'll need to confirm that after some investigation.

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Oct 26, 2009 2:07 PM in response to: Phillip Reed
Re: AccuRev VCS plugin for TeamCity

Confirmed the issue was in the 'clean build' option; was a victim of some last minute refactoring of mine.

Now fixed in latest build: http://teamcity.jetbrains.com/viewLog.html?buildId=26515&buildTypeId=bt138&tab=artifacts

Phillip Reed Newbie 20 posts since
Oct 1, 2009
Currently Being Moderated
Oct 26, 2009 4:26 PM in response to: Daniel Nolan
Re: AccuRev VCS plugin for TeamCity

The fix worked for me, and everything seems to be fine now. Thanks!

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Dec 12, 2009 4:17 PM in response to: Francois Retief
Re: AccuRev VCS plugin for TeamCity

A bug which can cause failure of change list population and prevention of build execution has just been fixed.

We discovered the issue this week when element ID of a directory/file changed during a 'move' operation.

 

Build available here: http://teamcity.jetbrains.com/viewLog.html?buildId=29123&buildTypeId=lastSuccessful&tab=artifacts

Phillip Reed Newbie 20 posts since
Oct 1, 2009
Currently Being Moderated
Jan 20, 2010 5:48 PM in response to: Daniel Nolan
Re: AccuRev VCS plugin for TeamCity

I found and submitted another bug a few weeks ago: http://youtrack.jetbrains.net/issue/TW-10438

 

I was just curious if you had seen that, since there haven't been any official comments on the case.

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Jan 20, 2010 11:53 PM in response to: Phillip Reed
Re: AccuRev VCS plugin for TeamCity

Hi Phillip,

 

Apologies for that, unfortunately I don't have a way of subscribing to those YouTrack bugs at the moment.

 

Regarding the issue, I'm not entirely sure what's going on here. Can I suggest you try manually running this command on your TeamCity build server and let me know if the permissions are retained?

 

accurev pop -H [accuRevServerName] -fx -R -O -v [streamNameToPopulateFrom] -L [directoryToPopulateInto] \.\

 

e.g. accurev pop -H accurev:5050 -fx -R -O -v FR -L E:\Program Files\TeamCity\temp\accurev6205070683 \.\

 

This is the same command that the plugin uses to initially populate the vcs root's working area.

 

By the way I've noticed that TeamCity seems to populate a separate directory to where the build actually takes place, i.e. it first populates a TEMP directory similar to the one mentioned here and then transfers those files over to WORKING. Not sure if anything is being lost in that file transfer but it's something to bear in mind.

 

Dan

Phillip Reed Newbie 20 posts since
Oct 1, 2009
Currently Being Moderated
Jan 21, 2010 12:30 AM in response to: Daniel Nolan
Re: AccuRev VCS plugin for TeamCity

Manually running "accurev pop" does produce files with the right permissions.

 

I'm not really familiar with how TeamCity moves around files internally, but we have a central build server and several build agents that connect to it; based on what I've observed, it looks like the "accurev pop" command is run on the TeamCity server and then it uses some other mechanism to copy the files over to the agents where the compilation is actually done.  Perhaps the executable flag is being lost during that transfer?

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Jan 21, 2010 12:37 AM in response to: Phillip Reed
Re: AccuRev VCS plugin for TeamCity

That's interesting. Just to be absolutely sure about this though, do you use the "clean all files before build" option on the Version Control Settings tab (this causes the ACCUREV POP command to be called every time, instead of an UPDATE)? If not if you could try that and confirm the permissions are still being lost... that would be a good case for JetBrains to take this up.

Phillip Reed Newbie 20 posts since
Oct 1, 2009
Currently Being Moderated
Jan 21, 2010 12:54 AM in response to: Daniel Nolan
Re: AccuRev VCS plugin for TeamCity

Currently the "Clean all files before build" checkbox is disabled for all of our configurations.  For what it's worth, I can verify that in all of my normal AccuRev workspaces, running the "update" command doesn't cause files to lose their permissions.

 

I can try it, but even if it works, I don't think that will really be feasible for us in the log run... we have several projects with multiple build configurations each that have source trees that are several GBs in size, and repopulating the tree every time a build is triggered could cause some serious performance issues.

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Jan 21, 2010 2:31 AM in response to: Phillip Reed
Re: AccuRev VCS plugin for TeamCity

That's cool, I was mainly interested just to try it to see if the problem was limited to the UPDATE command.

 

So if its not the update that is responsible, the culprit is more likely to be the plumbing between the agents and the central build server. Unfortunately this is all controlled by TeamCity so I'm not sure how much can be done with the plug-in. Perhaps this is worthy of a broader post on the TC forums?

Eugene Petrenko JetBrains 2,213 posts since
Oct 4, 2004
Currently Being Moderated
Jan 21, 2010 1:08 PM in response to: Daniel Nolan
Re: AccuRev VCS plugin for TeamCity

Please have a look to the comment for the mentioned issue at

http://youtrack.jetbrains.net/issue/TW-10438#comment=27-92865

 

Actually, TeamCity provides PatchBuilder interface for tha plugins to build a patch.

This is done on the server.

The patch is send to the build agent and that executed in the same order as it was built.

 

The command of updating a file contains fileMode arguement. If that argument != null, build agent will run chmod command for the local file.

Does AccuRev plugin use this attribute?

 

On the other hand, agent side checkout will let plugin do update local filesystem.

Yegor Yarko JetBrains 1,429 posts since
May 5, 2004
Currently Being Moderated
Jan 21, 2010 11:24 AM in response to: Daniel Nolan
Re: AccuRev VCS plugin for TeamCity

Daniel,

 

Actually, there seems to be a way to subscribe to issue events in YouTrack.

 

You can try the following:

  • Search for the issues you are interested in (e.g. #{3rd party: AccuRev plugin} #Unresolved)
  • Click "Save this search" below the search field and give a name to the search.
  • Go to your Profile, Filters and Notifications and tick necessary options for the Saved Search.
Phillip Reed Newbie 20 posts since
Oct 1, 2009
Currently Being Moderated
Jan 26, 2010 11:08 PM in response to: Daniel Nolan
Re: AccuRev VCS plugin for TeamCity

I've seen another issue occur where occasionally, the sources on the build agent will stop updating, even though the TeamCity GUI indicates that the sources have been updated and rebuild.  I went ahead and entered a case here: http://youtrack.jetbrains.net/issue/TW-10825

 

Unfortunately, I haven't yet figured out how to reliably reproduce it, but I have seen it happen a few different times, so it definitely wasn't a one-time fluke.

Steven Craft Newbie 51 posts since
Jul 22, 2008
Currently Being Moderated
Apr 15, 2010 1:52 PM in response to: Francois Retief
Re: AccuRev VCS plugin for TeamCity

Has anyone tested the latest plugin with TeamCity 5? We recently setup a TeamCity 5 server, running under Linux, I have installed the latest AccuRev plugin, but it doesn't seem to detect changes anymore. When I click build it does seem to pick up the correct source code, but the monitoring of changes doesn't appear to be working.

 

Previous I was using TeamCity 4.5 on a Windows box, so there are a number of things that have changed now - not sure which one has caused this issue?

 

Any ideas?

 

Steve

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Apr 16, 2010 9:20 AM in response to: Steven Craft
Re: AccuRev VCS plugin for TeamCity

Hi Steve,

 

Actually I'm not sure myself since we haven't upgraded to TC 5.0 yet (we're still on 4.5).

 

I've just installed 5.0 on a test Windows server so will set it up and see if it still works. Will let you know how I go.

 

Cheers

Dan

Steven Craft Newbie 51 posts since
Jul 22, 2008
Currently Being Moderated
Apr 16, 2010 1:09 PM in response to: Daniel Nolan
Re: AccuRev VCS plugin for TeamCity

Fantastic.

 

Thank you.

 

Hopefully your endeavours with your test Windows box will issolate if the issue is with TeamCity 5 or with the fact I am now running a Linux based server now.

 

Steve

Steven Craft Newbie 51 posts since
Jul 22, 2008
Currently Being Moderated
Apr 16, 2010 6:29 PM in response to: Daniel Nolan
Re: AccuRev VCS plugin for TeamCity

Just to keep you in the loop, we have tested it on a Windows test server (running 5.x) and it appears to be working, so I wonder if the problem is specific to Linux. Do you know if anyone has run this plugin with a Linux server before? We have compiled the plugin ourselves, are there any areas that spring to mind that might have issues with Windows/Linux differences that we could look at?

 

Steve

Phillip Reed Newbie 20 posts since
Oct 1, 2009
Currently Being Moderated
Apr 19, 2010 7:25 PM in response to: Steven Craft
Re: AccuRev VCS plugin for TeamCity

For what it's worth, we're running TeamCity 4.5 on an Ubuntu Linux 8.04 server with the AccuRev plugin, and we haven't encountered the issue mentioned above.  In fact, the issue we have is practically the opposite -- sometimes it will detect changes in the source stream but not actually download the new source code. :-)  The case is detailed here: http://youtrack.jetbrains.net/issue/TW-10825?query=%23{3rd+party%3A+AccuRev+plugin}+%23Open

Steven Craft Newbie 51 posts since
Jul 22, 2008
Currently Being Moderated
Apr 19, 2010 7:37 PM in response to: Phillip Reed
Re: AccuRev VCS plugin for TeamCity

Doh, got to the bottom of it, I was pointing it at our old AccuRev server, Oops!

 

Sorry for the confusion, we can now successfully debug the AccuRev plugin in Eclipse now though.

 

We don't actually use the AccuRev plugin to checkout our code for us, as it takes ages (about 20 minute), we just use it to monitor streams and decide when builds should run, then from inside the build runner we checkout the code manually (which takes about 40 seconds) - so we may extend the plugin to add client side checkout support. If we get this done in a half decent manner I will try and get it shared back on here so others can make use of it, should they wish to.

 

Steve

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Apr 20, 2010 7:10 AM in response to: Steven Craft
Re: AccuRev VCS plugin for TeamCity

I'm glad to hear that Steve, thanks for the update!

 

Regarding the checkout problem, I have finally got off my lazy behind and raised this with AccuRev.

 

One thing that may really help is if anyone experiencing the problem could post snippets of their "stdout_yyyymmdd.log" file (available in the "<TeamCity Data Dir>\Logs") from around the time that the bug occurs. It might be a bit of to-and-fro to get this one resolved.

 

For anyone interested, the workaround for this we use is to create a sub-stream under the stream we want to checkout from. We then add include/exclude rules to that sub-stream so that only the elements that are required for that particular build are included in the checkout. We then setup the TeamCity VCS root to monitor that sub-stream, which in turn watches all of its parent streams. This generally results in much faster build times because only the required files are monitored for changes and retrieved during the "clean build", rather than the entire depot. This has helped us keep all of our build processing times < 4 minutes total. I can understand that this may not work for everyone, though.

Steven Craft Newbie 51 posts since
Jul 22, 2008
Currently Being Moderated
Apr 20, 2010 12:26 PM in response to: Daniel Nolan
Re: AccuRev VCS plugin for TeamCity

What we do is create a temporary stream (or multiple temporary streams if there are multiple concurrent checkouts), and then parent said stream to the stream we are interested in, and then set a time basis to the transaction ID we are interested in. We then use the populate command to get a copy of the code. As I mentioned, this whole process normally takes around 40 seconds on our new server, where as we find the plugin takes substantially longer. We have always found this with the plugin, I wondered if it was to do with the fact our checkout side is about 1 GB so it just took a while to do what ever it is it currently does (as it is doing it server side, I am presuming it has to send the files back over to the agent, not sure what overhead is there?).

 

Steve

Abraham Odamteng Newbie 38 posts since
Apr 16, 2010
Currently Being Moderated
Apr 21, 2010 9:26 PM in response to: Francois Retief
Re: AccuRev VCS plugin for TeamCity

I have augmented to AccurevPlugin to support agent side checkout.

This has reduced the amount of time required to perform a checkout from 16 Minutes to under 2 minutes.

We would like to get theses changes integrated into the official plugin and were wondering how to proceed.

 

Please advise:

Thank you

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Apr 22, 2010 3:00 AM in response to: Abraham Odamteng
Re: AccuRev VCS plugin for TeamCity

Hi Abraham,

 

That's fantastic, if you'd like to send on your source code changes to me I can check them into the trunk.

 

Thanks,

Dan

Phillip Reed Newbie 20 posts since
Oct 1, 2009
Currently Being Moderated
Apr 23, 2010 5:21 PM in response to: Daniel Nolan
Re: AccuRev VCS plugin for TeamCity

For what it's worth, I would be eager to help test this if any help is needed. :-)

 

A quick question about the implementation of agent-side checkout: does it account for AccuRev possibly being installed in different locations on different build machines?  On some of ours it's in /usr/local, on others it's in /opt... it'd be great if it looks for it either in the PATH or if there's an agent-specific property that can be set to indicate where it is.

Abraham Odamteng Newbie 38 posts since
Apr 16, 2010
Currently Being Moderated
Apr 23, 2010 7:16 PM in response to: Phillip Reed
Re: AccuRev VCS plugin for TeamCity

the Build agent expects accurev to be on the path.

Abraham Odamteng Newbie 38 posts since
Apr 16, 2010
Currently Being Moderated
Apr 23, 2010 7:19 PM in response to: Daniel Nolan
Re: AccuRev VCS plugin for TeamCity

We are just putting the finishing touches to the plugin.

I will send you the source code once we have eliminated all the major bugs.

Thanks

Abraham Odamteng Newbie 38 posts since
Apr 16, 2010
Currently Being Moderated
Apr 23, 2010 8:30 PM in response to: Daniel Nolan
Re: AccuRev VCS plugin for TeamCity

I have attached all the files to this post

Attachments:
Phillip Reed Newbie 20 posts since
Oct 1, 2009
Currently Being Moderated
Apr 24, 2010 1:47 AM in response to: Abraham Odamteng
Re: AccuRev VCS plugin for TeamCity

Thanks!  I upgraded the plugin on our server and so far everything seems to be working well.

Steven Craft Newbie 51 posts since
Jul 22, 2008
Currently Being Moderated
Apr 24, 2010 3:28 PM in response to: Phillip Reed
Re: AccuRev VCS plugin for TeamCity

Fantastic. We have had it running on our test server for more than a day now, and so far, so good. Up until now we have had all the AccuRev populate code living in our build runner, so it is nice to now have everything done in the right place. A few of the changes Abe has made are reasonably specific to our requirements (being able to have separate watch/populate streams, being able to specify a populate subdir in the VCS node, doing an agent side populate from a time based stream) but hopefully they'll work well for everyone else too.

 

Initially I wasn't very keen on having these 'temporary' streams created for Teamcity agents, but now I find it quite useful as you can see (in AccuRev) exactly what code an agent is checking out, and even attach a workspace to the stream and get the code yourself.

 

The two remaining things on our potential improvements list is:

 

- Being able to trigger an AccuRev promote upon successful build/tests, although right now we haven't found a way to do this.

- Adding personal build support - right now it seems this is quite linked in to IDE's so isn't so straight forward to do. But at some point we'd like to be able to send up a users workspace for building/testing

 

If anyone has any other ideas of useful features it'd be worth while posting on here, be interested in seeing what other things could be handy!

 

Steve

Phillip Reed Newbie 20 posts since
Oct 1, 2009
Currently Being Moderated
Apr 26, 2010 8:20 PM in response to: Steven Craft
Re: AccuRev VCS plugin for TeamCity

Based on my observations, it seems like when build configurations are set to checkout-on-agent mode, every time a build runs it re-populates the directory from TeamCity's build stream.  This can take a while for large streams, and waiting a few minutes for it to repopulate when only a few files have changed seems a bit excessive.

 

It seems to me like it would be a good idea to, in addition to creating a stream for each build agent and each VCS root, also create a reference tree off of that stream so that the "accurev update" command can be used to quickly change between revisions without repopulating the directory.

Steven Craft Newbie 51 posts since
Jul 22, 2008
Currently Being Moderated
Apr 27, 2010 2:08 PM in response to: Phillip Reed
Re: AccuRev VCS plugin for TeamCity

We haven't used reference trees for anything here; we have about a 1GB populate from AccuRev, which takes around 1 minute; I have experimented with using a workspace instead, but for us, the amount of time it takes to completely revert the workspace (and remove external files and so on), to get the workspace back to its populated state, took as long or longer than doing a fresh populate. From what I have read about reference trees so far, it sounds like they'd have the same issue.

 

What size checkout do you have? How long does it take? How long does it take you to fully revert a reference tree to get its back to it's populated state? It'd be interesting to compare notes.

 

Steve

Phillip Reed Newbie 20 posts since
Oct 1, 2009
Currently Being Moderated
Apr 27, 2010 6:00 PM in response to: Steven Craft
Re: AccuRev VCS plugin for TeamCity

Not all of our build agents are on the same network segment as our AccuRev server (in fact I don't know if any are...), and some of them have to go through 100 Mb/s links, so it's not necessarily very fast -- we've got one 1.1 GB source tree that I regularly see 3-4 minutes to populate, and a 3.6 GB tree that takes 10-12 minutes.  There are other trees, too, but those are getting the most activity at the moment.  That same 3.6 GB tree has 61 build targets that depend on it, so it takes a long time to do a complete build if it repopulates the work directory for every build. :-)

 

Maybe I'm not clear on something -- is the AR plugin cleaning out the source tree between every build?  I wouldn't expect that to happen unless the "Clean all files before build" flag is explicitly turned on.  In fact, we have a few build scripts that expect the artifacts from the previous build to still be there.  (I know, it's bad, but they're legacy scripts that were in place long before we started using TC, and we haven't had the time to rewrite them.)  If the agent-side checkout code was using a reference tree for building, I would expect it to just do an "update" between builds and leave any modified or external files in place unless it was specifically told to clean the agent's sources.

 

In practice, if we ignore any modified or external elements and simply use "accurev update" to move between different versions of a workspace or reference tree, how long it takes only depends on how much has changed; it only takes maybe 10-15 seconds to update a workspace that's had only a few changes.  In the worst-case scenario, it takes about as long as a normal full populate would.  We have our build configurations in TC set up to automatically rebuild whenever something in the appropriate directories has changed, so usually changes to the stream between builds are minimal; when using the checkout-on-server mode, it usually takes maybe 10-15 seconds for the server to acquire the changes and copy them over to the build agent.  I haven't done any specific testing with reference trees, but I would expect them to be about the same; from what I understand, they're basically like read-only workspaces that are specifically intended for automated building.

 

If you actually need to do a complete wipe and repopulate of a workspace with the latest code from its parent stream, probably the easiest way to do that is to just delete the whole directory, then run "accurev update -9" and then do a populate.  If you're not familiar with "update -9", it's an undocumented flag that marks a workspace as being "updated" in AR's database but does not actually change any files on the disk.  Its use is usually not recommend, but sometimes it's helpful.

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Apr 28, 2010 4:13 AM in response to: Steven Craft
Re: AccuRev VCS plugin for TeamCity

Just out of interest Steve, what is the specific requirement you have for different streams for populate vs watch?

 

I only ask because the plugin already checks all of the parent streams (presuming your populate stream is a child of your watch stream). Is the goal to avoid detection of changes on the populate stream?

Steven Craft Newbie 51 posts since
Jul 22, 2008
Currently Being Moderated
Apr 28, 2010 12:36 PM in response to: Daniel Nolan
Re: AccuRev VCS plugin for TeamCity

We have a reasonable sized code base in AccuRev, so we have filter streams to get rid of a lot of unnecessary content for a given project, and then have everyone parent off of the filter stream. The problem we found previously was when attached to the filter stream we didn't see changes from above, but as you say, this has now been fixed, but something else we (well Abe) is adding for support for now is the ability to promote on success (optional), which wouldn't work if we just pointed directly at the filter stream (there'd be nothing to promote in the filter stream). So we end up having it something like:

 

Watch : ProjectA_GAMEBUILD

Populate : ProjectA_GAMEBUILD_Filter

 

And if that succeeds, it automatically promotes the code in ProjectA_GAMEBUILD, up to the transaction tested.

 

Maybe there is a better way to do all this? It is what we have been doing up till now (with out own batch files to handle the AccuRev side), so we are just trying to get it a bit more integrated with the plugin.

 

On a side note, we have noticed the 'seeing changes from above streams' doesn't stop at snapshots (not sure about time based streams) - we were going to have a look ourselves at fixing this, unless it is something you are already fixing, or know can't be done due to AccuRev limitations etc.?

 

Steve

Abraham Odamteng Newbie 38 posts since
Apr 16, 2010
Currently Being Moderated
Aug 9, 2010 5:44 PM in response to: Abraham Odamteng
Re: AccuRev VCS plugin for TeamCity

I have made some enhancements to the accurev plugin.

 

I have attached the changelog and the source code to this post.

 

Appologies for the lack of details in the change log.

I made the changes over many weeks/months and some of the details escape me.

 

Any problems just let me know.

Thanks

Attachments:
Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Aug 10, 2010 7:53 AM in response to: Abraham Odamteng
Re: AccuRev VCS plugin for TeamCity

Thanks Abraham,

I'll take a look at the changes you've provided.

 

By the way, I've meant to mention that I've been in contact with AccuRev regarding the incremental workspace update problem (i.e. the issue that occurs when the "clean all files before build" option is not checked).

 

They have indicated that the method that was implemented in the plugin is not supported. The method that is used is basically a single "ACCUREV UPDATE" CLI command with a transactional range (From Transaction A to Transaction B/C/D/E/etc), however AccuRev have indicated that only one transaction can be specified at a time using this command.

 

This would explain why on some occasions changes don't get retrieved from the repository, because in order to do so you would need to make individual calls to "ACCUREV UPDATE"  to retrieve changes in Transactions B, C, D and E.

 

I'll have a look at implementing this change when I have some downtime, unless of course someone else is keen to have a go!

Mark Baker Newbie 65 posts since
Sep 8, 2010
Currently Being Moderated
Sep 8, 2010 8:34 PM in response to: Daniel Nolan
Re: AccuRev VCS plugin for TeamCity

We are just getting started with TeamCity but we use Accurev very heavily so are interested in contributing to development of the Accurev Plugin.

 

We have around 10GB of source code/data that we push around via (yeah, I know, too much really) so having efficient Agent-side updates is going to be a big concern for us.

 

We're still getting set up for plugin development etc but if there are pending things to do that people haven't got time to look at, please let me know about them as we will have some resources to contribute to this

 

Cheers,

 

Mark

Steven Craft Newbie 51 posts since
Jul 22, 2008
Currently Being Moderated
Sep 8, 2010 8:44 PM in response to: Mark Baker
Re: AccuRev VCS plugin for TeamCity

10 GB, wow that's quite a lot. What is it you work on, if you don't mind me asking - I'm just curious!

 

The agent side plugin was just developed to meet our needs initially, which is to do a fresh AccuRev populate of the given stream at the given transaction. We have about 1 GB of source code and it takes a minute or two to populate it, I don't think you'd want to do that every time with 10 GB of data. So I think the first thing you'd want on the agent side checkout side of things is to implement an incremental checkout option. We were going to look into this by using reference trees, but as of yet we haven't started on this task (and hadn't got it penciled in for anytime too soon). Ideally this would also make sure the source tree ends up correct, e.g. if the build processes modified a sources file, that source file should be reverted etc.

 

There are probably a few other enhancements to the plugin that could be made, if I think of any good ones I'll post here!

 

Steve

Mark Baker Newbie 65 posts since
Sep 8, 2010
Currently Being Moderated
Sep 8, 2010 9:15 PM in response to: Steven Craft
Re: AccuRev VCS plugin for TeamCity

We are part of Disney and make Racing-type games on PS3 and Xbox 360. Thus far (for Disney) we've done Split/Second: Velocity and Pure: http://www2.disney.co.uk/disneyinteractivestudios/blackrockstudio/

 

My role as part of that is being Lead of the Infrastructure team that supports our game teams with code/data builds, web apps and maintains a pool of consoles and blades for lots of automated builds and tests. This is a bit of a growth area for us as we've gone from 4 build machines about 3 years ago to 40+ build blades and 24 test consoles. We do a lot of automated testing ;-)

 

A lot of our accurev workspace size is taken up by 3rd party libraries, which we tend to check in for easier deployment (e.g. things like Havok, Qt, Fmod and platform SDKs). Right now that's about 70% of the workspace, so we do have a plan to move over to a more linux-style 'package' system that would manage installing those libs on-demand on a machine and sharing them between multiple workspaces.  When you have multiple workspaces on a single machine, it eats up a lot of space right now.

 

We have a lot of our own source code too, as well as some (small) test assets that get checked in to be used in unit tests, so that all adds up and we'd still have about 3GB of source 'code' even after stripping out out 3rd party libs.

 

We do have an existing continuous integration system that is a bespoke one - it's basically a bunch of python scripts (we really like python) that run on each build machine and periodically grab code from Accurev to test. It has worked well for us in the past but as we want to do more advanced things (like splitting builds between machines and automatically grabbing a 'free' machine to use, recovering from machine failure) and need a better UI for changing build configurations, we've decided to move over to TeamCity.

 

Incremental checkout (or 'update' in Accurev terminology) is going to be a big issue. To start with we are going to lock each build configuration to a specific Agent, so incremental checkout would be a big win for us. (also this mirrors what we've done in the past with our bespoke system). This will need an accurev Workspace be created per Configuration/Agent combination, but that shouldn't be a big problem as they are pretty cheap in Accurev.

 

 

The same is going to be needed for our Perforce data, but I believe that plugin already supports it to some extent (at least in the beta 6.0 version if nothing else). Our perforce data (which is the game's raw data) will REALLY need incremental update because its over 100GB for a full set of data.

 

 

In the longer term I hope to move both Accurev/Perforce data into more of an 'on demand pull' system that grabs files from the server only when they are opened by a build process, rather than syncing everything up front. This would save a huge amount of bandwidth!

Mark Baker Newbie 65 posts since
Sep 8, 2010
Currently Being Moderated
Oct 8, 2010 2:58 PM in response to: Steven Craft
Re: AccuRev VCS plugin for TeamCity

Hi all,

 

I'm very happy to say that we've just started work on improving the Accurev plugin to cover our use cases.

Initially that is to add a couple of things:

 

Agent-side checkout

This is a must-have for us; right now we are doing this using a python script on the agent, which works but isn't neat and throws off build timing (as the update/sync time is counted as part of the build time)

We handle building from a specific Accurev Transaction by creating a timelocked stream and workspace, as this is currently the only way to get this behaviour in Accurev.

 

Limited support for checkout rules

We want to specify that Accurev syncs to a sub-folder of the TeamCity Checkout directory, because for some builds we have checkouts from both Accurev and Perforce and obviously don't want them both writing to the same directory.

Right now the Accurev plugin doesn't seem to support the rule we want, so we'll be adding support for it.

In the future we might add more checkout rule support e.g. for including/excluding things from a Workspace based on the checkout rules, but for now we'll be implementing that by using additional Streams in Accurev and applying the include/exclude rules to them.

 

I'm hoping to have both of these working in the next couple of weeks, so should be able to update the plugin with our changes soon after that.

 

Cheers,

 

Mark

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Oct 12, 2010 4:58 AM in response to: Mark Baker
Re: AccuRev VCS plugin for TeamCity

Hi Mark,

 

That's great to hear! Incidentally are you using Abraham's version as a baseline or the trunk version?

 

I'm just back from a trip but will have some more time now to have a look at all these great new features.

 

Regards,

Daniel

Mark Baker Newbie 65 posts since
Sep 8, 2010
Currently Being Moderated
Oct 12, 2010 2:31 PM in response to: Daniel Nolan
Re: AccuRev VCS plugin for TeamCity

danere wrote:

 

Incidentally are you using Abraham's version as a baseline or the trunk version?


 

We are currently using the trunk version, which I had thought included the zip files posted here but now I realise they don't. Oops!  Is that in branch somewhere already? We're going to take a look at the version from Abraham and most likely start from there.

 

We've already noticed the plugin is using the "old style" VCS APIs, but figured we'd get it working with those first and then look at porting over to the new API as a separate task.

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Oct 13, 2010 11:34 AM in response to: Mark Baker
Re: AccuRev VCS plugin for TeamCity

That was my bad, I should have tried it out and looked at checking it in.

 

Would you like to code your changes on top of his version?

 

Holding off on the API migration for the moment is probably the path to least resistance, I would agree .

Mark Baker Newbie 65 posts since
Sep 8, 2010
Currently Being Moderated
Oct 13, 2010 12:45 PM in response to: Daniel Nolan
Re: AccuRev VCS plugin for TeamCity

Hi Daniel,

 

No problem at all, after looking at the new version we were very happy to base our changes from it as it already implemented a lot of what we wanted anyway!

For example, it already included a 'sync to subdirectory' in the VCS Root options so we don't need to implement Checkout rules after all.

 

We have added incremental sync to it and are testing it out at the moment.  We also now create a timelocked stream as I mentioned before.

 

I could share a zip of sources/precompiled bin here when we're done or check it in to the repository - whatever is going to be better.

 

Cheers,

 

Mark

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Oct 14, 2010 2:40 AM in response to: Mark Baker
Re: AccuRev VCS plugin for TeamCity

That's great Mark!

 

I'll talk to the TeamCity guys about getting you checkin access. For the moment it may be easier just to post the code as a zip.

 

Also I realise I still have a bugfix to checkin that I did recently to address an unhandled collect changes scenario. I'll patch this into your new version when you're done and then check it in.

 

Cheers,
Dan

Daniel Polistchuck Newbie 3 posts since
Sep 14, 2010
Currently Being Moderated
Sep 14, 2010 1:07 AM in response to: Francois Retief
Re: AccuRev VCS plugin for TeamCity

Hi Folks,

 

I have tried to enable the VCS labeling option for Accurev and it seems to have no effect. I have selected the "Successful only" radio button and checked the VCS root to label.

Are snapshots supported in this plugin?

 

Best Regards,

 

Daniel

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Oct 12, 2010 4:52 AM in response to: Daniel Polistchuck
Re: AccuRev VCS plugin for TeamCity

Hi Daniel,

 

I've never actually used this option so I'm not sure about the support aspect, but looking at the codebase there's definitely code implemented for the "label" function.

 

It looks as though it outputs some debugging information in the TeamCity logs. Is there anything illuminating in there?

 

Dan

Daniel Polistchuck Newbie 3 posts since
Sep 14, 2010
Currently Being Moderated
Oct 12, 2010 7:24 AM in response to: Daniel Nolan
Re: AccuRev VCS plugin for TeamCity

Hi Dan,

 

You're right... the stdout _YYYYMMDD.log file shows all accurev commands issued during a build.

An mksnap command is being executed which works perfectly well from the command line, but doesn't seem to make any difference during a TeamCity build... strange.

I'll take a closer look at this on Wed (tomorrow is a national holiday in Brazil) and will post here any findings I happen to come across.

 

 

Cheers,

 

Daniel

Abraham Odamteng Newbie 38 posts since
Apr 16, 2010
Currently Being Moderated
Oct 21, 2010 8:08 PM in response to: Francois Retief
Re: AccuRev VCS plugin for TeamCity

I am about to make further changes to the accurev plugin.

Can I please have access to the plugin's Version control repository.

 

Thanks

Mark Baker Newbie 65 posts since
Sep 8, 2010
Currently Being Moderated
Oct 21, 2010 8:31 PM in response to: Abraham Odamteng
Re: AccuRev VCS plugin for TeamCity

Hi Abraham,

 

I have a number of changes to commit myself.

 

We've not cleaned them up fully yet but I can quickly bundle up what we've got an post here as a zip.

 

UPDATE: attached source and prebuilt zips

 

Cheers,

 

Mark

Attachments:
Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Apr 14, 2011 4:43 AM in response to: Mark Baker
Re: AccuRev VCS plugin for TeamCity

Hi guys,

 

After a bit of a delay I believe we now have a candidate for the next version (0.4) of the plugin.

 

We've been working with the new version on our site for the last month or so and it looks great. I'm going to checkin the code to the TeamCity SVN repository sometime this week but thought I would post it here first.

 

Note I've made a number of minor changes to Mark's version of the plugin:

  • Usage of Reference Trees for Agent-side checkout is now the default when setting up a new VCS root. The reason I did this is because we've found them to be a lot faster and more reliable than workspaces (when using workspaces, we encountered issues when needing to make file modifications (e.g. version number file) during builds. with reftrees AccuRev indiscriminately overwrites files during updates, which is preferable)
  • Transactional high-watermark issue. I found a bug in the current release of the plugin that results in the "current version number" being set incorrectly. A symptom of this is that sometimes you'll see doubling-up of change lists in TeamCity (one change list will have the promote comment, the other will say "OTHER INHERITED CHANGES"). This issue was particularly evident when building off AccuRev snapshots with the Agent-side checkout, as it would build against the wrong (earlier) transaction number of the rather than the transaction number of the snapshot. The plugin now sets the version number for each change list as the transactional high-watermark of the AccuRev depot (the display version shown in the change list upon promote, however, stays as the appropriate transaction number for that change list).
  • Collect changes issue resolved around particular scenario involving AccuRev elements with element ID (EID) changes. These types of changes are now being excluded from change lists. This issue was present in the current release of the plugin.
  • 64 bit Windows issue: Previously, the plugin would fail to find the AccuRev bin directory if the 32 bit location had been specified in VCS root settings. The plugin will now attempt to find the AccuRev executable in the default location for the particular OS if the specified location cannot be found. This check occurs in all VCS operations including collect changes, population of agent-side workspace, etc.
  • Fixed issue around handling of the new "Verbosity" setting in the Agent-side checkout: the plugin did not assume a default for VCS roots that had been created prior to the introduction of this setting. The default setting for "Verbosity" is "AccuRev Commands".

 

I've also updated the README.TXT with the wonderful new features you guys have added.

 

Regards,

Daniel

Attachments:
Mark Baker Newbie 65 posts since
Sep 8, 2010
Currently Being Moderated
Apr 18, 2011 12:43 PM in response to: Daniel Nolan
Re: AccuRev VCS plugin for TeamCity

Excellent stuff, thanks Daniel!

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Oct 22, 2010 9:28 AM in response to: Abraham Odamteng
Re: AccuRev VCS plugin for TeamCity

Hi Abraham/Mark,

 

Can you guys go here and setup TeamCity accounts if you don't already have them (this is to run builds of the plugin):

http://teamcity.jetbrains.com/registerUser.html

 

Then could you send me an email (see my profile) with your account names? The Jetbrains guys will then setup your corresponding SVN accounts.

 

Thanks,

Dan

John Ray Newbie 5 posts since
Oct 19, 2011
Currently Being Moderated
Oct 21, 2011 12:52 PM in response to: Francois Retief
Re: AccuRev VCS plugin for TeamCity

Hi,

 

I am working on windows platform where a filename (inluding full path) normally can be no more than ~260 characters.

 

In  this environment, when using AccuRev GUI to populate a workspace where  the combined path and filename with workspace path is exceeding this  maximum limit, then AccuRev just crash and does not populate properly.  For the GUI the workaround is to rename the workspace path to be shorter  so it can be populated in a path which does not exceed the limit.

 

When  using the AccuRevg plug-in to do server side checkout, this is problem.  As far as I can detect, it is only possible to define the agent side  path but not the temporary path for the server side checkout. So I can  see that it defaults to something like  "C:\TeamCity\temp\accurev23658965311886311583148321255833" (some kind of  random digits of very long length). This means that my temporary folder  easily exceed the maximum limit even though my agent path won't. This  means that I cannto use server side checkout and I am forced to used  client side checkout, which in my case means a lot of installations of  AccuRev on each build agent.

 

Is there anywhere this temporary folder can be defined today so I can use a shorter path?

 

If not, can the plug-in please be updated with such feature?

 

 

Thanks,

John Ray

 

PS. It works when I do agent side check-out, but this requires quite a lot of AccuRev installations, one  per agent. Also some features such as excluding directories  cannot be used with agent side checkout. Because  of this it is unfortunately not a very good option.

 

PPS. I started a separate thread on this topic, but Michael Kuzmin suggested me to post to this thread instead.

 

Pete Mulholland Newbie 1 posts since
Nov 9, 2011
Currently Being Moderated
Nov 9, 2011 8:57 PM in response to: Francois Retief
Re: AccuRev VCS plugin for TeamCity

Hey guys,

 

I'm currrently upgrading our build system from Cruise Control/NAnt.

I had intended using TeamCity because Pre-Tested commits are a big requirement.


Are there any plans to support Pre-Tested commits/Remote runs in the plugin?

Is this something that should be implemented by each user based on how they use AccuRev?

 

thanks,

Pete

Daniel Nolan Newbie 29 posts since
Nov 13, 2008
Currently Being Moderated
Nov 22, 2011 7:11 AM in response to: Pete Mulholland
Re: AccuRev VCS plugin for TeamCity

Hi Pete,

 

There are no current plans to introduce Pre-Tested commts/Remote runs in the plugin.

 

I am the only developer remaining and unfortunately my time is needed elsewhere at the moment.

 

If you or anyone else would like to step forward and take the lead on the OSS project please let me know, and I can help get you access to the JetBrains-based repository and builds.

 

Regards,

Daniel

Raphael Sainte-Claire Newbie 9 posts since
Aug 1, 2011
Currently Being Moderated
Nov 24, 2011 2:32 PM in response to: Francois Retief
Re: AccuRev VCS plugin for TeamCity

Hi There,

 

is there a planned release to support Accurev 5.3a at all in the pipeline?

More Like This

  • Retrieving data ...