Re: git-p4 workflow suggestions?
- From
- Pete Wyckoff <pw@padd.com>
- Date
- Mar 11, 2009, 12:58 UTC
- Message-ID
- <20090311125805.GA28155@padd.com>
- In-Reply-To
- <20090309142108.GK12880@zoy.org>
sam@zoy.org wrote on Mon, 09 Mar 2009 15:21 +0100:
Show 16 quoted lines
> I have modified git and git-p4 to a point where they are usable in > my work environment. I am now faced with a new problem: Perforce's > composite workspaces. They allow you to "mount" parts of the repo onto > other directories, even nonempty ones. > > Take the following example repository, where a "framework" project > contains an example subdirectory with build files and other directories, > and a "project1" project contains subdirectories that are meant to > replace the ones in "example": > > //work/framework/example/src/ > /include/ > /Makefile > /... > //work/project1/src/ > /include/
In perforce terms, your "view mapping" looks like:
//work/framework/example/src/... //client/src/...
//work/project1/src/include/... //client/src/include/...?
I'm not a pro with p4, but do deal with many-line mappings like this. Stock git-p4 handles these, except doesn't map correctly to the right-hand side. I haven't tried to see if it would correctly use the include files from project1 instead of framework in your example.
If you can get git-p4 to figure out the mapping correctly, I don't expect any problems with respect to atomicity of commits. As far as perforce goes, a server seems to manage its entire p4 space as one big single project. Similarly with the git side of things---it's just a matter of getting this mapping correct.
I too hacked the getClientSpec() part of git-p4 to put files into the correct directories in the git side. My changes are a bit messy, and may interfere with other usage models, hence not submitted. Maybe we should make an effort to get this right though. Do you have any changes to show how you are modifying things?
-- Pete