Base and relative pairs. Resolve .. by removing the previous segment. Do not read these paths from a disk. They are labels. worked base: /lab/public relative: ../draft/note segments after join: lab, public, .., draft, note after .. : lab, draft, note directory of the final segment: draft activity base: /lab/public/images relative: ../../draft/seal segments after join: lab, public, images, .., .., draft, seal after the two .. segments: lab, draft, seal directory of the final segment: draft