[p4] [Newbie]: Mapping one depot to multiple locations in same workspace

Rick Macdonald rickmacd at shaw.ca
Tue Mar 31 06:59:47 PDT 2009


Here's my guess:

If you open //tools/NAnt/doit for edit, I think Perforce only stores the 
fact that the file is open on the named clientspec (workspace). Which 
one would that be? There are three to choose from. Which one gets its 
file permissions changed to read-write if you open with depot syntax 
instead of local file syntax? Removing the ability to use depot syntax 
to support this would be a bit messy, I think.

The opposite case is similar: mapping multiple depot directories to one 
local disk directory. If you add a file using local disk syntax, it 
wouldn't know which area of the depot to add the the file to.

I have a ton of shared tools, but they are in a shared development area 
available to all projects, usable by execution "PATH" or by well-known 
location that includes an environment variable override for the path 
prefix. I'm sure you have a good reason not to do this. I'm glad I 
don't!  ;)

Rick

Philip Panyukov wrote:
> I too found this to be a limitation is some cases.  One recent one was
> to set up one single branch spec for all the tools we use in all
> projects and then use that spec to integrate new versions of tools
> into projects.
>
> TOOLS branch
> //tools/NAnt/... //projA/tools/NAnt/...
> //tools/NAnt/... //projB/tools/NAnt/...
> //tools/NAnt/... //projC/tools/NAnt/...
>
> If the above were possible, it would give us ability to integrate and
> diff using just one branch name TOOLS.
>
> Alas, this doesn't work, so every project has to set up its own
> branchspec TOOLS-PROJA, TOOLS-PROJB etc etc.
>
> Philip
>
>
> 2009/3/31 Rick Macdonald <rickmacd at shaw.ca>:
>   
>> A workspace specification is a two-way mapping and has to be unique. On
>> UNIX I would use symlinks or three difference workspace specifications
>> and just sync all three. If you're not updating anything, maybe three
>> workspaces would be just as good?
>>
>> Rick
>>
>> Tobias Alte wrote:
>>     
>>> Hi,
>>>
>>> I am fairly new to P4 and have yet to figure out how to do the following:
>>>
>>> Given a depot A (for binary files in that specific case):
>>>
>>> //A/subdir_a/project_a/Debug/
>>> //A/subdir_a/project_a/Release/
>>>
>>> I want to do the following:
>>>
>>> //A/subdir_a/project_a/Debug/... //(local_files)/build/Debug/...
>>> //A/subdir_a/project_a/Release/... //(local_files)/build/Release/...
>>> //A/subdir_a/project_a/Debug/... //(local_files)/build/win32/vc8.0/Debug/...
>>> //A/subdir_a/project_a/Release/...
>>> //(local_files)/build/win32/vc8.0/Release/...
>>> //A/subdir_a/project_a/Debug/... //(local_files)/build/win32/vc9.0/Debug/...
>>> //A/subdir_a/project_a/Release/...
>>> //(local_files)/build/win32/vc9.0/Release/...
>>>
>>> Basically a one(depot)-to-many(locations in one workspace) relation. So
>>> far I am not able to get this work with pretty much any possible
>>> combination of '+' etc.
>>>
>>> Right now I assume it is not supposed to work because P4 maybe doesn't
>>> work as a 'storage only' system - meaning it doesn't let me create
>>> two(more) copies of the same depot file in one workspace even if I have
>>> no intention of modifying them.
>>>
>>> Is this assumption correct or did just not use the right workspace
>>> configuration yet?
>>>
>>> I working with client (2008.2/188141) on server version (2007.2/136816).
>>>
>>> Thanks a lot for any input!
>>> Tobias
>>> _______________________________________________
>>> perforce-user mailing list  -  perforce-user at perforce.com
>>> http://maillist.perforce.com/mailman/listinfo/perforce-user
>>>
>>>
>>>       
>> _______________________________________________
>> perforce-user mailing list  -  perforce-user at perforce.com
>> http://maillist.perforce.com/mailman/listinfo/perforce-user
>>
>>     
>
> _______________________________________________
> perforce-user mailing list  -  perforce-user at perforce.com
> http://maillist.perforce.com/mailman/listinfo/perforce-user
>   



More information about the perforce-user mailing list