Jump to content

DVCS and import+


  • Please log in to reply
3 replies to this topic

#1 AlexH



  • Members
  • Pip
  • 8 posts

Posted 16 September 2016 - 11:04 PM

I have a stream with some import+ paths.  When I clone the stream, the imported paths do not seem to be imported at all; it's as if those paths were not in the stream view.

Is there a workaround I can use when cloning to set up a usable DVCS environment?


#2 AhiyaHiya



  • Members
  • PipPip
  • 26 posts

Posted 30 October 2016 - 07:50 PM

There doesn't seem to be anyone wanting to answer this basic question on the forums.

From what I gather, import+ does not seem to be supported in DVCS.

For my own project, I ran into this issue and I created a symbolic links (http://apple.stackex...ink-in-terminal) to those missing folders.

Luckily for me, these are all read-only folders, like Boost and Google libs.

Hopefully this solution could work for you too.

#3 Sambwise


    Advanced Member

  • Members
  • PipPipPip
  • 1192 posts

Posted 30 October 2016 - 09:38 PM

The other option would be to script something up -- it's not an insurmountable problem and could potentially be done with the client tools.  Essentially you'd need to copy the stream spec from the shared server to the local server (if you're mapping things to different depot paths during the clone it gets a little trickier, but you could use the mapping API to translate the paths in the stream spec), and then make sure you clone the imported paths (simple enough since the depot paths are right there in the stream spec).

A general purpose solution gets slightly more difficult since you'd need to walk the entire stream hierarchy -- if you're doing imports from the parent, if the parent has imports from its own parent, etc.

#4 CarolineB


    Advanced Member

  • Members
  • PipPipPip
  • 44 posts

Posted 22 March 2017 - 10:43 AM

Maybe in that case, you can first create a remote spec, mapping your stream and its imported pieces information

I have for instance a stream //streams/try, defined as follow:
share ...
import+ depot/... //depot/...

I create a remote spec as follow:
RemoteID:       streamTry
Address:        localhost:1666
Owner:  caroline
Options:        unlocked nocompress copyrcs
Update: 2017/03/22 11:31:48
        Created by caroline.
LastFetch:      default
LastPush:       default
        //stream/try/... //streams/try/...
        //stream/try/depot/... //depot/...

Then, locally, when cloning with this remote spec
p4 clone - p1666 -m1 -r streamTry

I get locally the files I'm interested in, mapping exactly the files as I want

Wouldn't that suit you?

Also tagged with one or more of these keywords: dvcs

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users