#author("2016-03-22T22:03:50+09:00","","")
#author("2017-06-13T00:11:29+09:00","","")
* ソースコードリポジトリ内でデフォルトコンテンツが配布パッケージと同じ場所に配置されている [#h79acf14]

- ページ: [[BugTrack2]]
- 投稿者: [[umorigu]]
- 優先順位: 低
- 状態: 提案
- 状態: 却下
- カテゴリー: その他
- 投稿日: 2016-01-18 (月) 03:10:19
- バージョン: 1.5.0

** メッセージ [#v164cdd4]
現状、pukiwiki リポジトリ内では、デフォルトコンテンツが配布パッケージと同じ場所に配置されています。

例えば wiki/ 内のWiki本文を表すファイル群です。

このため、リポジトリをcloneした後に動作させると、PHPのソースを変更していないのにWikiテキストの変更が検出されてしまう。また、ソース変更部分とWiki変更部分が混ざって表示されてしまう。

開発時に地味に面倒なので、デフォルトコンテンツの場所を移動したい。


** Solution [#y977c64c]

[[qiita.com:usamik26/items/56d0d3ba7a1300625f92]] 既に git 管理しているファイルをあえて無視したい
より引用:

 git でファイルを無視するには、通常は .gitignore や .git/info/exclude を使います。
 しかし、既に git 管理下にあるファイルは、これらの設定があっても無視されません。
 
 以下の方法を使えば、git 管理下にあるファイルをあえて無視することが可能です。
 ...
 方法(2) skip-worktree
 git update-index --skip-worktree [ファイル名]
 この設定を取り消すには次のようにします。
 
 git update-index --no-skip-worktree [ファイル名]

 *** assume-unchanged と skip-worktree の違い
 この2つは、以下の点が違います。
 
 - assume-unchanged : そのファイルが作業ツリー上で変更されているときでも、git はその変更を無視して変更されていないとみなします。
 - skip-worktree : そのファイルが作業ツリー上で変更されているときには、git はその変更を保ちます。
 これは、以下のような状況で動作の違いとしてあらわれます。
 
 *** 作業ツリー上でもリポジトリ上でもファイル更新があって、それをマージするとき
 - assume-unchanged : 作業ツリー上の更新は破棄されて、リポジトリの内容が取り込まれます。
 - skip-worktree : 作業ツリー上の更新は保持されて、リポジトリの内容は取り込まれません。
 *** 作業ツリー上でファイル更新があって、git reset --hard を実行したとき
 - assume-unchanged : 作業ツリー上の更新は破棄されます。
 - skip-worktree : 作業ツリー上の更新は保持されます。

skip-worktree が、この用途にちょうど使えます。
良いソリューションが見つかったので、ソースコード管理方法の変更はしないことにします。


--------
- .cvsignre (ひょっとして: .gitignore) -- [[henoheno]] &new{2016-01-20 (水) 00:27:05};
- 動かすならコレも関係してくる?[[BugTrack2/54]] 各国語のコンテンツ置き場について --  &new{2016-03-22 (火) 22:03:50};

#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.060 sec.

OSDN