Time Machine x controle de origem?

18

Finalmente, fui convencido a começar a usar algum tipo de controle de versão para o meu código, em vez de fechar uma cópia do projeto no final de cada dia.

Baixei o Tortoise SVN e o usei para criar um local de repositório no meu disco rígido. Estou usando-o há 2 dias, mas devo dizer que usá-lo é realmente mais complicado do que copiar o projeto manualmente no explorer. Claro, você só armazena alterações incrementais, mas com os discos baratos de hoje, não posso dizer que isso é um argumento quando você tem apenas pequenos projetos. Ainda não encontrei uma maneira rápida de navegar nas versões mais antigas dos meus arquivos.

O que eu quero é um desfazer infinito que seja completamente transparente enquanto eu codigo, se eu salvar o arquivo, eu quero um backup. Eu não quero fazer check-out, fazer check-in e nem mesmo começar a mover arquivos. Eu não tentei o Time Machine para OS X, mas parece que é exatamente o que estou procurando.

Esse programa existe para o Windows? De preferência grátis e com algum tipo de sistema de marcação para que eu possa marcar um carimbo de data e hora quando o projeto estiver funcionando etc.

Talvez deva acrescentar que trabalho principalmente sozinho em um único computador.

Atualização: alguns de vocês perguntaram por que eu quero backup. Desde que eu trabalho sozinho, é principalmente para me permitir encontrar rapidamente uma solução sem me preocupar que algo estrague.

Blub
fonte
4
A principal diferença entre o SCM e o Time Machine é que, com o SCM, você confirma explicitamente e pode recuperar todas as suas confirmações, enquanto os backups do Time Machine são automáticos (a cada hora) e alguns se perdem com o tempo: apenas um backup por semana é mantido para sempre (e você não escolhe qual).
Mouviciel 18/02/09
2
Eu acho que um auto commit em cada compilação que completa sem erros, além de um lable sempre que os testes de unidade passar poderia ser bom em uma filial local para um monte de programadores
Ian Ringrose
11
O problema com qualquer controle de versão é que, se você é o único desenvolvedor de um probject, é muito difícil parar os arquivos que você não adicionou ao sistema de controle de versão. Ter um servidor de compilação separado funciona, mas é muito mais para configurar. Apenas fazer o backup de TODOS os arquivos pode ser mais seguro.
44626 Ian Ringrose

Respostas:

39

Eu acho que você realmente está subestimando os benefícios do controle de origem. Como Dustin apontou, há ramificação, fusão e compartilhamento. Além disso, o uso de um sistema de controle de origem pode permitir que você descubra facilmente quando cada linha do seu código foi alterada pela última vez. O SVN também pode rastrear o histórico dos arquivos, mesmo que eles sejam renomeados ou movidos para um diretório diferente. A mesclagem pode até resolver problemas, mesmo se você tiver apenas 1 desenvolvedor, pois pode trabalhar em seu desktop, laptop e outros computadores sem ter que se preocupar com a substituição de alterações.

Kibbee
fonte
A necessidade de Jeff (e a minha) não é atendida pelo controle de origem, porque isso requer confirmações manuais. É importante poder refazer as alterações minuto a minuto que você fez na sua cópia de trabalho sem precisar confirmar a cada minuto. E sem poluir o repositório. Alguns IDEs (como o Eclipse) permitem que você navegue nos arquivos do projeto de volta no tempo. Mas isso requer o uso de um IDE específico e a configuração de um projeto. Seria bom se houvesse funcionalidade semelhante em uma ferramenta independente.
Vimes
@JohnB SVN tem um recurso chamado "Autoversioning". Ele permite que você monte seu repositório como uma pasta WebDAV padrão e toda vez que você salvar o arquivo, ele executará uma confirmação. Se você salvar o suficiente, poderá voltar no tempo para qualquer momento em que salvar o arquivo. Não é tão granular como algo como o VS.Net, onde você pode pressionar Ctrl + Z cada caractere, mas você deve salvar a cada 10 minutos. Se você fosse um único desenvolvedor trabalhando em um projeto, provavelmente daria certo, embora eu não tenha muita experiência com ele. ( svnbook.red-bean.com/en/1.7/svn.webdav.autoversioning.html )
Kibbee
Obrigado, Kibbee. Eu vi o post do VonC sobre isso, abaixo. É uma das poucas opções que eu já vi, e a única gratuita. Existem também alguns produtos dedicados, abaixo, que não exigem a configuração de um servidor de controle de origem, o que é bom. Mas eles custam dinheiro e parecem ter mais detalhes do que eu preciso (ou, um deles precisa de algum trabalho de interface do usuário). A coisa mais próxima que eu vi do que eu quero é o DropBox, com a integração do menu de contexto do Windows Explorer. Ele salva 30 dias de histórico por padrão e, se você pagar pelo recurso Pack Rat, ele será salvo indefinidamente. Mas é um aplicativo em nuvem.
Vimes
21

