Uploaded image for project: 'Bamboo Data Center'
  1. Bamboo Data Center
  2. BAM-3665

Make checkouts smaller by supporting sparse directories

    • 0
    • 1
    • Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.

      Many projects using Subversion avoid svn:externals and instead use sparse directories that came with svn 1.5

      svn co --depth=files http://svn.example.com/software/trunk
      svn update trunk/my_project trunk/shared

      This way developers get a smaller working set of files but one that behaves correctly.

      Generally, more advanced options for how a set of files is monitored and checked out would be very helpful.

            [BAM-3665] Make checkouts smaller by supporting sparse directories

            Any update on this?

            James Hill added a comment - Any update on this?

            from https://support.atlassian.com/browse/BSP-2969

            We have a massive svn repository with dozens of projects, which map to dozens of bamboo projects. We can't afford to to a full checkout for every build plan.

            Currently, bamboo only supports checking out an entire repository like:

            svn co http://svn2.ship.scea.com/svn/wws_shared

            We'd like to be able to do sparse checkouts like:

            svn co http://svn2.ship.scea.com/svn/wws_shared wws_shared --depth immediates
            cd wws_shared
            cd trunk
            svn up --set-depth infinity build
            svn up --set-depth immediates components
            cd components
            svn up --set-depth infinity unittestpp
            svn up --set-depth infinity wws_platform
            svn up --set-depth infinity wws_common
            svn up --set-depth infinity wws_binxml

            Ulrich Kuhnhardt [Atlassian] added a comment - from https://support.atlassian.com/browse/BSP-2969 We have a massive svn repository with dozens of projects, which map to dozens of bamboo projects. We can't afford to to a full checkout for every build plan. Currently, bamboo only supports checking out an entire repository like: svn co http://svn2.ship.scea.com/svn/wws_shared We'd like to be able to do sparse checkouts like: svn co http://svn2.ship.scea.com/svn/wws_shared wws_shared --depth immediates cd wws_shared cd trunk svn up --set-depth infinity build svn up --set-depth immediates components cd components svn up --set-depth infinity unittestpp svn up --set-depth infinity wws_platform svn up --set-depth infinity wws_common svn up --set-depth infinity wws_binxml

            MattS added a comment -

            Hi Edwin,

            Here are a few ideas based on what I've seen in large projects for some of my clients. This is all "advanced" usage.

            1. Let me specify a sequence of commands to check out the files I need for a build. This is the example in the original description
            2. Let me specify a sequence of commands after the build occurs, so I can check in changed files if necessary (ugly but it happens in some builds)
            3. Let me check out a set of files from different branches into the same work space (again, ugly but not unknown)

            It's a start.

            ~Matt

            MattS added a comment - Hi Edwin, Here are a few ideas based on what I've seen in large projects for some of my clients. This is all "advanced" usage. 1. Let me specify a sequence of commands to check out the files I need for a build. This is the example in the original description 2. Let me specify a sequence of commands after the build occurs, so I can check in changed files if necessary (ugly but it happens in some builds) 3. Let me check out a set of files from different branches into the same work space (again, ugly but not unknown) It's a start. ~Matt

            edwin added a comment -

            Matt,

            An interesting suggestion indeed.

            Generally, more advanced options for how a set of files is monitored and checked out would be very helpful.

            What kind of more advanced options are you looking for?

            Cheers,
            Edwin

            edwin added a comment - Matt, An interesting suggestion indeed. Generally, more advanced options for how a set of files is monitored and checked out would be very helpful. What kind of more advanced options are you looking for? Cheers, Edwin

            MattS added a comment -

            And the documentation on using include/exclude regex isn't sufficient to make it usable in this case, e.g. is this the way to get more than one pattern:

            .shared|my_project.

            MattS added a comment - And the documentation on using include/exclude regex isn't sufficient to make it usable in this case, e.g. is this the way to get more than one pattern: .shared|my_project.

              Unassigned Unassigned
              73d805a2526b MattS
              Votes:
              7 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: