代码之家  ›  专栏  ›  技术社区  ›  ohho

在OS X和Windows之间更改了文件权限

  •  1
  • ohho  · 技术社区  · 14 年前

    我从OSX压缩了一个Rails项目,并将它发送给了一个在Windows上工作的同事。他更新了源文件,压缩了整个项目文件夹,并将压缩文件发送回我。

    解压缩项目后,我发现文件权限信息有点丢失。例如, script/server 从变 -rwxr-xr-x -rw-r--r-- . 在Mac和Windows之间传输文件时,是否有保存文件权限标志的方法?

    谢谢

    2 回复  |  直到 13 年前
        1
  •  3
  •   Michael Aaron Safyan    14 年前

    zip文件格式不保留权限。*.tar(和*.tar.bz2和*.tar.gz)格式确实保留了权限;但是,大多数Windows计算机无法完全理解它们,因此无法保证当它们未被删除然后重新被保留时,权限将被保留(但如果您在任何其他Unix计算机上取消存档,它们将具有与wh相同的权限)。原来是涂了焦油的)。但是,由于您是在源代码文件上进行协作的,所以您确实应该使用某种版本控制系统(VCS),也称为源代码管理(SCM)。根据您喜欢集中式版本控制系统(CVC)还是分布式版本控制系统(DVC),有几种可能的选项。对于CVCS, Subversion (SVN)版本控制系统是一个显而易见的选择。对于DVCS,两者都 Git Mercurial 值得考虑。据我所知,这些版本控制系统将保留权限(或允许通过属性显式设置权限,例如“svn:executable”)。

        2
  •  0
  •   Ronnie    13 年前

    zip确实包含文件权限,但是我遇到的所有程序都只保存文件的权限,就像压缩文件时一样,在OS和文件系统上保存文件的权限。因此,在Windows上没有R/W/X标志,只有目录(目录不总是保存为单独的条目),而在Windows中“压缩文件夹”则不存在。

    我创建了一个命令行实用程序,可以将文件设置为zip中的可执行文件,因为我想从Windows创建在MacOS和Linux上有效的发布文件。创建的文件将在所有3个操作系统上正常工作。

    该实用程序可从下载 http://www.galaxy-forces.com/zip_exec.zip . C++源可从同一站点获得。

    希望它能帮助别人。

    罗尼