Isso seria a versão automática (para permanecer no Subversion):

A conversão automática é um recurso pelo qual clientes WebDAV genéricos podem gravar em um servidor DeltaV (como mod_dav_svn), e o servidor executa confirmações silenciosamente em segundo plano. Isso significa que, se você usar o Apache httpd como servidor do Subversion, os sistemas operacionais mais modernos poderão montar o repositório como um compartilhamento de rede, e usuários não técnicos obterão versões "transparentes" gratuitamente. (Obviamente, usuários técnicos ainda podem usar os clientes do Subversion para examinar o histórico do repositório.)

VonC
fonte
2
Definitivamente, uma boa resposta e uma solução semelhante ao que o OP deseja, backups regulares sem confirmações explícitas.
12

Não confunda soluções de backup com controle de versão. Ambos são importantes, mas têm propósitos diferentes. O que você realmente deve fazer é usar o controle de versão (svn, cvs, mercurial, git, o que for) e fazer o backup automático em outro lugar além do seu HDD, de preferência fora do local (host pago ou S3). Ou fique 100% remoto e encontre alguém para hospedar seu repositório SVN. Eu sugeriria Unfuddle . Você pode configurar um repositório SVN gratuito sem problemas.

Morda a bala e use SVN. Pode não ser tão fácil quanto o que você está acostumado, mas quando você precisar fazer uma reversão muito específica ou comparar as alterações entre os arquivos, ficará feliz por ter feito isso.

Micah
fonte
6

Confira FileHamster @ http://www.mogware.com/FileHamster/ . Ele faz backup automaticamente de seus arquivos como revisões sempre que eles são alterados.

Lukman
fonte
6

Divulgação completa: Trabalho na Altaro Software.

Se você quer um Time Machine para Windows, entre no 'Ops! Lista BETA de backup

Somos uma nova empresa de software Altaro Software e estamos desenvolvendo um produto de backup de software / controle de versão chamado 'Opa! Cópia de segurança'. Opa! O backup é um híbrido entre um produto de backup tradicional e um sistema de controle de versão leve. Opa! O backup rastreia automaticamente as alterações em documentos, fotos e outros arquivos e permite retornar a qualquer ponto no tempo. Até certo ponto, é o equivalente ao Time Machine para Windows.

Observe que eu disse controle de versão leve - este não é um produto destinado a substituir um produto de controle de versão adequado. Nossos desenvolvedores usam SVN e Ops! Backup ao mesmo tempo. Eles usam o VSN para o controle de versão adequado com recursos de check-in / check-out, mas também usam Oops! Faça backup dos momentos em que você consegue obter e precisa encontrar rapidamente uma versão anterior do arquivo sem precisar passar por um processo de checkout inteiro.

Investimos muito na experiência do usuário E no colírio para os olhos - pois entendemos que a ocular NÃO implica em experiência do usuário.

Iremos entrar no BETA em breve e estamos à procura de testadores BETA - quem quiser experimentar, visite http://www.altaro.com/download.php . Nesta página, você também pode ver as capturas de tela do produto.

Suas opiniões e críticas construtivas seriam muito apreciadas (adoraria ouvir as coisas ruins ... mais do que as coisas boas)

Como eu disse anteriormente - Opa! O backup não substitui a necessidade de um produto de controle de versão adequado - mas o complementa. Ele pode ser usado como uma maneira de controlar a versão, mas você não fará o check-in / check-out e a ramificação deverá ser feita manualmente, criando uma nova pasta.

Desculpe pela ficha !!

David Vella - [email protected]

