簡単なオンタイムインポートを使用して、既存のSVNリポジトリをGITに移行しています。SubGitでGitコミットメッセージにSubversionリビジョンを追加します。
$ subgit import --svn-url http://svn/repo repo.git
すべてが正常に動作しますが、各GITにSubGitによって作成されたコミットに対応するSVNのリビジョン番号を含むように任意のチャンスはありますか?
簡単なオンタイムインポートを使用して、既存のSVNリポジトリをGITに移行しています。SubGitでGitコミットメッセージにSubversionリビジョンを追加します。
$ subgit import --svn-url http://svn/repo repo.git
すべてが正常に動作しますが、各GITにSubGitによって作成されたコミットに対応するSVNのリビジョン番号を含むように任意のチャンスはありますか?
現在、このような機能はありませんが、同様の効果を持つものがあります。
Gitリポジトリへのアクセスを設定するときは、それを複製した後、SubGit bookからこの勧告に従うことができます。私。
[remote "origin"]
...
fetch = +refs/svn/map:refs/notes/commits
を設定し、Git notesをダウンロードするには
git fetch
を実行するために.git/config
ファイルを編集します。その後、 "git log"にリビジョン番号が表示されます。その後
669d570bc561023034c7b28fd6e0a369662b1258
aa628cf9ac100bb144f50490d403e2dcacfd0842 r3624 trunk
db76bb8572f62169a9a28532890610b5a6c234c9
c5b2a475ce5fce72a620064b7b9507af2ec10212 r3623 branches/feature
a5938100859e6d1a245f84907acd33cf8092eb96
086773418197047b523cda6e892441b1364c56f7 r3622 branches/feature
f47b87de14a9d476cd8efd708e0571512875faf9
fb8edc1b9ad1668c1930f8db6f6e43c08d02baa1
64fd8ef37200438dd4068255ff56ac09e73a8259
00cc3cc581593c90155569fadb47c0d99565a362
7ca753c7c8ae572ceff235eb8f68d1e8805f0bc4 r3621 branches/feature
827a04ebede055a6847b52d416efe04b9e81511e r3620 branches/feature
:スクリプトからSHA-1ハッシュ、およびその逆でリビジョン番号を見つける必要がある場合
また、あなたは、出力は次のように見えるかもしれ
git log --all --format="%H %N"
を実行することができますgrep、awk、sedなどのツールを使用して、SHA1をリビジョンごとに探したり、その逆にすることができます。
リビジョン番号のない行は、Gitノートそのもの(コミットに関するGitノートは他のGitコミットに保存されています)に対応し、Gitだけがノートで注釈されていません。つまり、SVNからは翻訳されません。ノートにはLF文字が最後に含まれているため、コミット後に空白行が追加されます。 grepとawkはそれらを無視することで素晴らしいです。
リビジョンがコミットメッセージに直接書き込まれている場合よりも、これが便利だと思います。
最後に、これはすべてインポート用だけでなく、継続的な同期用としても機能することを追加します。
私はSubGit開発者の一人です。
よろしくお願いいたします。結果のgitリポジトリをTFVC(git-tfを使用)に移行する必要があります。しかし悲しいことにgit-tfにgit commitメッセージとともにgit notesを含めるオプションはありません。 – Jensen