From abf648110695e64d9e93d221b0c5329fae93f5e2 Mon Sep 17 00:00:00 2001 From: Olivier Trempe Date: Fri, 20 May 2016 08:08:57 -0700 Subject: [PATCH] windows: grp module not supported On windows the grp module is not present, so we need to avoid importing it. This means the shared group feature of remotefilelog is not supported on windows. --- remotefilelog/basestore.py | 10 ++++++++-- remotefilelog/fileserverclient.py | 5 ++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/remotefilelog/basestore.py b/remotefilelog/basestore.py index 2eaa5a2d4d..5e0e12037e 100644 --- a/remotefilelog/basestore.py +++ b/remotefilelog/basestore.py @@ -1,9 +1,12 @@ -import errno, grp, os, shutil, time +import errno, os, shutil, stat, time import shallowutil -from mercurial import util +from mercurial import error, util from mercurial.i18n import _ from mercurial.node import bin, hex +if os.name != 'nt': + import grp + class basestore(object): def __init__(self, repo, path, reponame, shared=False): """Creates a remotefilelog store object for the given repo name. @@ -40,6 +43,9 @@ class basestore(object): groupname = self.ui.config("remotefilelog", "cachegroup") if groupname: + if os.name == 'nt': + raise error.Abort(_('cachegroup option not' + ' supported on Windows')) gid = grp.getgrnam(groupname).gr_gid if gid: os.chown(path, os.getuid(), gid) diff --git a/remotefilelog/fileserverclient.py b/remotefilelog/fileserverclient.py index 00d8d48a59..b81d85beb1 100644 --- a/remotefilelog/fileserverclient.py +++ b/remotefilelog/fileserverclient.py @@ -9,13 +9,16 @@ from mercurial.i18n import _ from mercurial.node import hex, bin from mercurial import util, sshpeer, hg, error, util, wireproto, node, httppeer from mercurial import scmutil -import os, socket, lz4, time, grp, io, struct +import os, socket, lz4, time, io, struct import errno import itertools import constants, datapack, historypack, shallowutil from shallowutil import readexactly, readunpack +if os.name != 'nt': + import grp + # Statistics for debugging fetchcost = 0 fetches = 0