git svn fetch -r 1:1000 -A author.txt . . Incomplete data: Delta source ended unexpectedly at /usr/lib/perl5/site_perl/Git/SVN/Ra.pm line 290
タイトル通りですが、git-svnでコードの管理をしている最中に、SVNサーバの移行が行われ、git-svn rebaseでChecksum mismatchが発生しました。SVNを使用しない!とすれば解決出来たかも知れませんが、まだSVNにコミットが発生する可能性があったため、git-svnが正常動作するようにしました。 状況 管理スタイル SVNで管理している既存製品があり、自分一人で改修することになった。周りの了承を得てから、Gitへ移行しつつ、SVN側も少しは変更が入る可能性があったため一人でgit-svnを使用していた。 WindowsXPで動いていたSVNサーバを、サポート切れ&動作が重いので仮想マシンのCentOSへ移行。この際、旧WinXPと同じIPをCentOSに割り当てた。 問題現象 git-svn時に必ずchecksumが不一致となり、うまく行かない。 stackOv
最近は分散バージョン管理が主流になり、gitやhgを使う事が増えてきたと思う。 ただ、政治的な事情でsvnを使わなければならない事もあります。 そんな時に役立ちそうなgit-svnのオプションを備忘録として一覧にしておきます。 標準ディレクトリ構成のリポジトリ svnの標準的なディレクトリ構成の場合は一番楽。 例 ./trunk/src ./branches/v1.x/src ./tags/v1.0.0/src 使うコマンド この場合、オプションに -s(もしくは--stdlayout)を使用する。 $ git svn clone -s <svnのURL> 非標準ディレクトリ構成のリポジトリ 色々な事情により、標準的なディレクトリ名を使っていない場合。(複数プロジェクトは後述) 例 ./dev/src ./support/v1.x/src ./release/v1.0.0/src 使うコマ
私はアトラシアンに入社する前、バージョン管理システムとして Subversion (SVN) を使用している多様なプロジェクトに携わってきました。私はすでに Git へ移行して数年経っていたので、可能な限り Git を利用したいと思いました。 そして幸運にも、git-svn を使うことができました。Git-svn は、パワフルな Git ツールセットの快適な使用感を手放すことなく、Subversion リポジトリとやり取りができるすばらしい完全なソリューションです。そして、それには知っておくと便利な点がいくつかあります。この投稿では、すでに git-svn の知識が少しあり、git-svn を使用して SVN とやり取りする方法を知っている人を対象に話を進めていきます。 ここでは、SVN と連動して Git を快適に使用し続けるために、私が自ら調べて学んできたワークフローに統合する必要のあ
最近、諸事情あってsubversionからgitへプロジェクトの半ばでバージョン管理を変更しました。その際にちょっと変わった形でgit-svnの運用を行う事になったのでやりかたに関して簡単にログを残しておきます。 プロジェクトを取り巻く事情 今まではSubversion(仮にメインとします)を用いた運用を行っていたのですが、気軽にtrunkに対してコミットする事が出来ない事情がありました。では、メインSubversion上にbranchをたてればいいじゃんという話になるのですが、ブランチすら気軽に切る事が出来ない状態でした。その上、メインのSubversionにコミットすることが可能なのはコミッターだけとなっておりコミッターの負担が増えつつありました。 今までの運用 今まではメインSubversionとは別に 同期しないSubversion(仮にローカルとします)を別途立てて、なんと手動で
git-svnを導入した当初は、git svn dcommitが怖くてビビったりする事がよくありました(私の場合)。 そこで実際にどのような事が行われるか、シミュレートする方法に関してメモしておきます。 --dry-runを利用したシミュレート git svn dcommit --dry-runを実行する事で、実際に実行されるコマンドの内容をシミュレートする事が出来ます。 実行した結果もdiffとして確認する事が可能です。 root$ git svn dcommit --dry-run Committing to file:///tmp/work/svn-repo ... diff-tree e0dfd8fc7b5e6b563a7fd303fc734f9b38a1081f~1 e0dfd8fc7b5e6b563a7fd303fc734f9b38a1081f root$ git svn dc
動機 Subversionで困ってない ぶっちゃけSubversionで全然困っていませんでした。 コードレビューはちゃんとやっていたし、マージ・ブランチングも自作シェルスクリプトのおかげてスムーズにやれていました。 よく「Gitはマージが賢い、ブランチ作成が一瞬でできる」とかいわれますが、Subversionだってちゃんと使えばコンフリクトなんかめったに起きないし、ブランチ管理・マージだって全然めんどくさくない。 特にver1.7からはサーバもクライアントも大幅に高速化されたし、.svnディレクトリが.gitみたいに1個になったし、rebaseみたいなことだってできる。(sync merge & reintegrate) ただ、世の中が一斉にGitにシフトしている中でいつまでもSubversionを使っててよいのかという不安がありました。 また、月から金までSubversionにどっぷり
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
みんながいまだにsvnを使い続けるので、自分だけでもgitを使って幸せになってやる。って人のためのガイド。ツールや環境がsvnでがっちりつくられているとしかたないですねー。という状況の人向け。そこまでしてgitを使うのは早いし柔軟だから。マージもサクッと終わるし。 git svnって?svnをリモートリポジトリとして、ローカルではgitを扱うためのもの。gitインストールすれば大抵はいってるけど、macportsだったらこんな感じでインストール。 $ sudo port install git-core +svn gitローカルリポジトリをつくるgitは分散リポジトリなので、まずはローカルにリポジトリを持つところからスタート。 $ git svn clone -s http://svn.server/path/projectこれでsvnリポジトリのcloneをローカルにつくる。これでmas
Latest topics > SubversionからGitに移行した 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! « Ubuntu 10.04LTSからUbuntu 10.10へのアップグレードとATOK X3 Main Jetpackへのモヤモヤを全部吐き出そう » SubversionからGitに移行した - Nov 01, 2010 アドオンの開発にはずっと須藤さんに用意してもらったSubversionのリポジトリを使ってたんだけど、 インターネットに繋がらない状態でコミットできないのが辛い 他の人からの変更を受け取りづらい(そんな事があればの話なんだけど) と思っていて、Git(あるいは他の分散型バージョン管理システム)ならそれが解消
自分へのメモです。SubversionからGitに移行するときの注意点。 git-svn(1) にしたがって、Subversion から Git に移行できるのですが、 git svn clone Subversionのリポジトリ Gitは色々なツールが、リポジトリ内は CR+LF ではなく、LF であることを期待しているみたいなので、上の方法で Subversion 内が CR+LF だと、Gitのリポジトリ内も CR+LF になってしまい、トラブルが起きます。 なので、上の方法で移行した後、gitattributes(5) の When text=auto normalization is enabled in an existing repository あたりに書かれている、 $ echo "* text=auto" >>.gitattributes $ rm .git/index
Blogged by Ujihisa. Standard methods of programming and thoughts including Clojure, Vim, LLVM, Haskell, Ruby and Mathematics written by a Japanese programmer. github/ujihisa Assumptions You are supposed to work on a svn branch topic. You hate svn. You want to follow changes of svn trunk. You hate the merging in svn. You already checked out the svn repository with git-svn-clone with stdlayout optio
こんにちは。murahashiです。 gitやgit-svnを使うにあたり、試したことや引っかかったことについて、yukiのエントリ ウノウラボ Unoh Labs: subversionリポジトリでもgitが使えるgit-svn のつづきを書いてみました。 Q. ブランチ名を長くしてしまったので手打ちするのが大変です A. bashでgitコマンドを補完します gitのコマンド補完は git-completion.bash が便利です。 fedoraにyumでgitを入れた場合には下記場所にあります。 /usr/share/doc/git-VERSION/cntrib/completion/ 自分の見える場所にgit-completion.bashがなければ、インストール済みのgitと同じversionのgitのソースをダウンロードします。 cntrib/completion/
yukiです。 空前のGitブームもだいぶ落ち着き、最近はGit記事をあまり見かけなくなりましたが、今日は空気を読まずにGit、それもgit-svnについて利用例を挙げつつご紹介しようと思います。 さらっと紹介されている記事は多いのですが、実際にこう使っている、などの例があまりなかったので、今回利用例を含めてご紹介していけたらと思っているので、もっと便利な使い方があるよ!という方の突っ込みをお待ちしております。 まずgit-svnについてご紹介すると、その名の通りgitとsubversionをつなぐ役割を果たすもので、subversionのリポジトリからgitでcloneして利用出来るというものです。 インストールはyum一発で簡単に入ります。 # yum install git-svn よくある例としては、業務で使うリポジトリはSubversionのまま使い続けているけど、個人
$ git config --global user.name 'hogehoge' $ git config --global user.email 'hogehoge@hoge.local' $ git config --global color.ui auto $ git config --global core.excludesfile $HOME/.gitignore これでホームディレクトリに.gitconfigファイルが作成されます。また、無視するファイルがある場合は.gitignoreに記述しておきます。 では、次にSubversionのリポジトリ(https://svn.hoge.local/repos/hoge-projectにあるとして)からgitのローカルリポジトリを作成します。 $ mkdir hoge-project $ cd hoge-project $ gi
仕事で git 使いたかったので,git-svn でやってみた. git clone とりあえず,svn からチェックアウト $ git svn clone http://example.com/svnroot/trunk/project履歴持ってくるので結構時間かかる…… 実際に開発 $ git checkout -b ticket-345トピックブランチ切って開発…… で,まぁ,stash したり,他のブランチ行ったりしながらも開発して git にコミット git pull で,完了したら,マージするために,まずはマスターへ戻る このへんまでは普段と何もかわらない $ git checkout masterで,普段はここで,「git pull」して最新の状態を持ってくるんだけど, git-svn の時は rebase を使う git svn rebase で,マージ $ git mer
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く