SVN ignore like .gitignore

后端 未结 3 552
既然无缘
既然无缘 2021-01-29 23:24

In Git, if I have a project with lots of projects inside, let\'s suppose, a lot of Java projects, I can just create a .gitignore file in the root and it will \"be r

相关标签:
3条回答
  • 2021-01-30 00:04

    This is what I am doing to emulate .svnignore.

    Create a wrapper for svn called ~/bin/svn

    #!/bin/bash
    case "$1" in
    commit|status|apply-ignore)
        if test -f .svnignore ; then
            echo "Apply .svnignore: $(/usr/bin/svn propset svn:ignore -F .svnignore .)"
        fi
        ;;
    esac
    case "$1" in
    apply-ignore) ;;
    *) exec /usr/bin/svn "$@" ;;
    esac
    

    Then add ~/bin to your path before /usr/bin

    PATH=~/bin:$PATH ; export PATH
    

    It applies .svnignore on commit and status commands, and can also manually apply using svn apply-ignore.

    0 讨论(0)
  • 2021-01-30 00:09

    I solved this problem a slightly different way. This will only work if you're using a Bash shell and have Perl installed, but that's pretty much every Mac and Linux machine.

    Add the following to your .bashrc and .bash_profile files:

    alias _ss="svn status | egrep -v '`cat .svnignore|perl -p -e 's/\n/|/'`'"
    

    Don't forget to either restart your terminal or do:

    source ~/.bashrc
    (or .bash_profile if that's what you used)
    

    Now create a file called .svnignore, and put it in the directory where your repository is checked out.

    files/to/ignore
    another/file
    tmp
    node_modules
    

    Now when you run

    _ss
    

    in the root directory of your working copy, it will read the .svnignore file and ignore anything in it.

    I version the .svnignore file the same way I would version a .gitignore file.

    NOTE: This only affects the svn status command, and it won't prevent you from adding/committing ignored files.

    0 讨论(0)
  • 2021-01-30 00:13

    You can use svn:ignore. You generally need to tell SVN to apply special properties to the files:

    svn propset svn:ignore "*.jpg" .
    

    (Note the dot at the end of the command.)

    For multiple files you can add a newline character.

    Type exactly like here with line breaks:

    svn propset svn:ignore "file1
    file2
    file3" dir1
    

    Check that the files are ignored:

    svn status --no-ignore
    

    Then commit the code.

    And yes, many duplicate questions are already available.

    You can refer my favorite svn cheatguide.

    You can create a file, svn-ignore.txt, with your ignored files and directories:

    *.class
    *.jar
    *.war
    *.ear
     target/
    .classpath
    .settings/
    .project
    .metadata
     bin/
    

    Now try the following:

    svn propset svn:ignore -RF /root/svn-ignore.txt . [dot for current dir]
    

    -R is for recursive.

    0 讨论(0)
提交回复
热议问题