Page MenuHomePhabricator

Unable to clone "operations/puppet" repo successfully on Windows (mailman3 template names use colon in file names)
Closed, DuplicatePublicBUG REPORT

Description

Steps to replicate the issue (include links if applicable):

  • Use a Windows machine
  • install git
  • open git bash as administrator
  • git clone ssh://novemlinguae@gerrit.wikimedia.org:29418/operations/puppet

What happens?:

  • error: invalid path 'modules/mailman3/files/templates/domain:admin:notice:new-list.txt'
  • errors and various problems related to some filenames containing a colon. colon is an illegal filename character in windows. as a result of the missing local copies of the files with colon in the filename, completely unable to stage or commit changes in git

image.png (215×798 px, 21 KB)

What should have happened instead?:

  • consider renaming these files to not include a colon, if this is easy to do

Software version (skip for WMF-hosted wikis like Wikipedia):

Other information (browser name/version, screenshots, etc.):

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Reedy renamed this task from "operations/puppet" repo inaccessible to Windows developers to Unable to clone "operations/puppet" repo successfully on Windows.Sat, Aug 6, 1:40 PM
Reedy added a project: Wikimedia-Mailing-lists.

The file names with colons in them are not directly defined in puppet where we could have easily renamed them. The code is:

    file { "/var/lib/mailman3/templates/domains/${host}/en/":
        ensure  => directory,
        source  => 'puppet:///modules/mailman3/templates/',
        owner   => 'root',
...
        recurse => 'remote',

so everything under ./templates/ is just copied to the remote file system as is because of the "recurse => 'remote'" and the files are just dropped into that directory in the repo.

This would mean it's more upstream towards mailman software itself that does or does not expect the file to have this specific format.

@Novem_Linguae While we are still thinking about a better fix, there is at least one work around using WSL on Windows 11

all the way at the bottom of:

https://stackoverflow.com/questions/5991805/how-do-i-clone-files-with-colons-in-the-filename

3. Clone repo in WSL linux console

After WSL has been installed - run the application "WSL" - there going to be a linux console available. In that linux console - clone repository as you would normally do**.

** In my case I logged in as root (>sudo su), created ssh keys, added public ssh key to the github repo, navigated to required directory and cloned ssh repo.

As a result, through WSL console I'm able to see files with ":". Through another file managers, consoles (File Explorer, PowerShell, cmd, git CLI) - in place of colons different symbols displayed.

mailman3 upstream docs at https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/rest/docs/templates.html describe these just as "Here are all the supported template names:" as if they are hardcoded magic words for the defaults to fall back to per domain.

Dzahn renamed this task from Unable to clone "operations/puppet" repo successfully on Windows to Unable to clone "operations/puppet" repo successfully on Windows (mailman3 template names use colon in file names).Thu, Aug 11, 9:02 PM

As background we don't use the upstream templates because they do not provide links to the webui. @Legoktm modified them to include the links and added them to puppet. Upstream does have an open proposal to add web links to their templates.