LINUX.ORG.RU
решено ФорумAdmin

восстановить svn

 


0

1

Приветствую всех.
Случилась с нами великая печаль, упал компьютер который у нас был назначен сервером для репозитория svn. Упал так что пришлось все переставлять и заново из бекапов восстанавливать всю репу. Все взлетело, но оказалось, что за последние 2 месяца все коммиты потеряны. С другой стороны у всех есть чекауты всего что было. Отсюда вопрос, есть какой-то несложный вариант залить обратно все, что осталось на локальных компах, чтобы не потерялась история коммитов?
Понятно, что можно залить все обратно и все два месяца будут одним коммитом, но хотелось бы историю сохранить.

★★★★★

Простого способа нет. Можно обшарить все имеющиеся рабочие копии, посмотиеть, к каким ревизиям они относятся, и закоммить text-bases, нт это куча хлопот.

Надо искать ренегата, который пользовался git-svn или hgsvn.

PS. здесь шутка о бэкапах.

tailgunner ★★★★★
()

Все взлетело, но оказалось, что за последние 2 месяца все коммиты потеряны.

А чего так «часто» бэкап делаете? «Я бы вообще раз в год делал». Для получения «большего удовольствия», рекомендую на тот же хард где и svn бэкапить.

anc ★★★★★
()
Ответ на: комментарий от tailgunner

PS. здесь шутка о бэкапах.

Грешно смеяться над убогими (я про наших админчеков).

Можно обшарить все имеющиеся рабочие копии, посмотиеть, к каким ревизиям они относятся,

А разве локально вся история коммитов не хранится. У меня просто все исходники 1,6Гб, а .svn 2Гб. Что-то мне подсказывает все, что мне надо там есть, надо просто это аккуратно достать.

yax123 ★★★★★
() автор топика
Ответ на: комментарий от anc

«Я бы вообще раз в год делал».

Ещеодинпетросян. Да откуда я знаю что они там делают и чем думают.

yax123 ★★★★★
() автор топика
Ответ на: комментарий от yax123

А разве локально вся история коммитов не хранится.

Нет.

У меня просто все исходники 1,6Гб, а .svn 2Гб

Это и есть text-bases, они же pristine copies.

tailgunner ★★★★★
()
Ответ на: комментарий от yax123

Ага, он самый :)
По делу, хз, даже вот приблизительно.
На будущее. Если у вас такое разделение, админы отдельно - девелоперы отдельно, и на админов никак не повлиять, рекомендую делать бэкап себе «любимым» раз на них надежды нет.

anc ★★★★★
()
Ответ на: комментарий от anc

рекомендую делать бэкап себе «любимым» раз на них надежды нет.

расскажите что вы понимаете под этим? Как удаленно сделать бэкап репы, чтобы потом его можно было со всей историей обратно залить?

yax123 ★★★★★
() автор топика
Ответ на: комментарий от yax123

Как уже сказали выше, git-svn делает глубокую копию svn-репозитария (И те, кто им пользовался, имеют полные данные). Так что делайте git svn clone на свой сервачок и бекапьте эту директорию, я так думаю. И вводите в практику git svn на рабочих местах

Deleted
()
Ответ на: комментарий от Deleted

Как уже сказали выше, git-svn делает глубокую копию svn-репозитария (И те, кто им пользовался, имеют полные данные)

Очень хорошо. Потом что можно с этим бекапом сделать? Создать гит-репу? Или можно обратно все залить в svn?

yax123 ★★★★★
() автор топика
Ответ на: комментарий от erzentl

а мож им железо под это не выделют доброе начальство? чаще всего именно по этой причине бэкапы так делают))))

конечно не выделяют, и упсов нет, и зп задерживают, и начальники мудаки и пользователи дебилы. Тем не менее где-то бэкап двухмесячной свежести они хранили? что мешало сохранять его каждый день? не иначе как злобное начальство по рукам било.

yax123 ★★★★★
() автор топика
Ответ на: комментарий от yax123

боюлись лишний раз использовать, чтобы дольше жил внешний винт))))

erzentl
()
Ответ на: комментарий от akk

А не расскажете как из гитовой копии свн обратно в чистый свн все закинуть? А то везде написано как мигрировать в git, а обратный путь как-то не виден.

yax123 ★★★★★
() автор топика
Ответ на: комментарий от yax123

Попробуй на тестовых репозитариях. http://goodliffe.blogspot.com/2011/08/pushing-git-repository-into-existing.html

Суть такая. У тебя есть гитовое репо с полным проектом gitSvnMain. Cоздаем пустой svn (svn mkdir svn://svnNew ), создаем новый пустой gitSvnNew из него (git svn clone svn://svnNew), добавляем в gitSvnNew слежение за полным проектом gitSvnMain (git remote add -f source /path/gitSvnMain/), в gitSvnNew ребейзим из remote/gitSvnMain (git rebase --onto remote/git-svn ... ) [имя «git-svn» - упомнание найдешь в конфиге .git/config, это как раз имя remote для gitSvnMain, назначается во время git svn clone]. Делаем git svn dcommit. Все должно залиться в svnNew. В этой процедуре главный репо gitSvnMain используем только для чтения, все операции проводятся внутри gitSvnNew

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)

последние 2 месяца все коммиты потеряны

Отношения «разработчики» <==> «админы» в небольших конторах, даже софтовых-продуктовых, по моему опыту, всегда такие. Админы работают спустя рукава и разработчиков не поддерживают должным образом. Копаются там в своих 1Сках и тусят у девочек в бухгалтерии. Свой сервант у разработчиков в углу всегда окупается, админить приходится самим, конечно.

Иногда забавно наблюдать реакцию на просьбу поднять CI-сервер. В лучшем случае, будет прямой ответ, что в этом ничего не понимают, а информированное начальство скажет заниматься самим. В худшем - будет все сделано через joпу :)

Deleted
()
Ответ на: комментарий от Deleted

добавляем в gitSvnNew слежение за полным проектом gitSvnMain (git remote add -f source /path/gitSvnMain/), в gitSvnNew ребейзим из remote/gitSvnMain (git rebase --onto remote/git-svn ... ) [

очень изощренное колдунство :) В общем я щас конечно клон в гит сделаю. Но потом пойду поговорю с админом, чтобы он немного уделил внимания нашим проблемам.

Вообще я конечно зря на них бочку качу, специфика у нас скажем так «железячная», погромисты как бесплатный довесок, поэтому нашу специфику не все хорошо понимают (на уровне руководства). Опять же эта репа вообще была лично админская, в которую нас любезно пустили переночевать. Поэтому и отношение к ней соответствующее.

Спасибо за советы.

yax123 ★★★★★
() автор топика
Последнее исправление: yax123 (всего исправлений: 1)
Ответ на: комментарий от yax123

очень изощренное колдунство :)

Но прием для гита общий: работа с remotes. Пригодится.

Удачи

Deleted
()
Ответ на: комментарий от yax123

Перечитал, все ответы. Честно говоря я не думал что у вас все «настолько» плохо. У меня была практика «борьбы» с другим подразделением которое ответственно за бэкапы (по факту безответственно) но даже на фоне очень сильно натянутых отношений, смогли договориться что вот «эти» данные (там было много чего, от бд до фаловых хранилищ) мы заодно еще и себе сливаем. Но у меня правда не только девелоперы работали (полный фарш начиная от кипа)

anc ★★★★★
()
Ответ на: комментарий от anc

Вангую вам хотели намекнуть на презентацию гит Линусом.

Вы очень хорошего мнения об выступающем. Судя по модным словечкам из профиля выступающего, тут стандартный дартаньянизм в терминальной стадии. Посыл скорей всего был, что гит это стильно модно молодежно и только отсталые недопогромисты еще цепляются за этот ваш свн. Ну да ладно, не все с возрастом взрослеют.

yax123 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.