Управление версиями файлов в Windows XP

1461
Mike Cole

Я хотел бы создать в Windows XP папку архива, которая позволила бы мне удалить несколько разных версий одного и того же файла и хранить в ней каждую версию. Я предполагаю, что это будет работать аналогично корзине, где вы можете отбросить один и тот же файл 10 раз, и он будет хранить каждую версию. Кто-нибудь знает, как я могу это сделать?

Спасибо!

Изменить: Использование системы контроля версий для этой ситуации является полным излишним. Я могу просто написать скрипт, который добавляет метку даты / времени к файлу при добавлении в папку.

4
Что касается * сценария, который добавляет отметку даты / времени к файлу при добавлении в папку * - есть ли в Windows что-то вроде Действия с папкой на Mac, чтобы назначить сценарий для папки? http://www.apple.com/pro/tips/folderactions.html Arjan 14 лет назад 0

7 ответов на вопрос

2
rob

Я бы рекомендовал использовать актуальную систему контроля версий. У многих из них есть клиенты Windows и / или интеграция с оболочкой. Несколько примеров:

  • Mercurial (с черепахой)
  • Гит
  • Subversion (с TortoiseSVN)
  • CVS (с TortoiseCVS)

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

1
fluxtendu

Этот пакетный файл копирует ваши файл (ы) в "_bpath" (установите его так, как вам нравится) и добавьте к нему фактическую дату, часы, минуты и секунды.

@echo off Set _bpath=T:\Temp\ if [%1]==[] goto :eof :loop Set _file=%~n1% Set _ext=%~x1% For /f "tokens=1-3 delims=1234567890 " %%a in ("%time%") Do Set "delims=%%a%%b%%c" For /f "tokens=1-4 delims=%delims%" %%G in ("%time%") Do ( Set _hh=%%G Set _min=%%H Set _ss=%%I Set _ms=%%J ) copy %1 "%_bpath%%_file%(%date:/=-% %_hh%h%_min%m%_ss%s)%_ext%" shift if not [%1]==[] goto loop 

Для удобства вы можете добавить этот пакетный файл в контекстное меню «Отправить», скопировав его в %APPDATA%\Microsoft\Windows\SendTo

Или, если вам нужны более продвинутые функции, хорошим выбором может стать программное обеспечение, имитирующее машину времени Mac OSX, такое как Comodo Time Machine (бесплатно) или Genie Timeline (35 $).

Красиво - это действительно близко к тому, что мне нужно. Однако мне нужно иметь возможность архивировать целые папки тоже. Я не хочу, чтобы временная метка применялась к каждому файлу в папке - только к самой папке верхнего уровня. Спасибо!! Mike Cole 14 лет назад 0
Используя предоставленный вами метод добавления команд в меню «Отправить», я создал небольшое приложение, которое делает именно то, что я хочу. Большое спасибо за вашу помощь! Mike Cole 14 лет назад 0
1
JRobert

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

0
DaveParillo

Лично я пользуюсь TortoiseSVN . Это не просто решение для перетаскивания, о котором вы просите, но оно очень хорошо интегрировано с Windows Explorer, простое в использовании и очень надежное. Плюс это моя любимая цена (бесплатно).

Черепаховое меню

Я использую Subversion / Tortoise для моей разработки VCS. Это излишне для этого конкретного запроса, хотя. Mike Cole 14 лет назад 0
Может ли оно быть использовано без хранилища? Arjan 14 лет назад 0
Я устанавливаю репозиторий где-то на моем локальном диске, например `D: / svn`, и затем проверяю файлы в & out, используя file: ///...path к файлам ..., так что да, вам нужен репозиторий, но это просто папка на вашем компьютере где-то. DaveParillo 14 лет назад 0
@ Майк С. - я предполагаю, что все, что вы обнаружите, поддерживающее простое перетаскивание, которое вы хотите, И достаточно умен, чтобы перемещать файлы с пути так, как вы хотите, в конечном итоге приведет к скручиванию ресурсов. Но я бы хотел оказаться неправым. DaveParillo 14 лет назад 0
0

Я поддержу идею использования системы контроля версий, но рекомендую bzr как одну из самых простых.

http://bazaar.canonical.com/en/

0
Alexey Vassiliev

Я бы просто создал командный файл, который бы заархивировал все файлы вашей папки в архив с именем, отражающим дату и время в сортируемом виде (так что это будет что-то вроде 2013-Oct-20.rar), а затем после каждого рабочего сеанса вы будет иметь хорошую архивную копию всех ваших работ.

2 возможных недостатка: 1. если ваши файлы имеют размер более 100 МБ, время архивирования и дисковое пространство могут быть проблемой 2. Вы не можете получить доступ к файлам очень быстро, нужно открыть архив и перейти к файлу.

-1
chichilatte

Это не XP, но Time Machine на Mac - это именно то, что вы ищете http://www.apple.com/macosx/what-is-macosx/time-machine.html

Time Machine * не * сохраняет копии каждой ревизии. И даже при работе каждый час последние изменения могут быть потеряны раньше, чем вы думаете, оставив одну с последней версией и версией, выпущенной неделю назад, но между ними ничего нет. Arjan 14 лет назад 1

Похожие вопросы