• 设置SVN,Git忽略MAC的.DS_Store文件的方法


    I. 显示Mac隐藏文件的命令:

    defaults write com.apple.finder AppleShowAllFiles -bool true

    隐藏显示Mac隐藏文件的命令:

    defaults write com.apple.finder AppleShowAllFiles -bool false

    II. 删除目录下的.DS_Store:

    Find /path/to/files –type f –name “.DS_Store” -print –delete

    或者:

    Find /path/to/files –type f –name “.DS_Store” -print0 | xargs –0 rm -rdf

    III. 配置SVN忽略.DS_Store文件:

    svn propset svn:ignore “.DS_Store” /path/to/files

    [文档 http://svnbook.red-bean.com/en/1.5/svn.ref.svn.c.propset.html]

    或者配置全局配置文件:

    编辑 ~/.subversion/config文件 搜索 global-ignores 然后添加 .DS_Store

    (配置SVN仓库忽略.DS_Store文件:

    svn propset –revprop -r HEAD svn:ignore “.DS_Store” http://svn.site.com/path/to/repository/project

    但SVN仓库默认不允许队revision property做修改,所以,这个命令可能无法执行,需要编辑一个hook(http://www.qinbin.me/svn-hook-hook-introduction/)(http://www.zeali.net/entry/533)文件,这个文件需要有执行权限

    例子如下(Windows):

    @ECHO OFF

    set repos=%1

    set rev=%2

    set user=%3

    set propname=%4

    set action=%5

    //设置超级用户,超级用户可以修改其他人的日志,其他人只能修改自己的日志

    set superUser=username

    //只允许日志svn:log的修改

    if /I not ‘%propname%’==’svn:log’ goto ERROR_PROPNAME

    //只允许修改日志,增加、删除等操作不允许

    if /I not ‘%action%’==’M’ goto ERROR_ACTION*

    //只允许用户修改自己的日志

    for /f “usebackq”   %%k in   (`svnlook author %repos% -r %rev%`)   do   @set var=%%k

    set rightUser=0

    if “%3″ == “%superUser%” set rightUser=1

    if “%3″ == “%var%” set rightUser=1

    if %rightUser% == 0 goto ERROR_USER

    goto :SUCCESS_EXIT

    :ERROR_USER

    echo 只允许用户修改自己的日志 >&2

    goto ERROR_EXIT

    :ERROR_PROPNAME

    echo 只有日志信息能被修改 >&2

    goto ERROR_EXIT

    :ERROR_ACTION

    echo 只允许修改日志,不允许增加、删除等操作 >&2

    goto ERROR_EXIT

    :ERROR_EXIT

    exit 1

    :SUCCESS_EXIT

    exit 0

    )

    (SVN 文档http://svnbook.red-bean.com/)

    IV. 用命令行防止.DS_Store文件生成

    Defaults write com.apple.desktopservices DSDontWriteNetworkStores true

    V. 对于使用git的情况:

    增加.DS_Store到库的顶层目录下.gitignore文件

    然后git add .gitignore

    Git commit –m “.DS_Store remove”

    全局配置方法:

    Git config —global core.excludesfile = /path/to/.gitignore

    然后配置这个.gitignore文件就像配置项目目录下的.gitignore文件一样

    转自:http://bmanlog.sinaapp.com/?p=32

  • 相关阅读:
    Vue.js
    Spark Streaming自定义Receiver
    Hive UDF函数
    HBase表预分区与压缩
    Hive映射HBase表的几种方式
    Spark源码阅读之存储体系--存储体系概述与shuffle服务
    Spark Streaming实时写入数据到HBase
    基于Spark的用户行为路径分析
    Spark Streaming消费Kafka Direct方式数据零丢失实现
    CountDownLatch如何使用
  • 原文地址:https://www.cnblogs.com/qingchen1984/p/5056478.html
Copyright © 2020-2023  润新知