PatchFile
をテンプレートにして作成
LECTURE
担当科目一覧
コンピュータ概論/2024
データサイエンス/2024
3DCG演習/2024
情報デザイン研究/2024
卒業研究/2024
KEYWORDS
WEB DESIGN
SOCIAL DESIGN
SQUARES
LINKS
九州産業大学
芸術学部
芸術研究科
九産大美術館
九産大図書館
年間スケジュール
動画ニュース他
交通情報
気象・環境情報
危機に備えて
K'sLife
Office365Mail
Tools
SEARCH
開始行:
*PatchFile
~
プログラムファイルというものは「生産完成品」ではなく、日...
容量やスピードに余裕のある現在では、ファイルまるごと入れ...
[[Git]]を用いたファイルのバージョン管理においても、パッチ...
パッチファイル(差分ファイル)の作成、パッチファイルを用...
-''diff コマンド'':パッチファイル(差分ファイル)の生成
-''patch コマンド'':パッチをあてて、ファイルを修正する
パッチファイル(差分ファイル)は プレーンなテキストファイ...
以下、簡単な事例で練習してみましょう。
~
***準備
以下の2つのファイルを事例に説明しますので、準備して下さ...
-sample.txt|修正が必要な現行ファイル
Sunday
Monday
Wednesday ← Tuesday が抜けている
Thursday
Fryday ← 綴りが違う(Fryday ではなく Friday が正しい)
Saturday
-sample.new.txt|問題が修正された新ファイル
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
~
***これから何をするのか
ここからの説明が混乱しないように、ここで、「開発者」と「...
一般にプログラムというものは100%完成した状態で配布され...
-問題を修正して最新版をつくり、これを現在稼働中の古いファ...
-パッチファイルを入手して、利用中のファイルを更新する >...
混乱を避けるために、以下の説明では、必要に応じて、どちら...
~
***パッチファイルの作成|開発者側
パッチファイルを作成するには、''diff コマンド''を使って、...
以下、[[ターミナル>Terminal]]のプロンプトが当該ディレクト...
-まず ls コマンドで、カレントディレクトリのファイル一覧を...
$ ls
sample.txt sample.new.txt
新旧2つのファイルが存在しています。
-diff コマンドでパッチファイルを生成します。
通常は、現在稼動中のファイルが修正されるべき対象となるの...
$ diff -u sample.txt sample.new.txt > sample.patch
これで、sample.txt から sample.new.txt への変更点が記載さ...
&small([ -u ] は unified diff形式でパッチファイルを作る・...
-出来上がったパッチファイルの内容を catコマンドで確認して...
$ cat sample.patch ← 内容を表示するためのコマンド
--- sample.txt 2017-09-08 12:43:04.000000000 +0900
+++ sample.new.txt 2017-09-08 12:42:16.000000000 +0900
@@ -1,6 +1,7 @@
Sunday
Monday
+Tuesday
Wednesday
Thursday
-Fryday
+Friday
Saturday
-記号にはそれぞれ以下のような意味があります
--先頭行 --- :修正されるべき旧ファイルのファイル名
--2行目 +++:問題が修正された新ファイルのファイル名
--@@ -1,6 +1,7 @@:
旧ファイルの変更範囲は1行目から6行分で、それに対する新...
--[+]:追加された行
--[ - ]:削除された行
~
***パッチをあてる|利用者側
パッチをあてる(つまり現行のファイルを修正する)には、''p...
-まず、ls コマンドで ファイルがカレントディレクトリにある...
$ ls
・・・ sample.txt sample.patch ・・・・
修正の必要な現行のファイルが sample.txt、これを修正するパ...
-patchコマンドでファイルにパッチをあてます。
いくつか方法があります。
--1) 適用するファイル名とパッチファイル名 ともに書く
$ patch -u sample.txt sample.patch
&small([ -u ] は unified diff形式のパッチファイルをあてる...
--2) 適用するファイル名を省略して、パッチファイル名のみ書く
$ patch -u < sample.patch
通常パッチファイルというのは、その作成する段階で現行のフ...
-出来上がったパッチファイルの内容を catコマンドで確認して...
$ cat sample.txt ← 内容を表示するためのコマンド。以下が...
Sunday
Monday
Tuesday ← Tuesday が挿入されている
Wednesday
Thursday
Friday ← 綴りが修正されている
Saturday
これで、開発者が更新した sample.new.txt と同じ状態に更新...
ファイル名は、sample.txt のままで正解です。ファイル名を変...
~
***ディレクトリ単位のパッチファイルの作成|開発者側
更新作業は、ファイル単体で行うこともあれば、大きくフォル...
-ここでは、開発者の手元に SampleProject というフォルダと...
-差分ファイルは、以下のようなコマンドで生成されます。
$ diff -u SampleProject SampleProject_new > SampleProjec...
-差分ファイル SampleProject.diff の内容は、以下のような感...
$ cat SampleProject.diff ← 内容を表示するためのコマンド
diff -u SampleProject/index.html SampleProject_new/index...
--- SampleProject/index.html 2017-09-08 19:06:46.0000000...
+++ SampleProject_new/index.html 2017-09-08 17:53:16.000...
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="style.css">
- <title>Sample Site</title>
+ <title>Sample Site New</title>
</head>
<body>
Only in SampleProject_new: myScript.js
diff -u SampleProject/style.css SampleProject_new/style....
--- SampleProject/style.css 2017-07-17 18:50:33.00000000...
+++ SampleProject_new/style.css 2017-09-08 19:07:02.0000...
:
-記号にはそれぞれ以下のような意味があります
--diff - u・・:フォルダ内の index.html 同士の比較です・...
-- --- :旧ファイルの名称 SampleProject/index.html
-- +++ :新ファイルの名称 SampleProject_new/index.html
--Only in ・・:SampleProject_new にのみ、ファイル myScri...
--diff -u ・・:フォルダ内の style.css 同士の比較です・・...
-- --- :旧ファイルの名称 SampleProject/style.css
-- +++ :新ファイルの名称 SampleProject_new/style.css
~
***ディレクトリ単位でパッチをあてる|利用者側
開発者が diff を実行した環境(ファイルパス)と、利用者が...
-cd コマンドで、差分を適用するフォルダ(SampleProject)の...
$ cd ./SampleProject
-必要なファイルがその中(SampleProjectの中)にあることを...
$ ls
index.html style.css SampleProject.diff
index.html、style.css は、修正の必要な現行のファイル。こ...
-patchコマンドでファイルにパッチをあてます。
$ patch -u -p1 < SampleProject.diff
ここで -p1について。ここでは、SampleProjectの中に差分ファ...
このように、ディレクトリ単位での処理を行う場合、diffを...
-実行すると以下のようなメッセージが出ます。
patching file index.html
patching file style.css
カレントディレクトリにある index.html とstyle.css に対し...
~
''補足''
-ちなみに、SampleProjectフォルダにSampleProject.diffを入...
$ ls
SampleProject SampleProject.diff
修正の必要なファイルのあるフォルダが SampleProject、パッ...
-これは、開発者が diff を実行したときと同じ位置関係になり...
$ patch -u -p0 < SampleProject.diff
-実行すると以下のようなメッセージが出ます。
patching file SampleProject/index.html
patching file SampleProject/style.css
現在の位置から見て、SampleProject フォルダの中の2つのフ...
~
~
~
終了行:
*PatchFile
~
プログラムファイルというものは「生産完成品」ではなく、日...
容量やスピードに余裕のある現在では、ファイルまるごと入れ...
[[Git]]を用いたファイルのバージョン管理においても、パッチ...
パッチファイル(差分ファイル)の作成、パッチファイルを用...
-''diff コマンド'':パッチファイル(差分ファイル)の生成
-''patch コマンド'':パッチをあてて、ファイルを修正する
パッチファイル(差分ファイル)は プレーンなテキストファイ...
以下、簡単な事例で練習してみましょう。
~
***準備
以下の2つのファイルを事例に説明しますので、準備して下さ...
-sample.txt|修正が必要な現行ファイル
Sunday
Monday
Wednesday ← Tuesday が抜けている
Thursday
Fryday ← 綴りが違う(Fryday ではなく Friday が正しい)
Saturday
-sample.new.txt|問題が修正された新ファイル
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
~
***これから何をするのか
ここからの説明が混乱しないように、ここで、「開発者」と「...
一般にプログラムというものは100%完成した状態で配布され...
-問題を修正して最新版をつくり、これを現在稼働中の古いファ...
-パッチファイルを入手して、利用中のファイルを更新する >...
混乱を避けるために、以下の説明では、必要に応じて、どちら...
~
***パッチファイルの作成|開発者側
パッチファイルを作成するには、''diff コマンド''を使って、...
以下、[[ターミナル>Terminal]]のプロンプトが当該ディレクト...
-まず ls コマンドで、カレントディレクトリのファイル一覧を...
$ ls
sample.txt sample.new.txt
新旧2つのファイルが存在しています。
-diff コマンドでパッチファイルを生成します。
通常は、現在稼動中のファイルが修正されるべき対象となるの...
$ diff -u sample.txt sample.new.txt > sample.patch
これで、sample.txt から sample.new.txt への変更点が記載さ...
&small([ -u ] は unified diff形式でパッチファイルを作る・...
-出来上がったパッチファイルの内容を catコマンドで確認して...
$ cat sample.patch ← 内容を表示するためのコマンド
--- sample.txt 2017-09-08 12:43:04.000000000 +0900
+++ sample.new.txt 2017-09-08 12:42:16.000000000 +0900
@@ -1,6 +1,7 @@
Sunday
Monday
+Tuesday
Wednesday
Thursday
-Fryday
+Friday
Saturday
-記号にはそれぞれ以下のような意味があります
--先頭行 --- :修正されるべき旧ファイルのファイル名
--2行目 +++:問題が修正された新ファイルのファイル名
--@@ -1,6 +1,7 @@:
旧ファイルの変更範囲は1行目から6行分で、それに対する新...
--[+]:追加された行
--[ - ]:削除された行
~
***パッチをあてる|利用者側
パッチをあてる(つまり現行のファイルを修正する)には、''p...
-まず、ls コマンドで ファイルがカレントディレクトリにある...
$ ls
・・・ sample.txt sample.patch ・・・・
修正の必要な現行のファイルが sample.txt、これを修正するパ...
-patchコマンドでファイルにパッチをあてます。
いくつか方法があります。
--1) 適用するファイル名とパッチファイル名 ともに書く
$ patch -u sample.txt sample.patch
&small([ -u ] は unified diff形式のパッチファイルをあてる...
--2) 適用するファイル名を省略して、パッチファイル名のみ書く
$ patch -u < sample.patch
通常パッチファイルというのは、その作成する段階で現行のフ...
-出来上がったパッチファイルの内容を catコマンドで確認して...
$ cat sample.txt ← 内容を表示するためのコマンド。以下が...
Sunday
Monday
Tuesday ← Tuesday が挿入されている
Wednesday
Thursday
Friday ← 綴りが修正されている
Saturday
これで、開発者が更新した sample.new.txt と同じ状態に更新...
ファイル名は、sample.txt のままで正解です。ファイル名を変...
~
***ディレクトリ単位のパッチファイルの作成|開発者側
更新作業は、ファイル単体で行うこともあれば、大きくフォル...
-ここでは、開発者の手元に SampleProject というフォルダと...
-差分ファイルは、以下のようなコマンドで生成されます。
$ diff -u SampleProject SampleProject_new > SampleProjec...
-差分ファイル SampleProject.diff の内容は、以下のような感...
$ cat SampleProject.diff ← 内容を表示するためのコマンド
diff -u SampleProject/index.html SampleProject_new/index...
--- SampleProject/index.html 2017-09-08 19:06:46.0000000...
+++ SampleProject_new/index.html 2017-09-08 17:53:16.000...
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="style.css">
- <title>Sample Site</title>
+ <title>Sample Site New</title>
</head>
<body>
Only in SampleProject_new: myScript.js
diff -u SampleProject/style.css SampleProject_new/style....
--- SampleProject/style.css 2017-07-17 18:50:33.00000000...
+++ SampleProject_new/style.css 2017-09-08 19:07:02.0000...
:
-記号にはそれぞれ以下のような意味があります
--diff - u・・:フォルダ内の index.html 同士の比較です・...
-- --- :旧ファイルの名称 SampleProject/index.html
-- +++ :新ファイルの名称 SampleProject_new/index.html
--Only in ・・:SampleProject_new にのみ、ファイル myScri...
--diff -u ・・:フォルダ内の style.css 同士の比較です・・...
-- --- :旧ファイルの名称 SampleProject/style.css
-- +++ :新ファイルの名称 SampleProject_new/style.css
~
***ディレクトリ単位でパッチをあてる|利用者側
開発者が diff を実行した環境(ファイルパス)と、利用者が...
-cd コマンドで、差分を適用するフォルダ(SampleProject)の...
$ cd ./SampleProject
-必要なファイルがその中(SampleProjectの中)にあることを...
$ ls
index.html style.css SampleProject.diff
index.html、style.css は、修正の必要な現行のファイル。こ...
-patchコマンドでファイルにパッチをあてます。
$ patch -u -p1 < SampleProject.diff
ここで -p1について。ここでは、SampleProjectの中に差分ファ...
このように、ディレクトリ単位での処理を行う場合、diffを...
-実行すると以下のようなメッセージが出ます。
patching file index.html
patching file style.css
カレントディレクトリにある index.html とstyle.css に対し...
~
''補足''
-ちなみに、SampleProjectフォルダにSampleProject.diffを入...
$ ls
SampleProject SampleProject.diff
修正の必要なファイルのあるフォルダが SampleProject、パッ...
-これは、開発者が diff を実行したときと同じ位置関係になり...
$ patch -u -p0 < SampleProject.diff
-実行すると以下のようなメッセージが出ます。
patching file SampleProject/index.html
patching file SampleProject/style.css
現在の位置から見て、SampleProject フォルダの中の2つのフ...
~
~
~
ページ名: