Участник:Stanv/Gitsvn
GIT-SVN(1) & git.alt
Ошибки которых следует избегать:
При создании локального git репозитария у себя на рабочем компьютере, не называйте его с суффиксом .git Суффикс .git - означает что репозиторий является bare, т.е. не содержит копию исходных кодов. Bare репозиторий не имеет WORKING TREE, а содержит только базу данных git.
можно даже git push $remote 'refs/remotes/*:refs/heads/git-svn/*'
$ mkdir krb5ticketwatch $ cd krb5ticketwatch
Tracking and contributing to an entire Subversion-managed project (complete with a trunk,
tags and branches):
Припустим до вас пакет никто не создавал. Создадим пустой репозиторий.
$ git svn init -t tags -b branches -T trunk https://krb5ticketwatch.svn.sourceforge.net/svnroot/krb5ticketwatch Initialized empty Git repository in /home/stanv/tmp/krb5ticketwatch/.git/
Я себе всю историю изменений из Subversion репозитория вплоть до предпоследнего релиза (-r1:87). Последний релиз мы не скачиваем, так как на нем покажем как происходит обновление пакета. Предпоследний стабильный релиз. $ git svn fetch -r1:87
Посмотрим последний коммит $ git log -1 commit 217088707bda6e1334d773aab2290f9bd4275a01 Author: mcalmer <mcalmer@a89c6a6b-391f-0410-b44d-9b669724f1e5> Date: Fri Sep 5 10:17:28 2008 +0000
version 1.0.1 -- minor text change
····
git-svn-id: https://krb5ticketwatch.svn.sourceforge.net/svnroot/krb5ticketwatch/trunk@87 a89c6a6b-391f-0410-b44d-9b669724f1e5
$ git branch -a
- master
tags/trunk-krb5-ticket-watcher-0.1.1 tags/trunk-krb5-ticket-watcher-0.1.1@12 tags/trunk-krb5-ticket-watcher-0.1.2 tags/trunk-krb5-ticket-watcher-0.1.2@24 tags/trunk-krb5-ticket-watcher-0.1.3 tags/trunk-krb5-ticket-watcher-0.1.3@40 tags/trunk-krb5-ticket-watcher-0.1.3@43 tags/trunk-krb5-ticket-watcher-0.2.0 trunk
$ l итого 16 drwxr-xr-x 4 stanv stanv 43 Мар 20 13:20 ./ drwxr-xr-x 9 stanv stanv 144 Мар 20 13:16 .git/ drwxr-xr-x 5 stanv stanv 4096 Мар 20 13:16 krb5-ticket-watcher/ drwx------ 79 stanv stanv 8192 Мар 20 13:05 ../
Собираем пакет.
$ git branch upstream $ git branch
- master
upstream
$ mkdir .gear
commit 217088707bda6e1334d773aab2290f9bd4275a01
Author: mcalmer <mcalmer@a89c6a6b-391f-0410-b44d-9b669724f1e5>
Date: Fri Sep 5 10:17:28 2008 +0000
version 1.0.1 -- minor text change
$ git tag -s -m "v1.0.1" v1.0.1
Необходим пароль для доступа к секретному ключу пользователя: "Andriy Stepanov (ALT Linux packages sign key) <stanv@altlinux.ru>" 1024-бит DSA ключ, ID 289196AA, создан 2007-02-07
[stanv@stanv krb5ticketwatch]$ git tag v1.0.1
$ gear-update-tag -a
$ cat .gear/tags/list 74ce64fc236a219f8776db20c8e9711810fc8a4c v1.0.1
]$ git add krb5-ticket-watcher.spec [stanv@stanv krb5ticketwatch]$ git add .gear/
$ gear-rpm -bp --commit