AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 47608
Accepted
Geo
Geo
Asked: 2009-07-30 07:42:17 +0800 CST2009-07-30 07:42:17 +0800 CST 2009-07-30 07:42:17 +0800 CST

如何从 SVN 存储库中删除所有二进制文件以减小其大小?

  • 772

我们希望通过清除所有二进制文件(通常是非开发导向的 zip 文件)来减小存储库的大小。有什么简单的方法可以删除它们?

svn repository
  • 4 4 个回答
  • 7309 Views

4 个回答

  • Voted
  1. Best Answer
    pQd
    2009-07-30T07:52:04+08:002009-07-30T07:52:04+08:00

    我假设你想减少存储库的大小[在服务器上],而不仅仅是签出的内容。

    据我所知,从 svn 中永久删除某些内容的唯一方法是:

    1. 运行存储库的转储
    2. 从转储中手动删除不需要的文件/对这些文件的更改
    3. 重新创建存储库

    通过这种方式,您将保留历史记录和所有元数据,但您将摆脱不需要的文件 [例如二进制文件]。

    • 12
  2. sleske
    2009-07-30T07:53:37+08:002009-07-30T07:53:37+08:00

    抱歉不行。

    目前没有简单的方法可以从 SVN 存储库中完全删除文件。此功能(通常称为obliterate)自 2001 年以来已被请求,但尚未实现。有关所有详细信息,请参阅 错误报告。

    目前的解决方法是转储存储库,过滤转储,然后重新导入。这在标准书籍,带有 Subversion 的版本控制中进行了解释。

    • 4
  3. gbjbaanb
    2009-08-18T04:14:14+08:002009-08-18T04:14:14+08:00

    防止人们签入您不想要的文件的最佳方法是使用预提交挂钩。如果提交中的任何文件与模式匹配,则拒绝(即返回非 0 值)。用户在尝试提交时会收到消息。您可以设置全局忽略,但这仅适用于客户端,如果安装了客户端而没有设置忽略,他们会很乐意尝试签入他们喜欢的任何内容。

    例如。(使用 windows 批处理文件,使用 perl 会更好)来限制特定的文件扩展名,并向用户返回带有消息的坏文件:

    @echo off
    
    svnlook log -t "%2" "%1" | d:\tools\grep -c "[a-zA-z0-9]" > nul
    if %ERRORLEVEL% NEQ 1 goto DISALLOWED
    
    echo Please enter a check-in comment 1>&2
    exit 1
    
    
    :DISALLOWED
    svnlook changed -t %2 %1 > c:\temp\pre-commit.txt
    
    rem ** remember to set the TruncatedExtensions registry setting to 0 ** 
    rem ** or .resx will be matched as if it was .res **
    
    findstr /G:"%1\hooks\ignore-matches.txt"  c:\temp\pre-commit.txt > c:\temp\precommit-bad.txt
    if %ERRORLEVEL% NEQ 0 exit /b 0
    
    echo disallowed file extension >> c:\temp\precommit-bad.txt
    type c:\temp\precommit-bad.txt 1>&2
    exit 1
    

    其中ignore-matches.txt 是:

    ^[^D].*\.aps$
    ^[^D].*\.vbw$
    ^[^D].*\.obj$
    ^[^D].*\.ncb$
    ^[^D].*\.plg$
    ^[^D].*\.bsc$
    ^[^D].*\.ilk$
    ^[^D].*\.exp$
    ^[^D].*\.sbr$
    ^[^D].*\.opt$
    ^[^D].*\.pdb$
    ^[^D].*\.idb$
    ^[^D].*\.pch$
    ^[^D].*\.res$
    ^[^D].*\.suo$
    ^[^D].*\..*scc$
    ^[^D].*\\Debug
    ^[^D].*\.user$
    
    • 1
  4. Houssem
    2009-08-05T06:35:52+08:002009-08-05T06:35:52+08:00

    您还可以通过忽略它们来阻止用户添加二进制文件,您必须编辑 ~/.subversion/config 并查找 global-ignores。如果该行被注释,请删除井号字符。

    global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store ._* *.log *.bak 
    

    所以你可以添加你想要的东西,我用它来保持我的存储库不受 mac os 临时文件的影响。

    希望对您有所帮助。

    • 0

相关问题

  • 使用 crontab 和 /etc/cron.hourly,daily,weekly 的区别

  • 如何定期复制 SVN 存储库而不会丢失目标标签和分支?

  • 如何通过 SVN 命令行接受 SSL 证书?

  • 如何在 slicehost 上设置集市

  • 如何在 Mac OS X 中正确安装 Subversion?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve