Build Agent doesn't check out working copies of VCS_ROOT's subfolder

Completed

Hello, comrades.

I run in a problem where performing build agent checkout doesn't work properly at least as I figured out. Bear in mind Subversion's terminology, the case is a build agent checks out parent folders and export sub-folders. In other word, parent folders of VCS_Root contain administrative date (.svn directory) and child folders do not (.svn dir is lost).

Given the option always check out on agent side is enabled, I got the following tree of a working copy:

<Agent Build Dir>:

├───.svn
├───lib
│ ├───lib_1
│ │ lib_1.c
│ │
│ └───lib_2
│ lib_2.c

└───main
main.c

BUT I was expected the following:

<Agent Build Dir>:

├───.svn
├───lib
│ ├───.svn
│ ├───lib_1
│ │ │ lib_1.c
│ │ │
│ │ └───.svn
│ └───lib_2
│ │ lib_2.c
│ │
│ └───.svn
└───main
│ main.c

└───.svn

I reckon you got me right; the actual behavior brakes my tool-chain. There is teamcity's feature manual check out: I know it. What the most annoys me is the native teamcity's feature always check out on agent side could not deal with my pretty simple Project:

  • one root project
  • one build configuration
  • one attached set of VCS settings;
  • one build step
  • the working copy tree is set up by svn:externals.

I was wondering is there a native elegant approach to manage my project settings by using always check out on agent side feature and do not use manual check out?

I use TeamCity Professional 2018.2.4 (build 61678)

2 comments
Comment actions Permalink

Hello,

   The per-directory .svn directory was used in subversion 1.6, since subversion 1.7 only one .svn directory is created: http://subversion.apache.org/docs/release-notes/1.7.html#single-db

   In TeamCity, you can specify the working copy format, and it includes version 1.6. I.e. if you change the working copy format from the default to 1.6, you should get .svn in each target directory.

 

  Hope, this helps,

0
Comment actions Permalink

Hello, Kirill

That solved my problem. Big thanks

0

Please sign in to leave a comment.