Is there such a thing as a file system mask?

I think of the mask as in the Mask scheme (I think) - let me explain using a convenient graph

mask chart

The shared source will be physically located in c:\source

Instance A will physically reside in c:\instanceA, but initially has nothing but symbolic links to everything inc:\source

Instance B will physically reside in c:\instanceB, but initially has nothing but symbolic links to everything inc:\source

When you made changes to instance A and instance B, you would create a mask that hid the files from CommonSource if they were deleted from the instance folders, and create a new physical file in the instance directory if the existing shared source file was modified. New files will live in the instance folders, but never return to the shared source.

, , .

, .

-, ? , ? .

Windows Server 2008 .

+5
5

, , git - , .

  • " " git
  • "InstanceA" "InstanceB"

"Common Source" "InstanceA" "InstanceB", "MASK" ( ), .

, "Common Source" , , , "Common Source" (-, , ).

+8

. , Windows, Linux, UnionFS.

, , -: live-CD.

+2

Windows 7 libraries, .

Windows 7 VirtualStore (, Program Files : C:\Users\\AppData\Local\VirtualStore. - , , , , , .

+1

, . API-, .

→ .

, .

→ , .

→ , .// .

→ , .

((, . .

, , , . , , .))

+1

IBM Rational ClearCase - , , . MVFS: MultiVersion , .

ClearCase (aka. VOB) , . , , . ( ​​ ), , . :

# From wikipedia: http://en.wikipedia.org/wiki/IBM_Rational_ClearCase#Configuration_specifications
# Show all elements that are checked out to this view, regardless any other rules.
element * CHECKEDOUT

# For all files named 'somefile', regardless of location, always show the latest version
# on the main branch.
element .../somefile /main/LATEST

# Use a specific version of a specific file. Note: This rule must appear before
# the next rule to have any effect!
element /vobs/project1/module1/a_header.h /main/proj_dev_branch/my_dev_branch1/14

# For other files in the 'project1/module1' directory, show versions
# labeled  'PROJ1_MOD2_LABEL_1'. Furthermore, don't allow any checkouts in this path.
element /vobs/project1/module1/... PROJ1_MOD2_LABEL_1 -nocheckout

# Show the 'ANOTHER_LABEL' version of all elements under the 'project1/module2' path.
# If an element is checked out, then branch that element from the currently
# visible version, and add it to the 'module2_dev_branch' branch.
element /vobs/project1/module2/... ANOTHER_LABEL -mkbranch module2_dev_branch
+1

All Articles