[p4] How to handle VSS File sharing capability in perforce?

Weintraub, David david.weintraub at bofasecurities.com
Thu Jul 6 07:41:15 PDT 2006

Perforce doesn't have file sharing (and neither do any other major
version control system I've worked with). However, you could simulate
sharing in people's views. For example, let's say you put all shared
files in //depot/shared, you could do something like this:

	Root:	C:\p4-client
		//depot/myproject/mycomponent/...   //p4-client/...
		+//depot/shared/...  //p4-client/...

That would put all the shared file into the same location as the rest of
the files. If you have individual files, you may have to specify each of
those in the client:

	Root:	C:\p4-client
		//depot/myproject/mycomponent/... //p4-client/...
		+//depot/shared/foo.cpp	//p4-client/bar/foo.cpp
		+//depot/shared/bar.cpp	//p4-client/bar/bar.cpp
		+//depot/shared/fubar.cpp //p4-client/bar/foo/fubar.cpp

This would simulate the sharing as it occurs with each user, and it is
possible if you can get a mapping of where all the shared files are and
where they are mapped, to automatically generate the Perforce clients
for your users.

The best solution, of course, would be to move the legacy projects from
using shared files to shared compiled components while in VSS. Then once
you've got rid of the shared files, move the source archive over to

-----Original Message-----
From: Neeta ROY [mailto:Neeta.ROY at na.biomerieux.com] 
Sent: Thursday, July 06, 2006 10:07 AM
To: Weintraub, David
Cc: perforce-user at perforce.com
Subject: RE: [p4] How to handle VSS File sharing capability in perforce?

I totally agree with what you are saying here, David. In our St. Louis
office where I am located and I manage code, we have stayed away but
there are some legacy code and small projects that are resisting from
moving from VSS to Perforce till I find them a solution to file sharing.

My goal is to move them to Perforce.

Using Perforce, how do I accomplish same. Is there a way? I thought I
would ask the community before I say there is no way !!!

Neeta Roy


                      "Weintraub, David"

                      <david.weintraub at bofasecu        To:       Neeta
ROY <Neeta.ROY at na.biomerieux.com>, perforce-user at perforce.com     
                      rities.com>                      cc:


                      07/06/2006 08:58 AM              Subject:  RE:
[p4] How to handle VSS File sharing capability in perforce?         


There is a big question in the CM community on whether the filesharing
ability of VSS is a "feature" or a "bug".

You already mentioned the advantages. It's a quick way to share a file,
and making the modification in one place modifies it in all of its
shared places.

However, who owns this file? Who is responsible to make sure it works
everywhere? How is this documented in your system? Is there a way to
find all of these shared files, and know where they are shared? Many CM
people feel this creates a documentation and ownership hazard.

Instead, it is recommended that shared code is placed in its own
component directory and compiled into its own library or DLL. That's a
bit more work than simply sharing the file all around your project, and
if you come off of VSS to another version control system, you will need
to do a bit of work to rearchitect your project.

I don't know of any other major version control tool with the file
sharing feature besides VSS. StarTeam might implement this feature, but
we didn't use it if it did. File sharing is not in CVS, Subversion,
PVCS, or Arch. On Unix systems, ClearCase can allow for hard links
between files on the same VOB, but most ClearCase CMs discourage this
because of the problems it can cause.

-----Original Message-----
From: perforce-user-bounces at perforce.com
[mailto:perforce-user-bounces at perforce.com] On Behalf Of Neeta ROY
Sent: Thursday, July 06, 2006 5:26 AM
To: perforce-user at perforce.com
Subject: [p4] How to handle VSS File sharing capability in perforce?

We have migrated from VSS to Perforce. There are many files in that are
shared by multiple projects and in VSS, we were using file sharing. This
made it very efficient to maintain file by modifying only one copy. How
do you accomplish the same in Perforce? Has anyone done this?
1. May be branching only shared files
2. Make changes to these files in branch 3. Set client view for each
project to sync these files from branch...

Adding each new shared file, we will have to change client view of 55
users. Sounds painful.

Any one has any solution ?

Neeta Roy

perforce-user mailing list  -  perforce-user at perforce.com

More information about the perforce-user mailing list