Add all unversioned files to Subversion using one Linux command

前端 未结 11 1767
滥情空心
滥情空心 2020-12-23 09:24

Sometimes I include many files in different directories in my project. For now I am adding all files one by one to my project before commit. Is there any Linux terminal comm

11条回答
  •  没有蜡笔的小新
    2020-12-23 09:48

    This command will add any un-versioned files listed in svn st command output to subversion.

    Note that any filenames containing whitespace in the svn stat output will not be added. Further, odd behavior might occur if any filenames contain '?'s.

    svn st | grep ? | tr -s ' ' | cut -d ' ' -f 2 | xargs svn add
    

    or if you are good at awk:

    svn st | grep ? | awk '{print $2}' | xargs svn add
    

    Explanation:

    Step 1: svn st command

    [user@xxx rails]$svn st
    ?       app/controllers/application.rb
    M       app/views/layouts/application.html.erb
    ?       config/database.yml
    

    Step 2: We grep the un-versioned file with grep command:

    [user@xxx rails]$svn st | grep ?
    ?       app/controllers/application.rb
    ?       config/database.yml
    

    Step 3: Then remove the squeeze the space between ? and file path by using tr command:

    [user@xxx rails]$svn st | grep ? | tr -s ' '
    ? app/controllers/application.rb
    ? config/database.yml
    

    Step 4: Then select second column from the output by using cut command:

    [user@xxx rails]$svn st | grep ? | tr -s ' ' | cut -d ' ' -f 2
    app/controllers/application.rb
    config/database.yml
    

    Step 5: Finally, passing these file paths as standard input to svn add command:

    [user@xxx rails]$svn st | grep ? | tr -s ' ' | cut -d ' ' -f 2 | xargs svn add
    A       app/controllers/application.rb
    A       config/database.yml
    

提交回复
热议问题