問題タブ [svn2git]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - シェルスクリプトで svn2git を完了できません
SVN コードベースを Git に移行しており、30 を超えるプロジェクトを作成する必要があります。したがって、シェルスクリプトのステップを自動化することで、この問題に取り組みました。
以下はコードスニペットです
test.sh
コマンドがターミナルから個別に実行されると、この移行を正常に実行できます。
「ターミナル」
しかし、上記のシェル スクリプトを verbose を使用して実行すると、スタックしてしまいます。テストしたプロジェクトのサイズは約 30MB でした。
log.txt
私は何を間違っていますか?svn2git
シェルスクリプト内で呼び出せないのですか?
git - svn から git への変換: 正しいリモート ref は 'refs/' エラーで始まる必要があります
(他の場所で答えを見つけることができなかったので、自分で答えるつもりでこの質問を投稿しています。うまくいけば、同じ問題に遭遇した他の人を助け、次に私がやろうとしているときに役立つでしょう。)
チャレンジ
SVN リポジトリをローカルでホストされている gitlab GIT リポジトリに変換し、履歴を維持したいと考えています。
セットアップ
Gitlab 8.5、Ubuntu 14.04 LTS、サブバージョン 1.8.8
問題
最初に git-svn または svn2git を使用して svn から git に変換しようとすると、次のエラーが発生しました。
エラー
svn-remote.svn: remote ref '//example.com:81/svn/myrepository/trunk:refs/remotes/trunk' must start with 'refs/'
私が試したこと
以下の外部参照の両方のガイドに従いました。
使用される外部参照
git - Svn2git: git commit タイトルにリビジョン番号を追加
すべての git コミット タイトルに svn リビジョンを追加したいので、Team Foundation Server の履歴で各コミットのすべてのリビジョンを確認できます。
「--amend」を使用してコミットを編集しようとしましたが、この方法では新しいコミットが作成されます (履歴が正しくなくなります)。また、すべてのコミットを1つずつ編集したくありません。 アーカイブしたいもの のスクリーンショット スクリーンショットは、私が --ammend で行ったことを示しています。
移行にはsvn2gitを使用しています。
git - "." で分岐を除外します。git svn clone の最後に
申し訳ありませんが、これと十数個の正規表現をグーグルで検索してみましたが、一生これを理解することはできません。私はsvn2gitを使用しています(「git svn」のラッパーですが、生のコマンドを直接試しても無駄でした)
何年も前に、私たちのスクリプトの 1 つが "tags/release-0.9" を作成しました。これを除外する方法を見つけることができず、取得し続けます:
このタグを除外するにはどうすればよいですか? ご協力ありがとうございました。
git - Svn2git 移行: リポジトリ/プロジェクトの複雑化
3 つの svn リポジトリがあり、それぞれに 30 ~ のプロジェクトがあります。これらの 3 つの svn リポジトリを Git リポジトリに変換し、それぞれのプロジェクトを内部に保持したいと考えています。明確なアイデアを与えるために、私が持っている構造の表現はどこにありますか:
これまでに多くのチュートリアルを試しましたが、目的に合ったものはありませんでした。チュートリアルのほとんどは、プロジェクトごとにリポジトリを作成することを提案していますが、これは私の svn でのパターンではないため、これは問題ないと思います。
次のようなコマンドを実行すると:
プロジェクトのフォルダーをgitリポジトリとして作成しますが、これは望ましくありません。これは私のsvn構造には当てはまらないためです。
そのため、リポジトリ全体 (およびその中の 30 個のプロジェクト) を Git リポジトリに変換するコマンドが必要です。projectName
次のように、アドレスの末尾にあるを削除するように言われました。
svn2git http://address/address/Repository1 --authors ../authormap.txt --metadata
しかし、それはうまくいきませんでした:
私はほぼ1日方法を試してきましたが、今のところ運がありません. リポジトリを変換するのは、これほど面倒で複雑なことではありません。誰でもこの問題について確固たる考えを持っていますか?
git - svn2git migration: Rules
So I have decided to use the svn2git tool after a solid recommendation. In order to migrate the repository, I need authors file and the rules file, along with the repository itself. I composed all these three, and put them under a directory, which I call myRepository_test for the time being. I expect my new git repository to be here after the migration.
Here is the repository structure I currently have:
In total I have around 30 projects here.
Hereby I share my files which will be used:
authormap.txt:
For the time being, I wanted to try only for 2 projects, so:
myRepository.rules:
which makes the final command:
which ends as:
I am not very sure about the content of the rules file, would be nice if someone could help me regarding that.
Thanks in advance.
git - `git-svn` が `Found possible branch point:` でハングするのはなぜですか?
数日以来、私がしているときにgit-svn
ハングアップします。Found possible branch point: .../trunk => .../branches/foo, 8809
git svn fetch
クローンは実際には163671
すでに改訂されています。私のボックスは最近フリーズしたので、フリーズ中に何かが動かなくなっgit svn fetch
て Windows マシンを再起動しなければならなかったのかもしれません。
.git/svn/
邪魔にならないように移動してgit svn
回復させようとしましたが、再構築trunk
され、他のいくつかが再構築され、まったく同じ位置で再びハングします。
突然ハングする理由と、1週間ほどかかる新鮮なgit svnクローン以外に回復する方法を知っている人はいますか? 他に方法があればいいのですが。