Skip to content

[Bug] Repository cannot be cloned on Windows - invalid pipe character in folder name #97

@farhanashrafdev

Description

@farhanashrafdev

Summary

The repository cannot be cloned on Windows systems due to folder and file names containing the pipe character (|), which is a reserved character on Windows file systems.

Affected Paths

old-versions/V0.2/6-Operation/6-1-Runtime|Continuous-test/
old-versions/V0.2/6-Operation/6-5-VDP|Bug-bounty.md

Affected Files (Total: 4)

  1. old-versions/V0.2/6-Operation/6-1-Runtime|Continuous-test/6-1-1-Infra-scanning/6-1-1-1-Could-resources.md
  2. old-versions/V0.2/6-Operation/6-1-Runtime|Continuous-test/6-1-1-Infra-scanning/6-1-1-2-K8S-resources.md
  3. old-versions/V0.2/6-Operation/6-1-Runtime|Continuous-test/6-1-2-Image-scanning.md
  4. old-versions/V0.2/6-Operation/6-5-VDP|Bug-bounty.md

Error Message

D:\>git checkout master
error: invalid path 'old-versions/V0.2/6-Operation/6-1-Runtime|Continuous-test/6-1-1-Infra-scanning/6-1-1-1-Could-resources.md'
error: invalid path 'old-versions/V0.2/6-Operation/6-1-Runtime|Continuous-test/6-1-1-Infra-scanning/6-1-1-2-K8S-resources.md'
error: invalid path 'old-versions/V0.2/6-Operation/6-1-Runtime|Continuous-test/6-1-2-Image-scanning.md'
error: invalid path 'old-versions/V0.2/6-Operation/6-5-VDP|Bug-bounty.md'

Environment

  • OS: Windows 10/11
  • Git version: 2.x+

Root Cause

Windows reserves the following characters for system use and does not allow them in file or folder names:

  • < > : " / \ | ? *

Two paths in the old-versions/V0.2/6-Operation/ directory contain pipe characters (|):

  1. Folder: 6-1-Runtime|Continuous-test
  2. File: 6-5-VDP|Bug-bounty.md

This makes it impossible to checkout these paths on Windows.

Impact

  • Windows users cannot clone the repository using standard git clone
  • Contributors on Windows must use workarounds like sparse checkout
  • This affects a significant portion of potential contributors

Suggested Fix

Rename the paths by replacing | with -:

6-1-Runtime|Continuous-test to 6-1-Runtime-Continuous-test
6-5-VDP|Bug-bounty.md to 6-5-VDP-Bug-bounty.md

Workaround

Windows users can use sparse checkout to exclude the problematic directory:

git clone --no-checkout https://github.com/OWASP/DevSecOpsGuideline
cd DevSecOpsGuideline
git sparse-checkout init --cone
git sparse-checkout set current-version .github assets LICENSE.md README.md
git checkout master

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions