私は現在SVNでプロジェクトに取り組んでいます。ただし、数日間はインターネットにアクセスできず、プロジェクトに取り組んでいます。
ローカルマシンでリポジトリのクローンを作成し、それに変更をコミットし、インターネットにアクセスしたときにそれらを共有リポジトリに「プッシュ」する方法はありますか?ここでMercurialの観点から考えると、完全に移行する価値はありますか?!
あなたの問題は私にはtheユースケースのように聞こえます git-svn
:
git svn clone http://svn.example.com/project/trunk
git svn rebase
を実行して、GitリポジトリをSVNリポジトリと同期させますgit commit
を使用してGitリポジトリにコミットしますgit svn dcommit
を実行して変更をSVNリポジトリにプッシュします私はこのワークフローを毎日使用しています!
そうすることで、2つの大きな利点が得られます。
ばかげた答えは、別のバージョン管理ツールに移行することです。違反はありません。
私は正確な問題を抱えていました。
「実際の」リポジトリがある「実際の」サーバーでSVNを使用しました。
インターネットなしでラップトップを持って出かけたときは、このラップトップの「実際の」リポジトリ(VisualSVN + TortoiseSVN)を複製し、作業し、変更/コミットし、戻ってきたら単に「同期」しました。新しい「リビジョン」ファイルを「実際の」リポジトリに追加します。
もう少し明確にするために:2つのSVNサーバーを用意します。1つはラップトップにローカルに(クローン)、もう1つは「実際の」サーバーに(明らかに)。 2つを同期するだけです。
上記と同じ理由で、SVNを使用するプロジェクトでgitを使用しています。 git/Mercurialに慣れる人もいますが、しばらくすると、新しいアプローチが本当に気に入っています。さらに、git-svnの使用に問題があったことはなく、Mercurialとsvnを試したこともありません。
Mercurialを使用していて、間に1つか2つの笑い声がある良いチュートリアルをまだ探している場合は、これをチェックしてください tutorial JoelSpolskyによって書かれました。そして前に述べたように、確かにDVCSを始める絶好の機会です。
免責事項:私はSOS(SVNオフラインサポート)の作成者です。
この使いやすいコマンドラインツールを作成して、SVNをオフラインで操作する問題を正確に解決しましたが、SVNチェックアウト内だけでなく、VCS作業コピー(Bazaar、Git、Fossilなど)、または追跡されていないファイルでも機能します。木。 SOSは、従来のVCSで必要とされる複雑なセマンティックの背景知識がなくても、単純なコミット、分岐、切り替え/更新操作を可能にします。オンラインに戻った後、すべての変更を基盤となるVCSに統合できます。
インストールにはPython 3が必要で、pip install -U sos-vcs
を介して処理されます
常に [〜#〜] svk [〜#〜] もあります。私はそれを何年も使っていないので、それがどれだけうまく機能するかはもうわかりません。