David Vella
fonte
Eu acho que a lista de recursos é um começo muito bom. Ele suporta uma restauração completa (como no caso de falhas de hardware; um requisito para um Time Machine para Windows, se você me perguntar)? E, embora poucos possam se importar: ele pode lidar com vários discos de backup (redundantes)? Ou, se não, alguma maneira de copiar o backup completo (como o Time Capsule, mas que leva muito tempo)? Para os próximos lançamentos: recomendo plug-ins para softwares populares que precisam de uso específico do sistema de arquivos. Como nos programas de email: para localizar e restaurar mensagens sem saber como elas podem ser encontradas no sistema de arquivos. E: localização?
Arjan
Oi Arjan - não, ele não suporta imagens de disco (ala Acronis & Ghost) e, para ser sincero, não tenho certeza se devemos seguir esse caminho - veremos com base no feedback. Já existem bons produtos que você pode usar para o bare metal, para que não entremos nesse mercado agora e nos concentremos em fazer Oops! Faça backup da melhor solução pontual do mercado. Em vez disso, estamos focando na parte de controle de versão - no conteúdo real, em oposição à camada de bits. Atualmente, temos visualizações 'compatíveis com o aplicativo', pois suportamos a visualização de arquivos, imagens, arquivos baseados em texto do MS Office e outros - continuaremos adicionando isso.
David Vella
Eu disse que até certo ponto é o equivalente ao Time Machine. Pelo que ouvi, o mais próximo do Apple Time Machine é o Rebit - nunca testei eu mesmo. Por enquanto apenas em inglês - mas estamos prontos para começar a localizar. Se você quiser experimentar no BETA, envie-me um email :) David Vella de Malta (Europa) [email protected]
David Vella
Depois de passar por alguns comentários deixados por "Candice" da Genie, conhecida como "Salam": +1 para sua divulgação ;-) ( superuser.com/questions/7423/time-machine-for-windows/… / stackoverflow.com/questions/274948 / time-machine-for-windows /… / serverfault.com/questions/1918/… )
Arjan
4

Uma solução muito parecida com a Time Machine foi apresentada na revista alemã c't há algum tempo. Enquanto o artigo em si está disponível por 60 centavos, os scripts são gratuitos: http://www.heise.de/ct/ftp/06/09/126/

Basicamente, ele usa o rsync para fazer backup de seus dados em uma unidade externa formatada em NTFS. A cada novo backup, ele armazena apenas novos arquivos no disco de backup, mas cria links físicos para todo o resto. Você verá efetivamente uma estrutura de pastas completa para cada backup, mas use apenas o espaço necessário para o primeiro backup completo + quaisquer alterações que venham mais tarde.

Não é tão chique quanto o Time Machine, mas é a mesma tecnologia (o Time Machine também usa rsync, tanto quanto eu sei) debaixo das cobertas.

Daniel Schneller
fonte
2

O Time Machine é uma solução de backup / restauração algo comum. Use qualquer ferramenta de backup do Windows com backups incrementais diários automatizados e você terá praticamente o mesmo. No entanto, mesmo que seja possível restaurar estados anteriores (diariamente), talvez não seja a solução mais rápida.

TheMarko
fonte
2

O SVN não é muito eficaz para desenvolvedores individuais. Confira o BZR . Eu uso o BZR para todos os meus projetos pessoais e meu diretório pessoal, uso o SVN apenas para o grande projeto de trabalho.

Dustin Getz
fonte
Interessante. Você o usa com algum servidor, mesmo host local, ou funciona apenas com um sistema de arquivos local?
PhiLho 8/08
11
"O SVN não é muito eficaz para desenvolvedores individuais". Essa é uma afirmação bastante geral, você não acha?
mwjackson
11
jacko, educar-se para as alternativas e você concorda.
Dustin Getz
11
phil, sempre há uma cópia local do repositório para agilizar tudo e evitar problemas de permissões, mas opcionalmente envia / sincroniza para remotamente qualquer coisa (compartilhamento, site, ftp, provavelmente mais) se / quando você precisar trabalhar com uma equipe. leia o site.
Dustin Getz
A principal diferença entre BZR e SVN parece ser que o BZR é distribuído. Como o OP funciona principalmente sozinho em um único computador, não estou convencido de que os benefícios de um controle de fonte distribuído superariam a complexidade adicional nesse caso.
Redtuna 15/09/09
2

O Genie Timeline 2.0 saiu da semana passada.

Eu sei, eu sei, "mais um plug da linha do tempo!" ... Mas isso não.

A linha do tempo 2.0 foi completamente reescrita e, até agora, o consenso geral na web tem sido muito positivo.

