• 締切済み

SVNでのコードの管理について

今とあるSVN管理下のコードを修正したのですが、 本来3回くらいに分けて修正すべきだったものを、1度に修正してしまいました。 これらを綺麗に3回に分けてcommitしたい場合にいい方法はないでしょうか。 ふわっとした質問ですが、参考のURLなどあれば教えていただきたいです。

みんなの回答

noname#217196
noname#217196
回答No.2

秀和システムからSubVersionの解説書が出ているから、それでサブトランクの作り方、使い方を勉強すればいいんじゃないかな。サブトランクに対しては、同種の修正の単位で版管理すべく、複数のコミットは必要になるけど。サブトランクの版管理単位で、何度かにわけて、オリジナルへコミットすればいいでしょう。

  • wormhole
  • ベストアンサー率28% (1622/5658)
回答No.1

1つのファイルの修正内容を3回に分けてコミットしたいということでしたら方法はありません。どうしてもやりたいということでしたら修正前の状態に戻して再度コミットしたい単位で修正するしかないです。 「本来3回に分けて修正すべきだったもの」というのも、なぜ3回に分けるべきなのかわかりませんが。

関連するQ&A

  • Linuxでsvnコマンドでcommitしたい。

    現在Ubuntu Linuxを使用しています。svn管理のディレクトリ内で、a.outというフォルダを削除しました。 これをSVNサーバー側のリポジトリ側へも反映したいのでcommitしたいのですがどうやれば良いでしょうか? 現在カレントディレクトリは /root/20140411 このディレクトリです。 20140411のディレクトリがSVNで管理しているディレクトリです。 /root/20140411 カレントディレクトリ内で # svn update このようにアップデートを行ってみたら、アップデートできました。 しかし、 # svn commit これをやっても、コミットされませんでした。 現在のカレントディレクト内をコミットする方法をご教示頂きますよう、お願い致します。

  • SVNコミットエラー

    linux(Ubuntu)でSubVersionサーバを構築したのですが、 初回コミットをしたところエラーが出てしまいました。 エラー-------- svn import /home/svn/snavi/ http://localhost:80/repos/snavi -m "test commit" svn: PROPFIND リクエスト (相手: '/repos/snavi') が失敗しました svn: PROPFIND (URL: '/repos/snavi'): 301 Moved Permanently (http://localhost) -------------- この辺の記事(http://a98.jugem.jp/?eid=222)を参考に 色々試してみたのですが、解決できません。 apacheは起動しており、FireFoxからはテスト用HTML http://localhost/repos/snavi/test.html は参照出来ていますが、 http://localhost/repos/snavi/ へのチェックインが出来ないのです。 SVNのルート設定は以下で、 [svn設定]--- (/etc/apache2/mods-enabled/dav_svn.conf) <Location /svn> DAV svn SVNParentPath /home/svn/ </Location> ------------------------------------------- http://localhost:80/repos はSVNルートへのシンボリックリンクです。 [web(apache)設定]---------------- (ドキュメントルート) http://localhost → /opt/lampp/htdocs (シンボリックリンク) $ls -la /opt/lampp/htdocs lrwxrwxrwx 1 www-data www-data 9 2012-10-04 22:28 repos -> /home/svn ------------------------------------------- SVNルート以下には ------------------------------------------ cd /home/svn/ svnadmin create snavi ------------------------------------------ のようにsnaviブランチを作成したのですが、 やはりhttp://localhost/repos/snavi/ へのチェックインが出来ません。 有識者の方、いらっしゃいましたらどうか ご教授のほど宜しくお願い致します。

  • subversionのpost-commitでsvn upを行うと、パーミッションエラー。

    クライアントからコミットした際に、post-commitで、svnでチェックアウトしている/var/www/sampleprojectディレクトリを"svn up"コマンドで更新をしたいと思っております。 しかし、tortoiseSVNからコミットすると、以下のエラーが表示されてしまいます。 <pre> エラー: post-commitフックが失敗しました (終了コード: 1)。出力: エラー: svn: ファイル '/var/www/sampleproject/.svn/lock' を開けません: 許可がありません </pre> post-commitの内容: <pre> #!/bin/bash REPOS="$1" REV="$2"LOG=/var/log/svn.log export LANG=ja_JP.UTF-8 echo $2 > ${LOG} whoami >> ${LOG} /usr/bin/svn up /var/www/enjoynight >> ${LOG} </pre> post-commitで出力したログを確認してみると、"svn up"を実行しているユーザーは"user1"でした。 /var/www/sampleprojectのオーナーはapacheユーザー(apache.apache)です。 ためしに、"user1"にapacheグループ権限を追加してみましたが、結果は変わりませんでした。 一日中悩んでも解決出来ませんでした。 もしよろしければ、どなたか解決策をご教授頂けないでしょうか。 サーバーOS:CentOS5.3 Subversion:1.6.2 Apache:2.2.3 passenger:2.2.3 Ruby:1.8.7 Rails:2.3.2 クライアントOS:Windows Vista tortoiseSVN:1.6.5 リポジトリへの接続方法:svn+ssh コミットユーザー:user1

  • codebreakで自SVNリポジトリ使用OK?

    現在codebreakというバージョン管理のホスティングサービスについて調べています。 http://codebreak.com/ja/ ソースコードの管理を複数の人と行う必要があり、今まで事務所内でwindowsの共有機能を使用してtortoise SVNでSVNリポジトリフォルダにアクセスしてバージョン管理を行っていたのですが、事務所外のリモートの人ともバージョン管理ソフトでファイルを共有したいと思っています。 いろいろと調べてみるとcodebreakというホスティングサービスを見つけたのですが、 たとえば、今までSVNリポジトリフォルダに貯めてきた履歴情報をこのcodebreakというホスティングサービスに移行させる方法はありますでしょうか? なお、このソースコードは非公開型で取り扱いたいと考えております。 どうぞ、ご教授頂きますよう、お願い致します。

  • .svnフォルダを消すことができない。

    tortoiseSVNでファイル管理などを行っています。ファイル管理をしていた作業フォルダで、右クリックを押してもcomittやupdateが出てこなくなる現象が出ました。 どうやら、このフォルダをSVNの作業フォルダの.svnフォルダが破損したかで認識することができなくなったようです。 現在はcheckoutで新規に作業フォルダを出力して、ファイルを管理しているのですが、この破損したフォルダを削除しようとすると ”別のプログラムがこのフォルダーまたはファイルを開いているので、操作を完了できません。フォルダーまたはファイルを閉じてから再実行してください” というエラーメッセージが表示され削除することができません。 また、コマンドで削除する方法で、 C:\mywork\daily_reports>for /R %i in (.svn) do rd /Q /S "%i" これをやってみたのですが、 C:\mywork\daily_reports>rd /Q /S "C:\mywork\daily_reports\.svn" C:\mywork\daily_reports\.svn\wc.db - プロセスはファイルにアクセスできません。別 のプロセスが使用中です。 C:\mywork\daily_reports>rd /Q /S "C:\mywork\daily_reports\.svn\.svn" 指定されたファイルが見つかりません。 このようなエラーが出力して削除することができませんでした。 このような場合に強制的に削除する方法をご教示頂きますよう、よろしくお願い致します。

  • windows XPでtortoise SVN

    知人の代行で質問させてもらいます。 windows XPでtortoise SVNを使っている時にSVNで管理されているフォルダを削除できなくなったりすることがあるようです。このような現象の対処、回避方法を教えていただけると幸いです。 よろしくお願いいたします。

  • svnのマージの使い方。

    現在、Atmelのマイコンのプログラムファイルの管理をtortoise svnで行っています。 現在自分の使い方としては、trunkフォルダにリリースVersionのプロジェクトフォルダが入っていて、そのプロジェクトフォルダ内のファイルの検証や修正を行うためには必ずbranchフォルダにbranch機能でフォルダコピーしてからそのファイルの修正などを行っています。修正が完了した場合はtrunkフォルダのリリース版のファイルにマージして、branch側のフォルダは削除しています。 だいたいこのサイクルを繰り返しているのですが、共同作業者さんがbranchでの修正が先に終わってtrunkにマージしてリリース版が更新される場合があるのですが、現在の自分のbranch のファイルはリリース版のものからすると古くなってしまうので、現在の最新のtrunkのファイルを自分のbranchにマージする方法というのはありますでしょうか? 以前trunkのファイルを自分のbranchにマージしたら競合が多発して一部ファイルの更新内容がスムーズにいかなくなってしまったことがあり、現在避けているのですが、良い方法をご存知の方いらっしゃいましたらどうぞご教示頂きますよう、お願い致します。

  • svn(subversion)について質問です。

    svn(subversion)について質問です。 svn updateするときに対象のディレクトリのみ除外する方法はありますか? たとえば以下のような場合 hoge/hoge1 hoge2 hoge3/image hoge3/html hoge/hoge3/imageのみリポジトリから更新させたくない場合のコマンドまたは設定について教えてください。

  • Tortoise SVNでのファイルをアップデートする方法が分かりません。。。

    Tortoise SVNを初めて使用してるのですが 新規ファイルをサーバにUPしたあと、修正ファイルの上書きが出来ないのです。 具体的に手順を説明すると ローカル作業環境で作業 ↓ ここでの対象ファイルを差分として ローカルの別の差分用のフォルダに移動 ↓ 上記のディレクトリに入れたファイルを SVNのあるサーバにUP(この時普通にドラッグでUPしてます。) ※新規でUPするのでここでは問題なし ↓ ローカルの作業環境で再び修正 ↓ ここで再び修正した対象ファイルを差分として 別の差分用のフォルダに移動 ↓ 再度、差分用フォルダからSVNのあるサーバにUP (ここでも普通にドラッグしてます。) で、この時ラーがでます。 内容としては 「既に同一のファイルがあります。」的な内容で上書きできないのです。 当然、他の人も使っているため ファイルをUP or削除するたびに全員にメールが送信されてしまうので テストができず、上書きする方法が試せないのです。 色々サイトを見てるんですが、いまいち分からず かと言って、自分がテストする度にメールが回ってしまうのは迷惑になるし 混乱を招く為なんとかここでお力を借りたいと思いご質問させていただきました。 すみませんがよろしくお願いします。

  • svnの差分を出力するバッチを作りたい

    現在ソース管理でsvnを使用しており、windows7で 毎日決まった時間に差分をエクスポートするバッチを作成しようと思っています。 今まではsvnのGUIツールTortoiseSVNを使用していて、手動で行っていたのですが、 対象ファイルが多く、この作業をwindows batchなどで出来たらいいなと思いました。 やりたいことは以下です。 (1)デスクトップに差分をエクスポートするフォルダを作る(例:差分フォルダを作成) ↓ (2)svnのリビジョンやタグを基準にして差分を(1)で作成したフォルダにエクスポート  (例:svn://XXX.XXX/turnkとsvn://XXX.XXX/branchの差分を差分フォルダにエクスポート) ↓ (3)差分一覧のようなものをテキストで(1)のフォルダに出力 (1)は出来たのですが、(2)と(3)がネット上で見てもあまり情報なくてわからず… 特に(3)とかは出来るかもわからず…javaやantだと出来ると同僚には伺ったのですが、javaに関して知識がなくて…antは少し書いていたことがある位です。 antなどでは上記のようなことは難しいのでしょうか? もし、参考になるサイトなどあれば教えていただけると助かります。 よろしくお願い致します。