GNU/Linux >> Linux の 問題 >  >> Linux

シンボリックリンクファイルは SVN に耐えますか?

Subversion の機能ページから :

<ブロック引用>

シンボリック リンクはバージョン管理できます。

Unix ユーザーは、シンボリック リンクをバージョン管理下に置くことができます。リンクは Unix 作業コピーで再作成されますが、win32 作業コピーでは再作成されません。

<オール>
  • はい

  • 権限が変更されない限り、変更する必要があります。

  • Windows チェックアウトでは機能しません。


  • 一般的に、はい .

    ただし、シンボリック リンクを正しく処理できないクライアントもあります。 Eclipse IDE の Subclipse は、シンボリック リンクの代わりにディレクトリを作成します。

    そのため、開発に着手する前に、クライアントが正しく行っていることを確認することをお勧めします。


    シンボリック リンクは Windows マシンでは存続しません。これが問題になる可能性があります。
    Windows マシンでは、シンボリック リンクはプレースホルダー ファイルの形式をとります*)。例:

    style.css :

    link ../www_public/styles.css
    

    *):これらのファイルには "svn:special "* の値を持つ " プロパティ ".

    プロジェクトを宛先サーバーに移動/アップロードする前に、Windows マシンにエクスポートする必要がある場合があります。

    私は、プレースホルダー ファイルから実際のシンボリック リンクを再作成する際に素晴らしい仕事をする小さなシェル スクリプトを使用します。

    #!/bin/sh
    
    grep -lr '^link ' . | while read placeholderfile
    do
      linecount=`wc -l $placeholderfile | cut -c1`
      if [ $linecount -eq 0 ] ; then
        linkfile=`cut -c6- "$placeholderfile"`
        ln -sf "$linkfile" "$placeholderfile"
    
        echo -e "[\E[32;40mOK\E[37;40m] Replaced $placeholderfile with symlink"
      else
        echo -e "[\E[31;40mWARNING\E[37;40m] $placeholderfile contains newline(s)"
      fi
      tput sgr0
    done
    

    このスクリプトは、文字列「link」で始まるすべてのファイルを想定して動作します。 " 改行を含まないものはシンボリック リンクです。


    Linux
    1. ハードリンクをシンボリックリンクに変換しますか?

    2. シンボリック リンクの環境変数

    3. シンボリックリンクを圧縮するには?

    1. シンボリック リンク:このファイルにリンクしているすべてのファイルを検索します

    2. 相対シンボリック リンクを移動するにはどうすればよいですか?

    3. シンボリック リンクの作成:プロトコル エラー

    1. ディレクトリへのシンボリックリンクを削除するには?

    2. シンボリック リンクをファイルに置き換える

    3. シンボリック リンク チェーンを一覧表示するには?