svnでコミットするときに普段は

svn add ...
svn commit ...
のようにコマンドを打っています。しかし、この2つのコマンドはいつもセットで打っているため、わざわざ二回打つのが面倒です。ひとつのコマンドに登録する方法はあるでしょうか?

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/11/14 18:03:03
  • 終了:2011/11/21 18:05:02

回答(1件)

id:munyaX No.1

munyaX回答回数120ベストアンサー獲得回数242011/11/15 11:25:42

知る限りではcommit時に同時にaddするオプションはないようですね。


以下のような簡単なプログラムを作成する感じでしょうか。

  1. svn stの結果を取得
  2. ?となっているファイルを svn add する
  3. svn commit

例えばPHPだとSubversionを操作するモジュールがありますので、これらを利用すればさほど難しくなさそうです。
http://php.net/manual/ja/book.svn.php

$ svn help commit
commit (ci): 作業コピーからリポジトリに変更点を送信します。
使用方法: commit [<パス>...]

ログメッセージが必須ですが、その中身は空でもかまいません。--message か
--file オプションによってログメッセージを与えない場合、エディタが起動します。
対象の中にロックされた項目がある場合、コミット成功後にそれらのロックが解除
されます。

有効なオプション:
-q [--quiet] : 最小限の情報だけを表示します
-N [--non-recursive] : 単一のディレクトリのみに (非再帰的に) 作用します
--targets <引数> : ファイル <引数> の内容をサブコマンドの引数に追加
して渡します
--no-unlock : 対象のロックを解除しません
-m [--message] <引数> : ログメッセージを <引数> と指定します
-F [--file] <引数> : ファイル <引数> からログメッセージを読み込みます
--force-log : ログメッセージを含むファイルを強制的に有効にしま

--editor-cmd <引数> : 外部エディタとして <引数> を用います
--encoding <引数> : 文字エンコーディングが <引数> であるとして処理し
ます
--username <引数> : ユーザ名を <引数> と指定します
--password <引数> : パスワードを <引数> と指定します
--no-auth-cache : 認証情報をキャッシュしません
--non-interactive : 対話式の認証用プロンプト表示をしません
--config-dir <引数> : ディレクトリ <引数> からユーザ設定ファイルを読み
込みます

  • id:munyaX
    初回はaddしますが、
    2回目以降のcommitの時はaddしてないですよね?

    つまり、初回だけaddしたいということだと思うのですが
    不要なファイル等が入ってしまう可能性があるが、そこらへんは特に考慮せず
    すべてのファイルを無条件で追加する、という運用でしょうか?
  • id:koime_ryokutya
    koime_ryokutya 2011/11/14 18:34:55
    はい。あるディレクトリ以下に置かれた(新規)ファイルは無条件でcommitしたいです。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません