| Предкоммит в репозиторий (что-то типа SAVEPOINT) | |
| От: | Foror | ||
| Дата: | 17.04.08 05:42 |
| Скажем заканчивая рабочий день нужно закинуть часть сделаной работы в репозиторий, но при этом чтобы только ты мог видеть эти изменения, т.е. такой вот предкоммит (что-то типа SAVEPOINT в СУБД). Тем самым только ты можешь работать над не завершенной задачей, из любого места, с любого компьютера, а когда заканчиваешь, то делаешь commit для всех. Такие вещи можно как-то реализовать в Subversion? Если нет, где можно? |
| Re: Предкоммит в репозиторий (что-то типа SAVEPOINT) | |
| От: | Аноним 148 | ||
| Дата: | 17.04.08 07:30 | ||
| Оценка: | 4 (1) | ||
| Здравствуйте, Foror, Вы писали: F>Скажем заканчивая рабочий день нужно закинуть часть сделаной работы в репозиторий, но при этом чтобы только ты мог видеть эти изменения Для этого и нужны ветки. Перед началом работы над какой либо задачей, откалываем ветку, и все изменения комитим в неё. Эту ветку помимо вас никто больше не будет использовать, поэтому туда можно комитить всё что угодно. По завершении работы мержим изменения. Ещё более "кошерным" является следующий подход:
скопировать её в "pre-fix-tag" указывающий начало работы все изменения комитить в ветку. (ваши комиты "видны" только вам, поэтому можно комитить даже некомпилящийся проект по окончании работы, когда всё уже работает как надо, скопировать ветку в "post-fix-tag" — указывающий на окончание изменений смержить транк с !!!изменениями от "pre-fix-tag" до "post-fix-tag" закомитить транк (ваши комиты "видны" всем) тоже самое, в терминах svn
а c помощью "тортилы" всё совсем просто P.S. за идею и рекомендации спасибо kandreev и "Pragmatic Version Control using Subversion" by Mike Mason |
| Re[2]: Предкоммит в репозиторий (что-то типа SAVEPOINT) | |
| От: | Foror | ||
| Дата: | 17.04.08 08:51 |
| F>>Скажем заканчивая рабочий день нужно закинуть часть сделаной работы в репозиторий, но при этом чтобы только ты мог видеть эти изменения А>Для этого и нужны ветки. Я думаю ветки нужны для более сложных вещей, нежели двух-трёх дневного временного хранилища для не завершенной работы. Как я вижу такую фичу в subversion: -- на работе делаю коммит, который будет виден только мне svn savepoint -- дома забираю не законченую работу svn getpoint -- где-нибудь завершаю работу над задачей svn commit Вот как-то так, надо бы в фичлист подкинуть идейку, думаю фича была бы иногда полезна. |
| Re: Предкоммит в репозиторий (что-то типа SAVEPOINT) | |
| От: | Lloyd | ||
| Дата: | 17.04.08 08:56 | ||
| Оценка: | +1 | ||
| Здравствуйте, Foror, Вы писали: F>Такие вещи можно как-то реализовать в Subversion? Если нет, где можно? Shelve в TFS-е. ... << RSDN@Home 1.2.0 alpha rev. 786>> |
| Re[3]: Предкоммит в репозиторий (что-то типа SAVEPOINT) | |
| От: | achmed | ||
| Дата: | 18.04.08 09:57 |
| Здравствуйте, Foror, Вы писали: F>>>Скажем заканчивая рабочий день нужно закинуть часть сделаной работы в репозиторий, но при этом чтобы только ты мог видеть эти изменения А>>Для этого и нужны ветки. F>Я думаю ветки нужны для более сложных вещей, нежели двух-трёх дневного временного хранилища для не завершенной работы. Как я вижу такую фичу в subversion: они много для чего нужны, в том числе и для этого, не надо бояться их использовать F>-- на работе делаю коммит, который будет виден только мне F>svn savepoint svn copy . <url для промежуточного результата> F>-- дома забираю не законченую работу F>svn getpoint svn co . <url для промежуточного результата> F>-- где-нибудь завершаю работу над задачей F>svn commit svn merge ... svn commit F>Вот как-то так, надо бы в фичлист подкинуть идейку, думаю фича была бы иногда полезна. Они ответят использовать функциональность svn copy |
| Re[4]: Предкоммит в репозиторий (что-то типа SAVEPOINT) | |
| От: | Foror | ||
| Дата: | 18.04.08 11:07 |
| Здравствуйте, achmed, Вы писали: A>они много для чего нужны, в том числе и для этого, не надо бояться их использовать Я не боюсь их использовать. Проблема в том, что такой метод использования может накапливать порядка нескольких сотен веток. По хорошему их надо удалять, но опять же это лишние телодвижения... F>>-- на работе делаю коммит, который будет виден только мне F>>svn savepoint A>svn copy . <url для промежуточного результата> И что это за промежуточный URL? Зачем мне администрировать ещё какой-то URL? F>>Вот как-то так, надо бы в фичлист подкинуть идейку, думаю фича была бы иногда полезна. A>Они ответят использовать функциональность svn copy Тут еще подсказали посмотреть на git или mercurial, вроде выглядит интересно. И в некотором смысле решает мою проблему, просто и без лишних телодвижений. Я за простоту, если вещь можно сделать двумя командами, а лучше одной, то я буду искать решение где это сделано или реализую сам, а не буду использовать листинг команд с пол страницы. |
| Re: Предкоммит в репозиторий (что-то типа SAVEPOINT) | |
| От: | Cyberax | ||
| Дата: | 18.04.08 11:19 |
| Здравствуйте, Foror, Вы писали: F>Скажем заканчивая рабочий день нужно закинуть часть сделаной работы в репозиторий, но при этом чтобы только ты мог видеть эти изменения, т.е. такой вот предкоммит (что-то типа SAVEPOINT в СУБД). Тем самым только ты можешь работать над не завершенной задачей, из любого места, с любого компьютера, а когда заканчиваешь, то делаешь commit для всех. F>Такие вещи можно как-то реализовать в Subversion? Если нет, где можно? В SVN такое сделать нельзя. В качестве промежуточной меры — делать "svn diff" и сохранять полученый патч где-нибудь в надёжном месте. А вообще, распределённые VCS рулят. Для SVN я бы посоветовал взять SVK — http://svk.bestpractical.com/view/HomePage , как полностью распределённая VCS он не очень, но вот для оффлайновых веток — рулит. Sapienti sat! |
| Re[5]: Предкоммит в репозиторий (что-то типа SAVEPOINT) | |
| От: | achmed | ||
| Дата: | 18.04.08 11:21 |
| Здравствуйте, Foror, Вы писали: F>Здравствуйте, achmed, Вы писали: A>>они много для чего нужны, в том числе и для этого, не надо бояться их использовать F>Я не боюсь их использовать. Проблема в том, что такой метод использования может накапливать порядка нескольких сотен веток. По хорошему их надо удалять, но опять же это лишние телодвижения... Необязательно удалять, на репозиотрии это никак не скажется F>>>-- на работе делаю коммит, который будет виден только мне F>>>svn savepoint A>>svn copy . <url для промежуточного результата> F>И что это за промежуточный URL? Зачем мне администрировать ещё какой-то URL? Это url в твоем же репозитории |
| Re[6]: Предкоммит в репозиторий (что-то типа SAVEPOINT) | |
| От: | Foror | ||
| Дата: | 18.04.08 11:37 |
| Здравствуйте, achmed, Вы писали: A>Необязательно удалять, на репозиотрии это никак не скажется Листинг команд в пол страницы для создания ветки по прежнему портят всё. F>>И что это за промежуточный URL? Зачем мне администрировать ещё какой-то URL? A>Это url в твоем же репозитории Тогда это почти таже ветка, но другим способом и команд чуть поменьше Возможно вы не разобрались что вообще мне нужно, а мне не нужны ветки или копии репозитория, всё что мне нужно это временное хранение промежуточного результата в репозитории. И две команды чтобы положить это в репозиторий и забрать (+автоматический merge в случае изменений в репозитории), а после commit, я больше не хочу знать об этом промежуточном результате. |