Некоторый код был потерян после выполнения bzr commit --local, bzr pull, bzr commit - PullRequest
4 голосов
/ 02 июля 2010

Разработчик в моей команде использует ветвь, привязанную к серверу (т.е. использует только извлечение, обновление и фиксацию), но также часто использует флаг --local при фиксации, а затем фиксирует сервер в пакете,Недавно она столкнулась с ситуацией, когда ей не хватает некоторых локальных коммитов, и они не могут найти их в репозитории ИЛИ в своем локальном коде.Она подозревает, что это связано с тем, что в какой-то момент она работала между локальными коммитами и серверными коммитами.

Ни у кого из нас нет особого опыта работы с Bazaar.код?Она совершенно уверена, что она никогда не делала ничего разрушительного, и я вполне уверен, что Базар спросил бы ее, собирается ли он это сделать.Я смутно помню, что у Bazaar есть некоторое представление о «скрытых» репозиториях / деревьях / где бы они ни находились, прежде чем менять кучу кода, из которого кто-то может восстановить утерянный код, но я не могу найти в Google то, что это такое.

Ответы [ 3 ]

3 голосов
/ 02 июля 2010

Я понял, что «скрытые» репозитории / деревья / все, что я имел в виду, являются «мертвыми головами» при просмотре с bzr heads.

Мы нашли мертвую голову и слили ее обратно - код сохранен!

$ bzr heads
$ # output shows various heads, with names like: revision-id: john@mycomputer-20100630175358-39qro1z5qdq2o9ay(dead)
$ bzr merge john@mycomputer-20100630175358-39qro1z5qdq2o9ay
2 голосов
/ 02 июля 2010

Если ничего не помогает, вы можете попробовать задать запрос на IRC-канале базара.

Перейдите сейчас * и побродите по каналу #bzr.Там обычно есть люди, и они обычно полезны.

** Это веб-интерфейс freenode.Если вы ранее не использовали IRC, вы создаете свой собственный псевдоним, выбираете канал #bzr, и вам не нужно выполнять авторизацию (если ваш псевдоним уникален). *

0 голосов
/ 02 июля 2010

В любое время вы можете сделать

bzr status

, и это будет необходимо, если есть какие-либо незафиксированные изменения, включая слияния, которые не были совершены. Это может помочь определить, где все находится. Если вы выполняете слияние и не выполняете его с фиксацией (независимо от того, были ли конфликты), то результат слияния останется незафиксированным.

Выполнение bzr pull не должно было бы уничтожить какую-либо работу - насколько я понимаю, оно должно просто потерпеть неудачу, если локальная ветвь имеет незафиксированные изменения.

...