Локальная история/ревизии для файлов разработки

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

В основном я хочу иметь возможность отслеживать свою историю и просматривать ее из любого редактора для проектов PHP.

Я уже использую контроль версий SVN, но хочу также иметь локальную историю.


person Simon Tong    schedule 29.03.2011    source источник
comment
Хм... почему бы просто не создать локальный репозиторий SVN (это довольно просто)? И если вы хотите отслеживать историю локально и в то же время использовать удаленный сервер SVN, вам, вероятно, следует переключиться на DVCS, такие как mercurial или git. В этом случае вы можете clone репозиторий и отслеживать локальные изменения. И когда вы хотите, вы можете push вернуть эти изменения на сервер.   -  person maverik    schedule 29.03.2011


Ответы (1)


Я собирался задать аналогичный вопрос, который я воспроизвожу здесь для целей поиска (ответ ниже):


У меня есть рабочая копия исходного кода проекта, использующего subversion. Теперь предположим, что у меня есть две разные проблемы, которые нужно исправить в одном и том же файле, хотя по какой-то причине у меня нет доступа к серверу svn. Я не хочу, чтобы два исправления смешивались в глобальном патче: для ясности я хотел бы иметь патч для каждого исправления. Поэтому я хотел бы иметь возможность «svn diff» между исходной версией, первой измененной версией и последней версией, которые не были зафиксированы на сервере, или, альтернативно, иметь возможность зафиксировать каждую ревизию независимо.

Как ты это делаешь ? Есть ли способ пометить ревизии локально с помощью svn?


Затем я нашел этот вопрос, и ответ Маверика привел к появлению нового ключевого слова : "клон". В поисках «клона svn» я обнаружил, что хорошим ответом может быть использование «git-svn» (NB: дефис для имени, но не дефис для команды: «git svn»), а затем использовать git локально. Я позволю вам погуглить об этом, но вкратце:

git svn --username=skippy clone http://svn.example.org/projects/myproject -T trunk localdir

Примените первое исправление :

git add path/to/modified/file
git commit

Примените второе исправление :

git add path/to/modified/file
git commit

Затем получите идентификаторы версий :

git log --oneline|head

И чтобы увидеть изменения, добавленные ревизией a1b2c3 :

git diff a1b2c3d{^,}
person Skippy le Grand Gourou    schedule 23.06.2011