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

Bamboo p4 implementation should process all client spec definition settings

    • 0
    • 7
    • 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.

      All possibilities as documented in the p4 client definition configuration spec http://www.perforce.com/perforce/doc.current/manuals/p4guide/02_config.html
      should be handled by bamboo. Especially the 'Refining client views' section should be implemented.

            [BAM-3669] Bamboo p4 implementation should process all client spec definition settings

            Support for Perforce is deprecated and scheduled to be removed in Bamboo 10.0

            Marcin Gardias added a comment - Support for Perforce is deprecated and scheduled to be removed in Bamboo 10.0

            This is broken. Charles Albrecht is right. Can't figure out why you're trying to make Bamboo think out what Perforce already knows.

            Deleted Account (Inactive) added a comment - This is broken. Charles Albrecht is right. Can't figure out why you're trying to make Bamboo think out what Perforce already knows.

            It's unclear to me why bamboo even cares what Left Hand Side component(s) match the workspace-centric view provided in the plan configuration. It seems to me that findDepotFromView() should always return depotView; unless the client view is very, very simple. The perforce server already knows how to parse the client view. I don't think bamboo should need to try and duplicate that parser.

            See https://support.atlassian.com/browse/BSP-4538

            Charles Albrecht added a comment - It's unclear to me why bamboo even cares what Left Hand Side component(s) match the workspace-centric view provided in the plan configuration. It seems to me that findDepotFromView() should always return depotView; unless the client view is very, very simple. The perforce server already knows how to parse the client view. I don't think bamboo should need to try and duplicate that parser. See https://support.atlassian.com/browse/BSP-4538

            The bamboo server must be independent of any client settings, ie use the //depopt/xxxx side of the client spec to be independent of a p4 client.

            The proposal is to parse the client spec for the longest match of plan's depot view and client spec right side and then replace it with the //depot/xxx side

            Ulrich Kuhnhardt [Atlassian] added a comment - The bamboo server must be independent of any client settings, ie use the //depopt/xxxx side of the client spec to be independent of a p4 client. The proposal is to parse the client spec for the longest match of plan's depot view and client spec right side and then replace it with the //depot/xxx side

            The strategy bamboo is following is:

            • parse the right side of the depot - client mapping (ie the depot view from plan configuration)
            • find if any of the tokens on the right side (without dots) match the beginning of depot view (from plan configuration)
              o in your case //BambooRM/ matches the beginning of //BambooRM/Cramer/Dev/Main/deployment-framework/...
            • if match found
              o replace the matching bits with the left side of depot view (//depot)
              o cache the result
            • if no match found - keep the original client view

            As far as I can see the entry

            -//depot/... //BambooRM/...

            will cause bamboo to substitute any depot view in the way you have described. Bamboo does not understand the "-".

            p4 then executes the command with wrong parameters and comes up with a changelist somehow...

            see https://support.atlassian.com/browse/BSP-2023

            Ulrich Kuhnhardt [Atlassian] added a comment - The strategy bamboo is following is: parse the right side of the depot - client mapping (ie the depot view from plan configuration) find if any of the tokens on the right side (without dots) match the beginning of depot view (from plan configuration) o in your case //BambooRM/ matches the beginning of //BambooRM/Cramer/Dev/Main/deployment-framework/... if match found o replace the matching bits with the left side of depot view (//depot) o cache the result if no match found - keep the original client view As far as I can see the entry -//depot/... //BambooRM/... will cause bamboo to substitute any depot view in the way you have described. Bamboo does not understand the "-". p4 then executes the command with wrong parameters and comes up with a changelist somehow... see https://support.atlassian.com/browse/BSP-2023

              Unassigned Unassigned
              ukuhnhardt Ulrich Kuhnhardt [Atlassian]
              Votes:
              8 Vote for this issue
              Watchers:
              11 Start watching this issue

                Created:
                Updated: