現在SVNのリポジトリが30Gbyteくらいもあるので、そのリポジトリないにある複数のプロジェクトとしているフォルダ毎をリポジトリとして独立させようと思っています。

まず
”/test/project/proj1”というフォルダをsvndumpfilterで切り出してみるために
この次ののコマンドを実施しました。

C:\mywork\>svnadmin dump test_works | svndumpfilter include --drop-empty-rev s --renumber-revs test/project/proj1 > proj1_source.dat



これで”test/project/proj1”プロジェクトフォルダのみのファイルをdumpすることができました。


そして”proj1_source”という空のリポジトリフォルダを作成し、

svnadmin load /proj1_source < proj1_source.dat

とやってみると、

つぎのようなエラーが出てきます。

<<< オリジナルのリビジョン 1 に基づき、新しいトランザクションを開始しました
svnadmin: E160013: ファイルが見つかりません: トランザクション 0-0, パス 'test/project/proj1'



このようなエラーが出た場合にどのように対処したら良いのか教えて頂けないでしょうか。


http://dqn.sakusakutto.jp/2012/08/svndumpfilter_ …


こちらのサイトを見てみるとincludeで切り出してリポジトリ化したいフォルダだけ取り出したとしても、履歴に関係する依存関係のフォルダも一緒に切り出してからsvnadmin loadしないとエラーとなってしまうということが書いてあるようですが、svndumpfilter時にそれらの依存関係のあるファイル群も一緒に自動的に切り出してくれるようなやり方などありませんでしょうか?


どうぞ、よろしくお願い致します。

A 回答 (2件)

同じく…試したことはない……ですね。


複数のプロジェクトを1つのリポジトリに入れることはあまりありませんし。
# SVNサーバ自体が自分の管理下なので必要になればリポジトリ新設して対応可能だし。

手元にあるリポジトリで、branchsだけ切り出す。
なんてのをやってみたら……
svndumpfilter時に
>Revision 35 skipped.
>svndumpfilter: Invalid copy source path '/trunk'
>プロセスが、存在しないパイプに書き込もうとしました。
とか言われてしまいました。
# 実際にダンプできていたのかは不明。

>svndumpfilter時にそれらの依存関係のあるファイル群も一緒に自動的に切り出してくれるようなやり方などありませんでしょうか?

includeではなく、不要なプロジェクトをexcludeで外す…という方法ではどうですかね?
複数あるならパイプで繋いで一つずつ外していけばよいかと。
# branchsやtagsの中がどうなるか…ってのはありますかねぇ。
# まずはそっちのをexcludeで外していって、最後にtrunk…かなぁ???

>現在SVNのリポジトリが30Gbyteくらいもあるので

ビルドのたびに生成される中間ファイル(オブジェクトファイルなど)はリポジトリに含めない方がいいですよ。
と忠告はしたような気がしますが……。
# ちょっと過去の質問とか検索したけど見つからん。……別の人だったかな。

SVNの関係上テキストファイルなら差分で持つけど、バイナリファイルはコミットごとにまるまる保存されていく……ハズ。
    • good
    • 0
この回答へのお礼

回答頂きありがとうございます。やはりbranchとか繰り返して作業した場合には依存関係が複雑になるので、それらをチェックしながら綿密に切り出しとかやらないといけないんだなということがわかりました。

ちょっと頼まれた人からもソースコードのテキスト以外にバイナリが多すぎるとリポジトリがとても重くなるので、やめて新規のリポジトリを立ててほしいみたいな同じようなことを言われています。

私としては簡単に、短時間でリポジトリの一部切り出し移動とかができるのであれば、今までの変更履歴もshowlogで参照しやすいだろうなと思ってたのですが、ようやくあきらめられそうです。


includeよりもexcludeでちょっとずつリポジトリのダイエットを進めていったという方のサイトを見て、私はまだやっていませんが何となく理解できました。


助かります。

お礼日時:2014/04/02 13:39

エラーメッセージを含めて検索しただけで試したことはない.



参考URL:http://kgirlssworld.blogspot.jp/2012/08/svn-repo …
    • good
    • 0
この回答へのお礼

回答頂きありがとうございます。svndumpfilterの解説ページ紹介頂きありがとうございます。助かります。

お礼日時:2014/04/02 10:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qadmin/testディレクトリにアクセスできない

sOS:TurboLinux8.0
Apache/1.3.26

admin
test

上記2ディレクトリに存在するファイルに、ブラウザ上からアクセスすると「Not Found」になってしまいます。
もちろん、lsなどで見てみるとファイル自体は存在しています。

そこで上記2ディレクトリの名前を別のもの(例えばadmin2)に変更するとアクセスできるようになります。

admin/test これらのディレクトリは予め使えないようになっているなどの制約は存在するのでしょうか?
また、その制約はどのような環境の時に発生するのでしょうか?
実はもう一つサーバを所有していてそちらでは上記ディレクトリ名は問題なく利用できたりします。環境は若干違うかもしれませんが・・・

ご存知の方、ご教授頂ければ幸いです。
よろしくお願い致します。