O melhor de tudo é que quase todos os recursos estão disponíveis em uma nova edição gratuita do Genie Timeline.

Especificações do Genie Timeline 2.0 Free: http://www.genie-soft.com/Free_products/free_timeline.aspx

Faça o download: http://download.cnet.com/Genie-Timeline-Free/3000-2242_4-10967059.html?tag=mncol

As versões pagas do produto adicionam criptografia, compactação e limpeza automática de backups mais antigos.

DIVULGAÇÃO: Eu era líder de projeto na versão 2.0

Mahmoud Al-Qudsi
fonte
+1 para a divulgação. Veja também o Time Machine para Windows , que, eu acho, é um lugar melhor para continuar esta pergunta.
quer
1

O que você deseja que o controle de origem / vários backups faça?

Há duas razões para o controle do código-fonte na minha opinião - gerenciamento de configuração e proteção contra problemas / estupidez nos dedos dos desenvolvedores (muito evidenciado por mim). Se o último for o problema, as sugestões abaixo (ou o FileHamster, conforme recomendado em outra resposta) farão o trabalho.

Se, como sugere Dustin Getz, é sobre gerenciamento de configuração, ramificações etc., o SVN ou outras recomendações do programa de controle de código-fonte são melhores do que minhas sugestões.

Então, não usei e não usei de graça (US $ 32), mas o Google apareceu

TrackMyFiles - http://www.trackmyfiles.com/en/features/

  • Rastreia e armazena alterações nos arquivos automaticamente
  • Permite visualizar e restaurar versões antigas de arquivos
  • Versões importantes de arquivos podem ser rotuladas explicitamente
  • Compatível com a maioria dos tipos de arquivo, como apresentações do Microsoft Word® Documents e Microsoft Powerpoint®
  • Armazenamento eficiente de alterações através do algoritmo de compactação delta
  • Integrado ao Microsoft Windows® File Explorer para operação perfeita

Versão de avaliação de 60 dias disponível, de acordo com o site

Ou, se você estiver usando o Vista, há uma cópia de sombra embutida. Consulte http://en.wikipedia.org/wiki/Shadow_Copy

O Arquetípico Paulo
fonte
1

@Lukman e Paul, eu gosto da idéia desses sistemas simplificados de controle de versão para documentos regulares, mas acho que é um erro usá-los como código-fonte - a incapacidade de ramificar, mesclar e compartilhar vai realmente impedir você.

Dustin Getz
fonte
11
Depende. Cabe ao que o OP pediu. Há duas razões para o controle do código-fonte na minha opinião - gerenciamento de configuração e proteção contra problemas / estupidez nos dedos do desenvolvedor (muito evidenciado por mim). Se o primeiro for o problema, eu concordo com você. Se o segundo, todas essas soluções servirão.
The Archetypal Paul 8/08
1

Algumas reflexões:

Você pode gostar do SVK, que parece plug-in ao SVN. Eu ainda não tentei, mas parece interessante.

http://svk.bestpractical.com/view/HomePage

Ferramentas como o Trac fornecem uma navegação decente no repositório SVN e podem ser úteis.

Se você está tendo problemas para descobrir o jargão certo a pesquisar, procure por 'snapshots'. Você também pode criar algum tipo de processo de arquivamento em seu sistema de compilação, para que, toda vez que executar, obtenha uma captura instantânea automaticamente (ou o que fizer sentido para sua situação).

Mitch Haile
fonte
1

Eu tenho o cron (pesquise no google e escolha um que você goste) e, em seguida, um script de linha de comando para executar o pkzipc nas pastas do meu souce a cada duas horas. depois que vinculei o início do cron à minha inicialização, iniciei e esqueci. me salvou uma vez quando, em um congelamento noturno tardio, digitei del / f / s * .cs

MikeJ
fonte
1

O Windows Vista Business, Enterprise e Ultimate têm esse recurso integrado;)

Thomaschaaf
fonte
Como é chamado, o que exatamente ele faz, quais são as compensações? Você está falando sobre cópia de volume de sombra?
redtuna
1

Você vai querer verificar isso se estiver interessado no Time Machine da Apple e tiver um sistema operacional Windows.

http://www.genietimeline.com

Beta será lançado em breve ... Você pode querer se inscrever ... Mal posso esperar para colocar minhas mãos em Genie Timeline ...

