タグ

dvcsに関するkutakutatriangleのブックマーク (12)

  • Pijul

    Pijul is a free and open source (GPL2) distributed version control system. Its distinctive feature is to be based on a theory of patches, while still being fast and scalable. This makes it easy to learn and use, without any compromise on power or features. Commutation In Pijul, independent changes can be applied in any order without changing the result or the version's identifier. This makes Pijul

  • 分散VCSのモデル、あるいはPijulについて | κeenのHappy Hacκing Blog

    先日、Pijulという分散VCSについて知って、それについて調べてみたら少し面白かったのでメモ。 DVCSで一番有名なのは間違いなくGitだろう。あれは分散グラフ理論木モデルに基いているらしい。ベースになったモデルがあることに驚いたが、調べても出てこなかった。 Gitは高速で信頼性が高い一方、コミット同士をチェーンのように繋げてしまうので柔軟性を欠き、例えばCherry Pickなんかがやりづらい。 あるいはリモートのmasterを取り込まずにローカルのmasterにコミットすると互いに独立した変更であっても一旦remote masterをマージしないとプッシュ出来ず、コミットグラフが汚れてしまう。 また、CUIが直感的でなく、理解しづらいという声もある。それはこういう皮肉にも現れている まあ、言われてみれば私もこのスライドを見てようやく理解した。 他のVCSにも色々特色はあって、歴史は神

    分散VCSのモデル、あるいはPijulについて | κeenのHappy Hacκing Blog
    kutakutatriangle
    kutakutatriangle 2016/02/15
    Rustで今は書かれているらしいDVCSか。A Category Theory of Patchesの成果を取り入れているとのことで、「ファイルを対象、パッチを射とする圏」云々のところは非常に興味深い。
  • Git の仕組みを5分で理解する! - Qiita

    Git の学習コストが高くて酷いので、数分で理解できるように無理やり説明してみます。 大雑把に理解した後、詳しく説明したドキュメントを読んで下さい。 まともに仕組みを理解しようとすると、数時間以上は必要かと思います。 前提知識 cvs, svnなどバージョン管理システムを利用したことがあることを前提としています。 レポジトリ、ブランチ、コミット、マージ、コンフリクト等の意味は、理解していることを前提とします。 歴史 元はLinux のカーネル用に Linus が開発。(今は、濱野 純氏がメンテナ) 動作(マージ)速度を重視。 なので、無駄なマージ処理等しない工夫があったりする。 が、それによって理解が難しい一面になっているように思う(個人的感想) 分散型レポジトリ 分散型レポジトリ CVS, subversionのようにレポジトリが一箇所じゃない レポジトリ自体をローカルにコピー(clon

    Git の仕組みを5分で理解する! - Qiita
  • http://blog.inouetakuya.info/entry/20130602/1370173582

  • graft と strip を使って Mercurial の良さを実感したときの話 - eji著

    Mercurial Advent Calendar 2012 - connpass / 24日目のエントリです。 つい最近 Mercurial の graft と strip 機能を知って、「Mercurialって当に良いツールだなぁ」思ったことがありました。今回はその時の話をしながら、どのバージョン管理システムを導入しようかと悩んでいる方に対して、Mercurial の良さを伝えたいなと思います。 ※私自身Mercurial初心者なので、濃い技術話はありません。。。 現在の私の仕事について 現在の私の仕事PHP等を使ったWEBアプリ開発がメインです。そして開発者が私一人という小規模開発が多いです。 ソースコードの管理はMercurialを使い、以下のように機能ごとにブランチを切って都度マージしていく方法で運用しています。 A案件の話 私はAという案件の開発をしていました。その案件は画

    graft と strip を使って Mercurial の良さを実感したときの話 - eji著
  • アトラシアン、Git/Mercurialクライアント「SourceTree」のWindows版をリリース

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    アトラシアン、Git/Mercurialクライアント「SourceTree」のWindows版をリリース
  • BitBucketのいいところ - methaneのブログ

    KLab では、プロジェクト開発中に作った便利ツールなどを皆が気軽に社内で公開できる場としてBitBucketの無制限プラン($200/month)を契約しています。 今日は Github に比べていいなと思う点を紹介していきます。 1. アクセスコントロール Githubだと、書き込み権とadmin権が一緒になってしまっていましたが、BitBucketではadmin権とwrite権が分かれていたり、Team(GithubでいうOrganization)の Owner グループでなくてもリポジトリを作ることができます。 特にadmin権がなくてもリポジトリが作れるので、「皆に気軽にリポジトリを作って欲しい」を実現するために皆に Team の admin権を渡さなくていいのが利点です。 deploy key についても、同じ公開鍵を複数のリポジトリに登録できるのと、pushが禁止されているの

    BitBucketのいいところ - methaneのブログ
  • Bitbucket | Git solution for teams using Jira

  • いろいろ - hg and git

    hg と git のコマンド相違点 似てるようで違う hg と git の違いのメモ。 基 working directory : バージョン管理対象のファイルを置くディレクトリ。バージョン管理対象にしないオブジェクトファイル等を一緒に置いても良い。 repository : working directory の一番上にある、.hg (hg の場合) または .git (git の場合) ディレクトリの中身。バージョン管理に関する情報、履歴等が置かれる。 あるところにあるリポジトリを追いかけるだけの使い方 たとえば www.kernel.org の Linus のリポジトリを追いかけるとか、そんな使い方の場合。一番シンプルな例。 最初の取得 (リポジトリを取得し作業ディレクトリに最新の内容を展開する) hg clone url [dir] git clone url [dir] 最新リ

  • Mercurial で 既にリポジトリに入っているファイル名を変更する - 憧れ駆動開発

    事情により既にリポジトリに追加されているファイル名を変更したくなった。具体的には Sencha Touch 2 でリポジトリをつくるときにスキャッフォールドとして hoge.js みたいにいっぱい配置しちゃってたけど、実際は Hoge.js と大文字にしないと認識されないのでそのリポジトリ問題を解決する。 リポジトリのファイル名を変更したのでマージに失敗した 以下ログ [atas@ ~/work/(hg)-[ticket]-] hg merge default abort: case-folding collision between hoge/app/controller/Main.js and hoge/app/controller/main.js ググってみるとどうやら歴史改変して解決する方法があるが、ちょっとこわいのでやりたくなかった。なので達人に聞いたら解決方法を教えてくれた。

    Mercurial で 既にリポジトリに入っているファイル名を変更する - 憧れ駆動開発
  • 「git commit するまえに考えるべき10のこと」がDVCS的じゃない件 - うさぎ組

    はじめに git commit するまえに考えるべき10のこと | Act as Professionalを読んでいろいろと思うことがあったので書きました。 これはSCMBootCamp主催者としてとか、Mercurialユーザーを代表してとかではありません。 僕はこう思う。ということです。 読むの面倒な人は最下部のまとめだけ読めばok。 commit != push DVCSの利点はローカルコミットという概念を持ち込んだことです。これにより、高速な履歴追加、安全なマージを手に入れることができました。 件の記事を読んでいて気になったのは、commitという単語です。 特に、 1コミットに1つの対応 コメントアウトしたコードをコミットしない テストが正常に通過したものにしてください コミットメッセージの1行目は”短い説明” コミットメッセージのスタイル コミットメッセージのボディは有意義な内

    「git commit するまえに考えるべき10のこと」がDVCS的じゃない件 - うさぎ組
  • hgrc tips #mercurialjp - 放牧日記

    このエントリはMercurial Advent Calendar 2012の 1日目です。前回*1の反省を踏まえ、今回は軽いネタから、hgrcのtipsについて話したいと思います。 hgrcのマニュアルの日語訳をwebから参照したい mercurialのマニュアルはほぼ100%日語化されています。 次のURLからhgrcの日語訳が参照できます。 http://mercurial-users.jp/manual/hgrc.5.html ちなみに、hgrcだけでは無くmercurialのマニュアルも参照できます。 http://mercurial-users.jp/manual/hg.1.html http://mercurial-users.jp/manual/hgignore.5.html リポジトリ固有の設定をしたい リポジトリ毎にhgrcの設定を変更したいことがあると思います。た

    hgrc tips #mercurialjp - 放牧日記
  • 1