在服务器上强制 svn:eol-style=native?

2024-03-28

目前,为了保证颠覆性eol-style被设定为native对于添加到项目中的每个新文件,我们必须将其添加到~/.subversion/config我们每台开发人员机器上的文件:

[miscellany]
enable-auto-props = yes

[auto-props]
*.java = svn:eol-style=native

有没有办法在 svn 服务器上做同样的事情?


不,那里没有。

您可以使用挂钩脚本来查找要设置或未设置的属性,但除此之外这是不可能的。 Subversion 与 CVS 不同,它无法更改来自提交的代码内容。

SVN 书中包含以下注释:这个问题 http://svnbook.red-bean.com/en/1.1/ch05s02.html#svn-ch-5-sect-2.1:

Warning

不要尝试使用挂钩脚本修改事务。一个常见的例子是自动设置属性,例如svn:eol-style or svn:mime-type在提交期间。虽然这看起来是个好主意,但它会引起问题。主要问题是客户端不知道钩子脚本所做的更改,也没有办法通知客户端它已经过时了。这种不一致可能会导致令人惊讶和意外的行为。

与其尝试修改交易,不如check该交易在预提交如果不满足所需的要求,则挂钩并拒绝提交。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在服务器上强制 svn:eol-style=native? 的相关文章

  • 我可以在不使用本地工作副本的情况下将新文件夹添加到 TFS 存储库服务器端吗?

    我目前正在将一些源代码从 Subversion SVN 存储库传输到我客户的 Team Foundation Server 我偶然发现的一件事是 如果不首先将该存储库中的所有文件拉到本地工作区中的本地工作文件夹 则似乎无法编辑存储库 我正在
  • 如何阻止 SVN Checkout 恢复从项目中删除的文件?

    我们是 subversion tortoisesvn ankhsvn 堆栈的新手 虽然在 Studio 2008 中我们从项目中删除了文件 但问题是当我们在 CI 构建中执行 svn checkout 时 我们会得到已删除的文件 如何防止这
  • 如何通过FTP将多个多级(不同层次)文件从本地版本覆盖到在线版本

    我只是在本地更改了几个不同目录中的许多文件 然后将更改推送到 Subversion 但这不会更改实时版本 只会更改存储库 现在我必须通过 FTP 更新这些文件 但它们都是不同的层次结构级别 我怎么做 我知道的唯一方法是采用我的整个本地版本并
  • SVN 仅导出标签中更改的文件

    有谁知道如何使用 svn 仅导出两个标签中已更改的文件 假设我有标签 1 0 然后修复了主干中的错误 接下来 我准备好发布新的补丁 因此我将其标记为 1 1 现在我想导出标签1 0和1 1之间更改的文件 这可能吗 svn diff summ
  • 如何统计SVN分支中更改或添加的行数?

    我想将 SVN 分支中的行更改数量相加 这样我就可以从另一方知道我在项目过程中走了多远 并估计当我将其与主干合并时发生冲突的概率 我能想到的方法是获取统一的 diff 并进行一些 grep wc l hack 但问题是很难分离不同的文件类型
  • svn:E155021:此客户端太旧,无法使用 xxx 处的工作副本(格式“31”)

    我正在尝试在 Spring Tool Suite 中导入一些 gradle 项目 我在我的 STS 中安装了 Subclipse 1 10 5 在我的机器上安装的 svn 客户端是 1 8 8 我已尝试在 Mac 上降级到 1 7 10 但
  • svn 可以提供哪些报告?

    我们正在迁移到 SVN 对我们来说不幸的是 我们会定期接受审核 审核员需要以下信息 文件更改历史记录SVN访问历史添加了新文件文件的变化 是否有一个工具可以为我们生成这些报告 或其中一些报告 StatSVN是一个轻量级的颠覆报告生成器 ht
  • 将非标准 svn 转换为 git

    我们有一个非标准的 svn 设置 如下所示 Root gt Trunk gt Projects gt Project 1 gt Project 2 gt Project 3 gt Libraries gt Library 1 gt Libr
  • 如何防止 SVN 缓存单个存储库的凭据?

    我正在使用 Collabnet SVN 客户端版本 1 5 和 1 6 我的本地计算机运行的是 Windows Vista x64 我知道 确实非常悲伤 我想每次尝试在选定的存储库上执行任何颠覆操作时都强制进行身份验证 我如何将属性或设置设
  • svn 外部...是或否?

    我在这里读到了一些谴责使用 svn externals 的答案 我确实看到它们如何被滥用 这确实使我们更加依赖 Subversion 但我真的不认为我们的团队会很快放弃它 无论如何 这就是我的困境 我们的解决方案引用了多个项目 这些项目位于
  • `git svn rebase` 与 `git rebase trunk`

    我正在开发一个使用 subversion 作为存储库的项目 因为我需要进行一些还无法发送到 svn 服务器的更改 所以我开始使用git svn这样我就可以进行本地签到 我的设置如下所示 分支机构 trunk 跟踪 svn trunk mas
  • 如何避免 git-apply 更改行结尾

    我有一个 git repo 设置core eol crlf core autocrlf true and core safecrlf true 当我应用另一个补丁时crlf存储库和我的存储库中受影响文件的所有行结尾都更改为lf 目前我正在应
  • 对于单个开发人员来说,是否值得从 SVN 转向 Git?

    自 2013 年起 此线程很可能已过时 当存储库主要由单个开发人员访问时 是否值得从 SVN 转到 GIT 我有几台用于开发的机器 主要不是用 C 开发 但我的存储库中混合了 VB VB Net PHP C C HTML Batch BAS
  • 如何停止 IntelliJ 搜索传入的 SVN 更改?

    我的 IntelliJ IDE 12 1 4 定期搜索连接的 SVN 存储库中的传入更改 当我第一次安装 IntelliJ 时 不会自动搜索这些传入更改 如果我没记错的话 我必须单击 更改 选项卡中 传入 子选项卡中的刷新按钮并设置一些选项
  • SVN存储库内容

    我已经设置了 VisualSvn Server 创建了一个存储库 并使用 AnkhSVN 向其中添加了 Visual Studio 解决方案 存储库的 url 类似于https msi pc svn MyProj 由于我的无能 一个问题 此
  • 通过 Git/SVN 将前缀 ? 添加到代码中

    怎么加前缀 v VersionNumber使用 Git SVN 高效地访问存储库中的每个文件 我发现 SO 使用这种做法为其存储库中的每个特定文件提供版本号 他们使用SVN 我想知道如何使用 Git 做同样的事情 举几个例子 1 2 在你的
  • 当文件标记为“历史记录已提交”时,svn diff

    我对已合并到工作目录中主干的分支进行了更改 svn stat 显示已更改文件的正确列表 但是 svn stat 输出在计划提交新添加到分支的每个文件的历史记录中包含一个 A src main java com java 当我运行 svn d
  • 在家庭和办公室进行开发,GIT 会比使用 xcopy 的 SVN 更容易吗?

    如果出于安全原因 源代码只能存储在我的家庭计算机和办公室计算机上 如果传输代码的唯一方法是 USB 密钥 那么哪种源代码控制是最好的 SVN还是GIT 注意 两台计算机之间没有网络连接 我推荐git 无论哪种方式 您都需要 USB 密钥上的
  • 将 git 与 svn 一起使用的好习惯

    Subversion 几年前就很流行 现在 git 也开始流行 越来越多的人想用 git 取代 Subversion 问题是很多项目都是基于 Subversion 的 所以问题是如何将 git 与 Subversion 一起使用 不要完全取
  • 如何使用 git-svn 使 svn:external 保持最新?

    将我的存储库视为 SVN 存储库 我得到 svn co http myrepo foo trunk foo foo bar baz gt http myrepo baz trunk 将其视为 Git 存储库 我得到 git svn clon

随机推荐