Aparentemente, seus recursos incluem CDP em tempo real, versões intermináveis ​​de arquivos, backup automatizado, integração de janelas ao núcleo ... Estou esperando esse tipo de software ser lançado no Windows há anos ...

Kman24
fonte
Uma revisão: pc-tutorials.suite101.com/article.cfm/… Eu diria que "detectar automaticamente os arquivos de usuário mais comuns" é apenas uma solução alternativa, pois só faz backup dos arquivos criados pelo usuário . Como restaurar todo o sistema, então? Parece não haver integração com, por exemplo, software de email. O que fazer depois de excluir alguma mensagem? Preciso saber onde e como o email está localizado no disco rígido? E posso restaurar uma única mensagem? O backup de praticamente tudo e a integração com outros softwares ainda tornam o Time Machine único. Vadio.
Arjan
1

Eu sugeriria usar um controle de versão que você possa conectar ao seu IDE. Isso facilita muito o trabalho. Basta clicar em atualizar / confirmar na sua árvore de fontes e pronto!

Vilx-
fonte
1

eu gosto de armazenar e trabalhar em meus projetos usando o dropbox ( http://www.getdropbox.com/ ). além de fazer backup automático do seu trabalho, ele também mantém revisões para você.

Ron
fonte
Se você salvar com frequência, será um enorme desperdício de revisão no repositório do DropBox.
22430 Patrick Desjardins
1

O Windows Server 2003 e versões posteriores têm o recurso " Cópia de sombra ", semelhante ao Time Machine, mas destinado a um ambiente empresarial em rede. Você pode configurá-lo localmente, se realmente quiser.

No entanto, isso seria realmente uma solução inferior ao bom controle do código-fonte. Com o controle de origem, você pode ver um histórico completo e detalhado de cada linha de código na sua base de código. É difícil apreciar o quanto isso é valioso, até que você tente.

Cópia de sombra

anon
fonte
0

Se você está literalmente procurando por "Time Machine para Windows": o Windows Vista vem com o Time Warp (esse é o codinome, esqueci como o recurso final é chamado). É praticamente a mesma coisa que o Time Machine do OS X, apenas com menos hype.

Jörg W Mittag
fonte
11
Seu nome é cópia de volume de sombra e é muito amigável para a avó. Você só pode selecionar o tipo de arquivo que deseja fazer backup ("música", "imagens" etc.), e não as pastas que ele deve monitorar. Ele é executado apenas uma vez por dia, a menos que você faça um backup agora.
0

Experimente o Flashbake . Ele pode fazer backup a cada n minutos (via cron e presumivelmente Windows Scheduler) arquivos que não foram alterados em m minutos (pode ser 0). Você precisaria de Python, então Cygwin ou ActiveState Pyton. É baseado no git e projetado para tipos não técnicos.

Brian Carlton
fonte
0

Você poderia usar uma vm e tirar instantâneos antes de fazer grandes alterações? É muito indolor reverter dessa maneira - cerca de 5 minutos e pronto :)

simone
fonte
? vm para Virtual Machine ...
Patrick Desjardins
0

O SlickEdit possui um bom recurso semelhante ao que você está descrevendo. Sempre que você salva o arquivo em que está trabalhando, ele cria um backup local (diferente). Quando quiser, você poderá rever o histórico de arquivos local. Você pode usar isso para complementar seu repositório SVN, com o qual o SlickEdit também pode integrar.

Eric
fonte
0

você pode experimentar o Genie Timeline, é como o Windows Time Machine para Windows e pode voltar para a versão necessária usando um controle deslizante de tempo para visualizar cada versão http://www.genietimeline.com

Darma
fonte
Já basta plugues para Genie.
Arjan
0

Mercurial é perfeito para este trabalho.

Sempre que você quiser tirar uma foto do seu código, é tudo o que você faz na linha de comando: hg commit e pronto!

Se você deseja procurar versões diferentes do seu arquivo, é fácil com o TortoiseHG usando o menu de contexto gráfico ao clicar com o botão direito do mouse no arquivo em questão.

Além disso, é mais agradável que o SVN, pois não desarruma todas as suas subpastas com diretórios .svn ocultos.

7wp
fonte
E se eu não quiser gastar tempo comprometendo, puxando ... mas apenas algo automático que monitora todas as alterações, como o google docs, mas local. O que você sugeriria?
skan