Dear list,
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/ Using the Perforce client, one can reorganise the workspace
so that project1/src/ transparently replaces the contents of
framework/example/src/ (same for */include). All the work is then done
in the framework/ local checkout, but commits may also affect project1/.
I could not find a way to do the same with git and git-p4. My main
requirements are the following:
- preserve the atomicity of commits affecting both project1/src and
project1/include (having to commit from a different directory due to
symlink hacks is acceptable to me, even if not terribly practical)
- have git-p4 rebase work without requiring tedious merges
- *if possible* (but not a strong requirement), preserve the
atomicity of commits affecting both framework/ and project1/.
If anyone ever ran into the problem, I'd like to hear from their
experience. Or maybe someone will have suggestions based on similar
requirements.
Cheers,