Aベストアンサー

 まず apache の設定ファイル httpd.conf の確認が必要だと思います。(Turbolinux は持っていないので分からないのですが、/etc/httpd/conf/httpd.conf でしょうか)

 その中に、

Alias /admin /foo/bar
Alias /test /foo/var

といった、エイリアスの指定(ブラウザ上で http://URL/admin にアクセスすると /foo/var ディレクトリを表示しようとする)がされているか、

<Location /admin>
Order deny,allow
Deny from all
Allow from .example.jp
</Location>

このようにディレクトリへのアクセス制限がかけられている可能性が高いと思います。

問題がないサーバとの httpd.conf を比較されてみると良いですよ。あとはブラウザで File Not Found が出ているとき、どこを実際に見ているか apache の error_log を調べてみるのも1つの方法です。

 まず apache の設定ファイル httpd.conf の確認が必要だと思います。(Turbolinux は持っていないので分からないのですが、/etc/httpd/conf/httpd.conf でしょうか)

 その中に、

Alias /admin /foo/bar
Alias /test /foo/var

といった、エイリアスの指定(ブラウザ上で http://URL/admin にアクセスすると /foo/var ディレクトリを表示しようとする)がされているか、

<Location /admin>
Order deny,allow
Deny from all
Allow from .example.jp
</Location>

このようにディ...続きを読む

Q謎!? /etc/rc.d/init.d/qmail.shのtcpserverでのpop3dの起動でホスト名が反映されない?

宜しくお願い致します。
RedHat9、qmail-1.03でdaemontools-0.76を使用しています。
以前はold.co.jpという名称でメールtcpserverを運営してました。
こないだ、new.dyndns.comに切換えようとしたのですが

# hostname
new.dyndns.com

# grep -lr old.co.jp /etc/rc.d

# grep -lr new.dyndns.com /etc/rc.d
/etc/rc.d/init.d/qmail.sh

#cat /etc/rc.d/init.d/qmail.sh | grep -v ^# | grep -v ^$
PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin
[ -f /var/qmail/rc ] || exit 0
case "$1" in
start)

#For POP3
echo -n 'qmail-pop3d starting.'
/usr/local/bin/tcpserver -x /etc/tcpserver/pop3d_rules.cdb 0 \
pop-3 /var/qmail/bin/qmail-popup new.dyndns.com /bin/checkpassword \
/var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3d
3 &
echo
touch /var/lock/qmail
ulimit -a
;;


となっているにも拘らずリブートしても何故か

# ps ax | grep pop
7315 ? S 0:00 supervise qmail-pop3d
7864 ? S 0:00 /usr/local/bin/tcpserver -x /etc/tcpserver/pop3d_rule
s.cdb 0 pop-3 /var/qmail/bin/qmail-popup old.co.jp /bin/checkpassword /var/qmai
l/bin/qmail-pop3d Maildir
16439 pts/1 S 0:00 grep pop

と以前のホスト名のままです。何か他にも設定必要なのでしょうか??

# kill -HPU 7864
としても相変わらずなのです。

宜しくお願い致します。
RedHat9、qmail-1.03でdaemontools-0.76を使用しています。
以前はold.co.jpという名称でメールtcpserverを運営してました。
こないだ、new.dyndns.comに切換えようとしたのですが

# hostname
new.dyndns.com

# grep -lr old.co.jp /etc/rc.d

# grep -lr new.dyndns.com /etc/rc.d
/etc/rc.d/init.d/qmail.sh

#cat /etc/rc.d/init.d/qmail.sh | grep -v ^# | grep -v ^$
PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin
[ -f /var/qmail/rc ] || exit 0
case "$1" ...続きを読む

Aベストアンサー

以下を実行した場合、何かヒットするファイルがありますか?

# grep -lr old.co.jp /service

もしくは、svscanbootから起動されているはずのsvscanの引数に指定されているディレクトリに対して「grep -lr old.co.jp」を実行したら何かヒットするファイルがありますか?

Qフルサービスリゾルバからコンテンツサーバへの問合せに使用されるUDP Source Port

どなたかご回答頂ければ幸いです。

Clientからフルサービスリゾルバに再帰問合せを行い、そのフルサービスリゾルバが、目的のゾーンを管理しているコンテンツサーバへの問合せを行う際に使用されるUDP Source Portは、リユーズされるのでしょうか。

具体的には、
[Client]--->[リゾルバ]--->[DNS Server]
・リゾルバ・・・ac.jpドメインを管理。
・DNS Server・・・test.ac.jpのサブドメインを管理。
という単純な構成で、

【初回問合せ】
1、Clientからwww.test.ac.jpの問合せをリゾルバへ行う。
2、リゾルバの内部にNSレコードでtest.ac.jpドメインはDNS Serverへ振っているので、リゾルバがUDP Portを1025を使用してDNS Serverへ問合せを行いました。

【二回目の問合せ】
1、Clientから、今度はftp.test.ac.jpの問合せをリゾルバへ行う。
2、繰り返しますがリゾルバの内部にNSレコードでtest.ac.jpドメインはDNS Serverへ振っているので、リゾルバがDNS Serverへ問合せを行いますが、このときUDP Portを、先程の初回と同じ1025を使用してDNS Serverへ問合せを行いました。

実際にパケットをキャプチャして、何度も確認しましたが、同一の結果です。これはBINDの仕様なのでしょうか。(BIND9.2.2を使用しています。)

是非、ご回答のほど宜しくお願いいたします。

どなたかご回答頂ければ幸いです。

Clientからフルサービスリゾルバに再帰問合せを行い、そのフルサービスリゾルバが、目的のゾーンを管理しているコンテンツサーバへの問合せを行う際に使用されるUDP Source Portは、リユーズされるのでしょうか。

具体的には、
[Client]--->[リゾルバ]--->[DNS Server]
・リゾルバ・・・ac.jpドメインを管理。
・DNS Server・・・test.ac.jpのサブドメインを管理。
という単純な構成で、

【初回問合せ】
1、Clientからwww.test.ac.jpの問合せをリゾルバへ行う。
...続きを読む

Aベストアンサー

googleで、bind source udp portで検索したところ、
それらしい結果に、
http://www.oreillynet.com/pub/a/network/excerpt/dnsbindcook_ch07/
http://www.bind9.net/BIND-FAQ
が引っかかりました。

一つ目のほうには、以下の記述があります。
Normally, BIND name servers choose a source port to use for outbound queries when they start, which means you must allow DNS messages from any unprivileged port.

起動時にクエリー用のソースポートが決まるという動作がデフォルトだということですね。
いちいちクエリーごとに別のポートを使ったりはしないようです。

ポートを特定のものに設定することもできるようです。

options {
directory "/var/named";
query-source address * port 1053;
};

この例の場合、ポート1053に固定していますね。

参考URL:http://www.oreillynet.com/pub/a/network/excerpt/dnsbindcook_ch07/

googleで、bind source udp portで検索したところ、
それらしい結果に、
http://www.oreillynet.com/pub/a/network/excerpt/dnsbindcook_ch07/
http://www.bind9.net/BIND-FAQ
が引っかかりました。

一つ目のほうには、以下の記述があります。
Normally, BIND name servers choose a source port to use for outbound queries when they start, which means you must allow DNS messages from any unprivileged port.

起動時にクエリー用のソースポートが決まるという動作がデフォルトだということです...続きを読む

Qgitで複数のリポジトリで運用は出来るのでしょうか

gitを習い始めです。

gitで例えば在庫管理、営業管理、売上管理のプロジェクトをそれぞれ
在庫管理、営業管理、売上管理のリポジトリを個別に作って管理する事
を考えています。

これは出来るのでしょうか。出来るとしたら、どの様な方法なのでしょ
うか。宜しくお願いします。

Aベストアンサー

その状況であっても「ソースは残しつつ Git で管理していたという形跡だけを消す」というのは理解できんが....

さておき git archive かなぁ.

Q/var/log/maillogに大量にログが発生しています。

サーバはlinux(fedora core 6),メールサーバはpostfixです。サーバはホスティングしているので外部からのリモート操作のみです。
/var/log/maillogを確認したところ以下のようなログが大量発生しているのですが何を意味しているのかわかりません。お分かりになる方がいましたらお教えください。よろしくお願いします。
Mar 16 03:30:09 localhost postfix/smtpd[13864]: fatal: config variable inet_interfaces: host not found: all
Mar 16 03:30:10 localhost postfix/master[27103]: warning: process /usr/libexec/postfix/smtpd pid 13864 exit status 1
Mar 16 03:30:10 localhost postfix/master[27103]: warning: /usr/libexec/postfix/smtpd: bad command startup -- throttling
Mar 16 03:30:14 localhost postfix/pickup[13865]: fatal: config variable inet_interfaces: host not found: all
Mar 16 03:30:15 localhost postfix/master[27103]: warning: process /usr/libexec/postfix/pickup pid 13865 exit status 1
Mar 16 03:30:15 localhost postfix/master[27103]:warning: /usr/libexec/postfix/pickup: bad
command startup -- throttling
この組み合わせが一分おきに9時間分ほど溜まっています。

サーバはlinux(fedora core 6),メールサーバはpostfixです。サーバはホスティングしているので外部からのリモート操作のみです。
/var/log/maillogを確認したところ以下のようなログが大量発生しているのですが何を意味しているのかわかりません。お分かりになる方がいましたらお教えください。よろしくお願いします。
Mar 16 03:30:09 localhost postfix/smtpd[13864]: fatal: config variable inet_interfaces: host not found: all
Mar 16 03:30:10 localhost postfix/master[27103]: warning: process /usr...続きを読む

Aベストアンサー

>fatal: config variable inet_interfaces: host not found: all

「inet_interfacesで指定されたallという名前のホストが見つかりません。」と言っているようです。
postfixのバージョンはいくつなんでしょうか?
allの場合はホスト名ではないハズなのですが……。
hostsファイルやDNSのレコードやらでallなんて名前を使っていたりはしないでしょうか?
inet_interfacesのデフォルト動作がall指定時と同じらしいので、
main.cfからコメントアウトしてみるとか…。

# FedoraCore6のサポート期間っていつまででしたっけ?


人気Q&Aランキング

おすすめ情報