Как я могу сохранить коммит в Subversion? - PullRequest
3 голосов
/ 14 апреля 2010

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

Ответы [ 5 ]

4 голосов
/ 14 апреля 2010

Вы можете использовать git-svn и установить локальный репозиторий git, который будет синхронизироваться с svn.Вы можете выполнять локальные коммиты в репозиторий git при работе в автономном режиме и передавать изменения в центральный svn, когда вы вернетесь в сеть.

3 голосов
/ 14 апреля 2010

Если вы хотите объединить некоторые изменения в один вид коммита, единственный вариант, о котором я могу подумать, это сгенерировать diff из всего, что вы сделали (TortoiseSVN имеет возможность сделать это или вы можете использовать команду svn diff, если вы дружественны к командной строке), но на самом деле это работает только один раз, если вы не знаете, что будете работать с отдельными файлами для каждого пакета.

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

0 голосов
/ 14 апреля 2010

SVN не поддерживает эту функцию, локальные автономные коммиты сами по себе. Поэтому вы должны получить что-то вроде git-svn, которое расширяет рабочую копию с помощью распределенного репозитория, чтобы сделать возможными локальные коммиты.

Однако вы можете сохранить ваш коммит как файл патча, что легко сделать, например, TortoiseSVN или просто «svn diff» сохраняют каждый шаг как патч, и они будут работать как итеративные коммиты.

вернувшись в сеть, вы можете просто применить один патч за другим и совершать каждый шаг.

0 голосов
/ 14 апреля 2010

Попробуйте посмотреть на GIT как на управление хранилищем. GIT выполняет множество действий в автономном режиме и таким образом является очень быстрым и надежным. Однако GIT - это нечто совершенно иное, чем SVN, так что вам придется провести некоторое исследование по этому вопросу. Но если вы часто работаете в автономном режиме, я бы определенно получил награду в GIT на вашем месте:]

http://git -scm.com /

0 голосов
/ 14 апреля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...