■掲示板に戻る■ 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50



レス数が1000を超えています。残念ながら全部は表示しません。

CVSを使ってファイル管理

1 :名無しさん@お腹いっぱい。 :2001/08/10(金) 18:10

CVSを使ってファイル管理している人の質問スレ

253 :名無しさん@お腹いっぱい。 :02/05/01 20:34
じゃあsubversionか。
* Faster network access. A binary diffing algorithm is used to
store and transmit deltas in *both* directions, regardless of
whether a file is of text or binary type.

最近はcheckoutの途中でctrl-cを押すと .svn/ の中身が再開できない状態に
なっちゃったりしないのかなあ。


254 :名無しさん@お腹いっぱい。 :02/05/03 02:39
Subversion使ってる人いますか?
http://pc.2ch.net/test/read.cgi/linux/1002355536/


255 :253 :02/05/04 07:25
>>254
1. そこに書いても誰も反応しない、所詮は犬板
2. そもそもsubversionは犬specificではない
3. きらいやねん犬板


256 :名無しさん@お腹いっぱい。 :02/05/04 13:17
Subversion って、これ?
http://subversion.tigris.org/


257 :名無しさん@お腹いっぱい。 :02/05/04 14:31
(´-`).。oO( Subversionって、perversionとかinversionとか連想して
               なんとなくイヤだなあ…

258 :225 :02/05/08 12:00
>>225です。その節はお世話になりました。
4.5Stableにageたらcvs diff -jが使えるようになりました。
#Concurrent Versions System (CVS) 1.11.1p1-FreeBSD (client/server)
#(cvs -H diffしても-jは出て来ませんが…)

それとは別に、ちょっと気になることがあったのですが:


             b1(4/5)---b2(4/8)---b3(4/11)     (branch 'eda')
             /
  a0(4/1)---a1(4/5)---a2(4/8)---a3(4/10)       (trunk)
  
cvs co -r eda modulenameしたディレクトリ(b3)で
cvs diff -r HEADすると、以前はb3とa3の差分が出力されていたと
思うのですが、今やるとb3とb3の差分(つまりφ)が出力されるようです。
HEADの意味合いが変更(常に幹の最新→その時の枝の最新)になったのでしょうか?

..., two special tags are always available: `HEAD'
refers  to the most recent version available in the
repository, and `BASE' refers to the  revision  you
last  checked  out  into the current working direc-
tory.

と、manにはあるのですが…

#cvs rdiff -r eda -r HEAD modulename、または
#cvs diff -Dtodayとやるとb3とa3の差分が出るようです。

259 :名無しさん@お腹いっぱい。 :02/05/08 12:16
>>257
よーしパパ perversion ってソフト作っちゃうぞー


260 :名無しさん@お腹いっぱい。 :02/05/08 15:25
いきなりですが、CE (HPC) で動く CVSってないでしょうか。
できれば ssh対応で。

これがあるとモバギ生活がさらに楽しくなることうけあい。

netbsd/hpcmips というのがまっとうなんだろうけどNE


261 :名無しさん@お腹いっぱい。 :02/05/08 20:11
全然Unixでの話ではないのですが、下記の環境で WinCVS を使っています。

・LAN内の Win2k server マシンの共有ディレクトリ上にリポジトリを作成
・クライアントは Win2k pro マシン、WinCVS 1.2 + ごった煮を使っています。
・アクセス方式(?)は :local:\\マシン名\共有名\hoge\cvsroot という感じ。

現在、あるファイルが commit できなくなって困っているのですが、
どなたか解決策をご存じの方はいらっしゃいませんか?
commit しようとすると、下記のメッセージが出て commit できない。
WinCVS の画面の下にあるログには下記のように出ています。

---------------
cvs commit -m "メッセージ" filename.txt (ディレクトリ c:\myfolder\内)
Checking in filename.txt;
\\hostname\ShareName\hoge\cvsroot/moduleName/src/filename.txt,v <-- filename.txt
new revision: 1.75; previous revision: 1.74
cvs [commit aborted]: cannot rename file \\hostname\ShareName\hoge\cvsroot/moduleName/src/,filename.txt, to \\hostname\ShareName\hoge\cvsroot/moduleName/src/filename.txt,v: File exists
---------------

実際に \\hostname\ShareName\hoge\cvsroot\moduleName\src をのぞいても、
filename.text,v はありません。

WinCVS の設定は、
[管理]-[設定]-[全般]タブ の CVSのバージョンは、「cvs 1.10(標準)」にしています。
[共通設定]タブでは、読み込み専用でチェックアウト、Dirtyファイルサポート、
空のディレクトリを削除にチェックを入れています。

ちなみに、CVSのバージョンのところで「cvs 1.10(NTサーバ)」にしていたときは、
commit に失敗すると ,filename.txt が残るため、cvs 1.10(標準)にしました。
これでしばらく安定していたのに...


262 :名無しさん@お腹いっぱい。 :02/05/08 20:29
>>261
思いっきり板違いだから他でやっとくれと言いたい所だが...

とりあえず1.1b15
http://www.linkclub.or.jp/~tumibito/soft-an/cvs/download.html
で試してみたら?

# 試す前にリポジトリのバックアップはとっとくよーに

263 :名無しさん@お腹いっぱい。 :02/05/08 22:16
>>258
| HEADの意味合いが変更(常に幹の最新→その時の枝の最新)になったのでしょうか?

そんな…… 枝がHEADにmergeされたとかいう可能性は?

HEADとbranchで内容が違っているファイル foo を、
$ cvs up -prHEAD foo > /tmp/foo.HEAD
$ cvs up -prBASE foo > /tmp/foo.BASE
$ diff -u /tmp/foo.BASE /tmp/foo.HEAD
して調べてみたら?


264 :261 :02/05/08 22:17
>>262 さん
レスどうもありがとうございます。
試してみましたが、結局うまくいきませんでした。

ひとつわかったことがあるのですが、リポジトリ上でcommit できないファイルを
直接リネームしようとすると、windows の「このファイルは共有中です」といって
OSがファイルをロックしてしまい、別のクライアントからアクセスできませんでした。
commit できるファイルは、リポジトリ上のファイルを直接リネームとか
できます。

で、ロックされているファイルを右クリックしてファイルの所有者を調べ、
その所有者のマシンを再起動してもらいロックをはずすことで解決しました。

ちなみに社内の別のチームでも同じことが過去に起っていて、そのときは
win9xなクライアントからアクセスすると同じことが起きました。
この場合はサーバマシンを再起動しないとだめでした。

以上、スーパー板違いで申し訳ありませんでしたが、all windows な環境で
:local 方式で WinCVS を使っている場合の参考になれば幸いです。
(all windows で WinCVS な人は多いと思うんだけど、そういう人はこの板に
いないか...)


265 :名無しさん@お腹いっぱい。 :02/05/08 22:37
>>263
こういう感じでした:

% cvs up -prHEAD foo > /tmp/foo.HEAD
% cvs up -prBASE foo > /tmp/foo.BASE
% diff -q foo.BASE foo.HEAD
Files foo.BASE and foo.HEAD differ
% cvs diff -rHEAD
cvs diff: Diffing .
% cvs diff -rBASE
cvs diff: Diffing .
% cvs diff -rTRUNK_1
cvs diff: Diffing .
Index: install.sh
(...延々と差分...)
% cvs diff -Dtoday
cvs diff: Diffing .
Index: install.sh
(...延々と差分...)

-rHEADでも、-rBASEでも全くdiffが出力されないので、HEADの定義とは
また別個の問題のような気もするのですが。。

266 :263 :02/05/08 23:09
>>265 checkoutされているのはHEADなんじゃ……


267 :名無しさん@お腹いっぱい。 :02/05/08 23:27
>>266
そ、そんな。。

% cvs status install.sh
cvs status install.sh 
===================================================================
File: install.sh    Status: Up-to-date

Working revision:  1.1.1.1.2.3   Mon May 6 12:14:14 2002
  Repository revision: 1.1.1.1.2.3   /usr/home/blabla/cvsroot/modulename/install.sh,v
  Sticky Tag:     eda (branch: 1.1.1.1.2)
  Sticky Date:     (none)
Sticky Options:   (none)

268 :名無しさん@お腹いっぱい。 :02/05/17 14:11
いま loginfo を使って自動 update をする設定にしているんですが,
PCL-CVS でコミットすると自動 update できません.

loginfo に
^html /export/home/users/scm/updatehtml

と書いて,updatehtml には
#!/bin/sh
CVSROOT=/export/home/cvsroot
export CVSROOT
cd /export/home/wwwroot/html
/usr/local/bin/cvs update -dP &

と書いていて,setuid ビットを立てています.

この状態で (/export/home/hoge/html/sample.html を) コミットすると,
コンソールでは
% cvs ci -m "test" sample.html
Checking in sample.html;
/export/home/cvsroot/html/sample.html,v <-- sample.html
new revision: 1.7; previous revision: 1.6
done
cvs update: [13:58:44] waiting for hoge's lock in /export/home/cvsroot/html
cvs update: [13:59:14] obtained lock in /export/home/cvsroot/html
U sample.html

となって自動 update は出来ているのですが,PCL-CVS からだとコミットは
出来ているのですが,自動 update を行ってないのです.
*Message* では

Press C-c C-c when you are done editing.
(No files need saving)
Running cvs commit ...
CVS process has completed

となっていて Error にもなってないようです.

.emacs には
;;; for PCL-CVS
(load-library "pcl-cvs-startup")
(setq diff-switches "-c")
(global-set-key "\C-cv" 'cvs-update)

としてあります.pcl-cvs-2.9.9 です.
何か他に設定がいるのでしょうか.


269 :名無しさん@お腹いっぱい。 :02/05/17 14:40
>>268
シェルスクリプトはsuidできないよーな。

270 :名無しさん@お腹いっぱい。 :02/05/19 18:47
>>236
これって、mountオプションのnosuidとかそういうのが
原因なのかねえ。


271 :初期不良 :02/05/19 22:22
初めて CVS を使うんですが、
php での開発に試しにここにある WinCVS を使ってみました。
http://www.gembook.jp/html/moin/moin.cgi/CvsInfo
何となく慣れてきたんですが、ディレクトリごとアップロードするのに
各ディレクトリに作られる CVS ディレクトリがじゃまなんです。
けど、 http://www.naney.org/comp/cvs/faq/#cvsdirectory
を見るとどうしようもない気もします。
cvsup だったらこの辺の制御用ディレクトリはできないかな?
アップロードの代わりにアップロード先に cvsup と言うのも
ありですか?

272 :初期不良 :02/05/19 22:23
>>271
あ、ローカルに CVSROOT 作って試しています。

273 :名無しさん@お腹いっぱい。 :02/05/19 22:26
(´-`).。oO( CVSディレクトリが邪魔になるって
        一体どういうことをしてるんだろう。。。

274 :名無しさん@お腹いっぱい。 :02/05/19 22:27
>>271
checkoutでなく、exportしたら?

275 :名無しさん@お腹いっぱい。 :02/05/19 22:28
>>271 何をしたいのかわからんがexport使えば?

276 :初期不良 :02/05/19 23:40
>>273
コンパイルの代わりに動作環境にアップロードってな感じなんで、
安定するまでの作業中にディレクトリごとアップロードしたいときに
じゃまになるんです。
>>274-271
どうもです。WinCVS のチェックアウト時のオプションに
「CVS管理用のディレクトリを作らない(export)」と言うのが
見つかりました。けどやっぱり CVS 管理外になってしまって
このまま作業はできないんですね...
どこか別にまとめて持ってくれるだけでも助かるんですが...
テスト環境には管理ディレクトリも気にせずアップロード、
本番環境には export したものをアップロードってのがいいのかな?

277 :名無しさん@お腹いっぱい。 :02/05/20 00:02
(´-`).。oO(GTETの作者なんだろうか…?)

278 :名無しさん@お腹いっぱい。 :02/05/20 00:11
>>276
CVSROOT/loginfoとか使って自動的にftpするとか。
シェル使えるなら鯖側にリポジトリ置いた方が楽かな。

279 :初期不良 :02/05/20 01:32
>>277
...

>>278
loginfo 見てみました。なんか commit 通知をどこに送るか
みたいなことが書いてありましたが、確かに自動的に ftp
させるようなこともできるみたいですね。鯖側に...
そか、コピーするだけでいいような状態にもできますしね。
勉強になります。

280 :名無しさん@お腹いーっぱい。 :02/05/20 10:21
>>279
いや、むしろ

 1. バッチ処理で 「もし export が成功ならば ftp でアプロドする」
または
 2. サーバ側で CVS を動かす
  (クライアント側の CVS から接続できない場合は、
  telnet かなんかで鯖のシェルに CVS コマンドを叩き込む…が、
  これじゃ GUI は使えない)
または
 3. 鯖のディレクトリをクライアントのファイルシステムにマウントする

つーあたりが現実解なのではないかと。

281 :名無しさん@お腹いっぱい。 :02/05/20 18:28
サーバに転送するときに CVS ディレクトリを除外すればいいんじゃないの?
今時の大抵のツール (何使ってるか知らないけど) ならそういう機能持ってるのでは?


282 :名無しさん@お腹いっぱい。 :02/05/20 18:39
(´-`).。oO( データファイルを千単位のディレクトリに小分けしてるような
        プロジェクトだったら嫌そうだなあ。。。

283 :名無しさん@お腹いっぱい。 :02/05/20 19:19
普通 CVS という名前でマッチングできるのでは?


284 :名無しさん@お腹いっぱい。 :02/05/20 20:11
>>281 rsyncは装備してるよね!

285 :初期不良 :02/05/22 01:45
>>280
commit する前にサーバに送って試したいので...

>>281
SCP しか使わない感じになってきてるんで
ちょっとツールは弱い感じ。WinSCP と putty の scp は無理かな。

結局テスト環境には気にせず転送(マウントでもいいけど)
ってのがいいのかも。あとで消す場合は楽だしね。
実際あって動作に支障がある訳じゃないし。

286 :名無しさん@Emacs :02/05/22 09:37
cvsignoreを使って除外するファイルは指定出来ますが
排他的に指定は出来ないでしょうか?
Webページをcvsで管理したいのですが、*.html以外は
いらないです。

287 :名無しさん@Emacs :02/05/22 14:47
cvsってシンボリックリンンクは追えないのでしょうか?
dotfileを一つのディレクトリにシンボリックリンンクを
張って管理しようとしたのですが…。

288 :名無しさん@お腹いっぱい。 :02/05/22 20:05
>>287 CVSの欠点の1つです。

289 :名無しさん@お腹いっぱい。 :02/05/22 20:34
ところで、bitkeeperってどうよ

近頃、急速にひろがってるみたいだけど

http://www.bitkeeper.com/Products.Comparisons.CVS.html
http://www.bitkeeper.com/


290 :名無しさん@お腹いっぱい。 :02/05/22 20:38
>>289
お値段書いてないっす

291 :名無しさん@お腹いっぱい。 :02/05/22 20:51
>>289
*BSD開発があれだけうまくいってる(ように見える)とCVSで十分と思えるけど…。
あれはあれで開発者は不満なのかな??
でも不満があれば作り変えちゃう連中だしなぁ???

292 :名無しさん@お腹いっぱい。 :02/05/22 22:48
>>286 こんなんどうかな……
*.[^h]???
*.?[^t]??
*.??[^m]?
*.???[^l]


293 :286 :02/05/23 00:37
>>292
~/public_html/.cvsignoreに書いてみましたが効果ナッシングです。
.jpgやら.plやら.cgiやら、可能性のある拡張子を登録していくなんて美しくないです。
htmlを管理している人はどうしてるんですかね…。

294 :名無しさん@お腹いっぱい。 :02/05/23 00:53
>>293
普通、ディレクトリ丸ごとリポジトリにつっこむだろ。

295 :286 :02/05/23 00:55
>>294
バイナリや関係無いファイルも気にせずGoって事ですか。


296 :名無しさん@お腹いっぱい。 :02/05/23 01:21
>>295
.cvsignoreは
*
のみ(全ファイル対象)にする。

*.htmlなファイルをcvs add & ci。

これで*.htmlだけCVSで扱えるような、
そんな予感がします。
予感だけかもしれないsage。


297 :286 :02/05/23 01:44
>>296
なるほど。いい感じです。

298 :294 :02/05/23 02:00
>>295
ある時点での作業状況が完全に再現できるというメリットを考えればバイナリも入れるべきだと俺は思う。
CGIスクリプトのログとかは微妙だけど。

299 :286 :02/05/23 02:02
>>298
確かに…。


300 :286 :02/05/23 02:25
訂正
>>293では.cvsignoreを置く場所がまずかったようです。
~/.cvsignoreに置かないと駄目なんですね。

301 :286 :02/05/23 03:05
>>296
> *.htmlなファイルをcvs add & ci。

ディレクトリ以下全ての*.htmlを
追加する方法はないでしょうか?
zshを使っています。

302 :286 :02/05/23 03:56
思ったんですけど、cvs addってファイル単位で出来ませんよね。

cvsignoreで*を指定
public_htmlでcvs import →何も追加されない
cvs checkout
cvs add *.html →これでカレントディレクトリのhtmlは追加出来る。
cvs commit →反映

で、サブディレクトリ以下の*.htmlや、今後増える。*.html
を追加するには…?

303 :名無しさん@お腹いっぱい。 :02/05/23 04:07
>>302
> 思ったんですけど、cvs addってファイル単位で出来ませんよね。
そうだったのか。知らんかったYo!

304 :286 :02/05/23 04:10
あれ、違ったのですか。
すいません。

% cvs add aaa/index.html
cvs add: in directory aaa:
cvs [add aborted]: there is no version here; do 'cvs checkout' first

ってなって出来ないんですけど。
cvs checkoutはしえあるのですが。
確かにaaa/CVSはないですけど。


305 :名無しさん@お腹いっぱい。 :02/05/23 04:44
cvs add aaa

306 :286 :02/05/23 07:20
>>305
それって、結局ファイル単位でadd出来ていませんよね。

307 :名無しさん@お腹いーっぱい。 :02/05/23 09:23
>>295
あー、そうすると core もなノカー Σ(´Д` )ズガーン

308 :286 :02/05/23 09:50
ファイルを追加出来ました。
addの後、commitするにもファイルを指定するんですね。

309 :名無しさん@お腹いっぱい。 :02/05/23 16:56
>>304
cvs addはファイルのあるディレクトリでしか出来ないよ。
% cd aaa
% cvs add index.html

ま、一度
% info cvs
しなさいってこった。

310 :286 :02/05/23 17:19
>>309
おう、そうなんですか。ありがとう。
一応本も買って勉強してるんですがね。

311 :名無しさん@お腹いっぱい。 :02/05/23 18:12
>309
    |
   /⌒ヽ  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  │ ・◎・)< そーでもないよ
  │ ・  つ  \
  │ ・  │    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   \_/
cvs add aaa/index.htmlが成功するためには
ディレクトリaaaがcvsの管理下にあればいいよ。
cvs add aaaすればaaaが管理下に入る。

cvs add files/patch-*とかよくやりますです。

312 :名無しさん@お腹いっぱい。 :02/05/23 20:27
>>311

   Unlike most other commands, the `add' command is not recursive.  You
cannot even type `cvs add foo/bar'!  Instead, you have to

     $ cd foo
     $ cvs add bar

って書いてあったからそうなのかなあと(cvs.info)。

313 :名無しさん@お腹いっぱい。 :02/05/23 20:59
>312 実際の動作から見ると、infoが追いついてないのかなあ。
~$ cvs co test
cvs checkout: Updating test
U test/VERSION
~$ cd test/
~/test$ ls -lF
total 2
drwxr-xr-x 2 nanashi nanashi 512 May 23 20:50 CVS/
-rw-r--r-- 1 nanashi nanashi 9 Jan 15 2001 VERSION
~/test$ mkdir newdir
~/test$ cvs add newdir
Directory /home/nanashi/cvs/test/newdir added to the repository
~/test$ touch newdir/newfile
~/test$ cvs add !$
cvs add newdir/newfile
cvs add: scheduling file `newdir/newfile' for addition
cvs add: use 'cvs commit' to add this file permanently
~/test$ cvs commit -m ''
cvs commit: Examining .
cvs commit: Examining newdir
RCS file: /home/nanashi/cvs/test/newdir/newfile,v
done
Checking in newdir/newfile;
/home/nanashi/cvs/test/newdir/newfile,v <-- newfile
initial revision: 1.1
done
~/test$ uname -sr
OpenBSD 3.0


314 :名無しさん@お腹いっぱい。 :02/05/23 21:11
>>313
ホントだ、出来るようになってる。目出度い。

では、>>304は

% cvs add aaa
% cvs add aaa/index.html

でいいわけですね。

315 :名無しさん@お腹いっぱい。 :02/05/28 23:37
knu cvsweb なんですけどタグ指定でdiffとると
「Error: Malformed query 」って言われちゃいます。
こんなふうに↓
http://www.ruby-lang.org/~knu/cgi-bin/cvsweb.cgi/ruby/COPYING.diff?r1=text&tr1=1.1&r2=1.1.1.2.6.4%3Av1_6_7&tr2=1.1.1.2.6.4
どうにかならないですか?


316 :名無しさん@お腹いっぱい。 :02/06/02 13:39
(´-`)。oO(>>315 knu@ruby-lang.org にメール出せばいいんじゃないかな。)


317 :名無しさん@お腹いっぱい。 :02/06/05 06:02
dot.fileをシンボリックリンンクを張り、1ヶ所に集めてCVSで管理しようと
したのですが>>287-288を見ると出来ないようですね。

そこで、逆に本物のファイルを1ヶ所に集めて、~/以下にシンボリックリンンク
を張る事にしました。
% ls -l .emacs.el
lrwxr-xr-x 1 mona- wheel 24 Jun 5 05:49 .emacs.el@ -> work/dot.files/.emacs.el

これでうまくいきそうなのですが、Emacsから~/.emacs.elを開こうとすると

Symbolic link to CVS-controlled source file; follow link? (yes or no)

と聞かれ(たぶんPCL-CVSの機能だと…)、Linkを追うのでyesと答えると

Selecting deleted buffer

と共にbeep音が鳴ります。~/.emacs.elのバッファは表面に出て来ません。
noと答えると、ファイルが開けます。
どう違うのかよくわかりませんが、noで問題無いなら無条件でnoにしたいのですが
やり方を知っていませんか?

318 :名無しさん@お腹いっぱい。 :02/06/05 13:34
(´-`).。oO(ハードリンクじゃだめなんだろうか?・・・)




319 :317 :02/06/05 16:53
>>318
ハードリンクだと、~/work/dot.files/の中のdot.fileを修正しあと
~/のdot.fileに自動に反映されない気がするのですが。
シンボリックリンンクだと反映されますよね。


320 :317 :02/06/05 16:53
自分馬鹿なんで、間違った事書いてたら、どんどん煽って下さい。

321 :名無しさん@お腹いっぱい。 :02/06/05 17:09
(´-`).。oO(とりあえずハードリンクでためしてみてはどうだろうか?・・・)


322 :名無しさん@お腹いっぱい。 :02/06/05 17:13
file system が違うと利用できない > ハードリンク



323 :317 :02/06/05 18:07
>>321
もちろん試しました。
しかし、自分のやった範囲では、反映されませんでした。
きっと、自分のやり方が間違ってると思うのですが、
どう間違っているのか分かりません。

>>322
file systemはufsです。

324 :名無しさん@お腹いっぱい。 :02/06/05 19:14
ufsでもハードリンクは使えると思うのだが、
~/work/dot.files/.emacs.el
があったとして、
~/

ln work/dot.files/.emacs.el
ってやってつくったんだよね?

ls -iでi-nodeが同じになってるかどうか調べてみ。


325 :317 :02/06/05 20:13
>>324
cd work/dot.filesして
cvs import したあと、管理を初めるのにcvs checkoutした時に
ハードリンクを切ってしまったからのようです。
cvs checkoutする時に 1度work/dot.filesを消したから当然かも。
cvs checkoutしたあと、ハードリンクを張る事で解決したようです。

ありがとうございました。また、お世話になると思いますが
よろしくお願いします。


326 :名無しさん@お腹いっぱい。 :02/06/05 20:50
それって、backup-by-copying を t にする必要がありそうだね。
いままでこの変数を気にしたことなかったけど。

327 :名無しさん@お腹いっぱい。 :02/06/05 21:19
ん?なんで?


328 :名無しさん@お腹いっぱい。 :02/06/05 21:32
あぁ、そっか、ぼけてた。
backup-by-copying-when-linked
でもいいみたい。


329 :317 :02/06/06 11:36
当然checkoutするとi-nodeが変わるのか…。

330 :名無しさん@お腹いっぱい。 :02/06/06 12:10
うん? ちょっとまとめてもらいたいんだけど、
backup-by-copying なり backup-by-copying-when-linked を
t にした状態において、vc とか pcl-cvs で ci, co などを
したときハードリンクは正しく維持されてるの? >>317


331 :名無しさん@お腹いっぱい。 :02/06/06 13:44
ドットファイルを直接管理した方が楽だろうに

332 :名無しさん@お腹いっぱい。 :02/06/06 16:52
ふと思うに、
~/.emacs.el
を編集するのではなく、
~/work/dot.files/.emacs.el
を編集すればシンボリックリンクのままでいいのではなかろうか?


333 :317 :02/06/06 18:14
>>330
こんがらっているので、もう1度整理してみます。

>>331
cvs importした時に~/以下のファイルがみんな登録されてしまいませんか?

>>332
ちょっと試してみます。


334 :名無しさん@お腹いっぱい。 :02/06/06 21:07
>>333
> cvs importした時に~/以下のファイルがみんな登録されてしまいませんか?

import は空のディレクトリで始めればいいのでは。で、ホームディレクトリに
checkout する。あとは、個別にドットファイルを add という具合に。

335 :317 :02/06/06 21:47
>>334
天才がいるスレはここですか?

336 :名無しさん@お腹いっぱい。 :02/06/06 23:44
目から鱗とはこのことだな。いやあ、感心したよ

337 :317 :02/06/07 07:38
>>334
> import は空のディレクトリで始めればいいのでは。で、ホームディレクトリに
> checkout する。あとは、個別にドットファイルを add という具合に。

ホームディレクトリにcvs checkoutする時、cvs import で指定した名前の
ディレクトリが作られませんか?

cvs import dot.files name start
cd
cvs checkout dot.files
ls -F
dot.files/

な風に。

mv dot.files/* .
したけど、これでいいのか分かりません。

338 :名無しさん@お腹いっぱい。 :02/06/07 09:05
>>334
cd ~
cvs checkout -d . dot.files

とすれば良かったのでは

339 :名無しさん@お腹いっぱい。 :02/06/07 09:07
間違えた。>>334 でなく >>337 でした

340 :317 :02/06/07 09:11
>>338
なるほど。


341 :初期不良 :02/06/11 02:30
CVS と CVSup の違いについてわけわかんなくなってます。
http://www.jp.freebsd.org/QandA/HTML/649.html
ここを見ると、CVSup は CVS リポジトリに限らず
ファイル配布をすることができるらしいことはわかるんですけど、
なぜ普通の CVS より高速なのかがわからない...
CVS は update の時に差分で送らないって事?

342 :名無しさん@お腹いっぱい。 :02/06/13 01:01
>>317
俺は ~/.emacs には
(load "~/.rcfiles/emacs.el")
の一行だけ書いてる。
で、~/.rcfiles/emacs.el を編集。

343 :名無しさん@お腹いっぱい。 :02/06/15 18:20
勉強になったのでageても良いですか?

344 :317 :02/06/15 18:40
いやーこのスレのおかげで快適なCVS生活を送ってます

345 :名無しさん@お腹いっぱい。 :02/06/15 18:43
>>343
ダメっていったら?

346 :名無しさん@お腹いっぱい。 :02/06/15 21:06
結局、ファイル管理じゃなくて人間管理になってしまうのでした。

347 :名無しさん@お腹いっぱい。 :02/06/16 12:29
>>341
ネットワーク上での転送量が問題なんだとすれば……
CVSが送れる差分は、サーバ側ファイルの各リビジョン間の差分であって、
そういう差分を使って更新することができない場合は全部送信する。
あと、マージ不可なファイル(バイナリとか)は、そもそも常に全部送信する。
checkout modeの時にこういう対象をrsyncアルゴリズムを使って更新して
いるかどうか、ソースを読もうと思ったけど、……分からん。


348 :名無しさん@お腹いっぱい。 :02/06/16 13:30
つまり rsync + cvs みたいなものですか。

349 :名無しさん@お腹いっぱい。 :02/06/17 01:06
>>346が結論を述べた

350 :初期不良 :02/06/18 14:04
>>347
ほっぽってしまってすんまそん
とりあえずナニが早いのかは置いておいて
CVSup のオフライン CVS 的な使い方の方を...
http://cvs.m17n.org/cvs/offline.ja.html
レベル3のところが良くわからんので適当に書いてみる。
*BSD とかのソースをハッキングする場合を想像しているけど...
commit できない状況でコードハッキングを行う場合に
CVSup でリポジトリを丸ごと持ってきて、持ってきたリポジトリに
俺ブランチを切って commit したりする、と。
で、本物のリポジトリの方が更新されている場合、
CVSup の非exact モードで再度リポジトリの複製を行うと
CVSup が RCS ファイルの中身を解読して追加分の
リビジョンとかタグとか差分のみ持ってきて
俺ブランチが本物のリポジトリと重ならない限り
俺ブランチも保たれる、と。そう言うことになるわけ?

あ、少しわかってきたかも。ブランチが重ならなくても
リビジョンが重なる可能性はあるわけやね。
それでブランチのリビジョンナンバーを指定できるパッチというわけか。
まだブランチもろくに切ったことないんだけど .2 が後に付くのが
普通の動作だっけ?それじゃ重なるわな。

http://www03.u-page.so-net.ne.jp/fb3/tomonori/diary/200109.html#05
ここの日記に書いてあるのを見ると、subversion が
CVSup の行うオフラインリポジトリ的な範囲までを含んだ
事ができるとか。subversion は期待大なんでしょうか?
どの辺まで進んでるんだろ?

351 :347 :02/06/19 00:27
>>350
戻ってきてもあいかわらずほっぽっておかれている罠。

| 事ができるとか。subversion は期待大なんでしょうか?
| どの辺まで進んでるんだろ?

# cd /usr/ports/devel/subversion && make install

MLの dev@subversion はすごく活発みたい。


352 :名無しさん@お腹いっぱい。 :02/06/19 00:31
Apache2 も出たことだし、Subversion のリリースも近い、といいな



次100 最新50 (10:00PM - 03:00AM の間一気に全部は読めません)

read.cgi ver5.26+ (01/10/21-)