Pergunta

Eu gostaria de controle de versões de um diretório, vamos chamá-lo de "projeto", e manter o fóssil de arquivos dentro de um outro diretório chamado "fósseis." Eu tenho sucesso, criou o "projeto.fsl" repositório adicionado meus arquivos de projeto, comprometido e fechado.O meu problema é a compreensão de como dar o próximo passo.

Aqui está o que eu faço, a seguir o fossilbook sugestões.

$ cd project
$ fossil new ../fossils/project.fsl
$ fossil open ../fossils/project.fsl
$ fossil add .
$ fossil ci -m "first commit"
$ fossil close project.fsl

Agora eu tenho trabalhado em meu projeto, alguns arquivos editados, excluídos alguns arquivos, criados alguns arquivos, renomeado alguns arquivos.Eu gostaria de adicionar o estado atual do projeto para o repositório.Como faço isso?

Baseado no que eu li no doc, eu estava sob a impressão que eu tive a primeira a abrir o repositório e, em seguida, adicionar os arquivos e, em seguida, cometer.Se eu não abrir o repositório, recebo a Not within an open checkout. mensagem.Mas se eu open fósseis deseja substituir meu diretório com os arquivos mais antigos.(E se eu abrir de dentro do fossils diretório, eu recebo um "descompactado" a versão do meu projeto copiados para os fósseis de diretório, o que eu quero, quer)

$ cd project
$ fossil open ../fossils/project.fsl

Aqui fósseis deseja substituir o meu projeto com a versão mais antiga.Eu digo não a cada sugestão.Eu suspeito open não foi a abordagem correta, mas se não o que é?

Eu quero adicionar meu alterações para o repositório, então, agora que o projeto.fsl é open, Vou tentar isso:

$ fossil add .
 ADDED  Slides/tmp.tex

$ fossil commit -m "no idea what I'm doing, this will not end well"
 would fork.  "update" first or use --allow-fork.

$ fossil close
 there are unsaved changes in the current checkout

Neste ponto eu excluir todos os arquivos ocultos chamado .fslckout .fossil e tente de novo, com os mesmos resultados frustrantes.

Para ser franco, meu único interesse em fossil é manter um histórico do meu projeto.Eu não tenho co-autores e não planeja fazer fossil diff ou fossil ui ou qualquer coisa assim, que até um tempo, que eu espero que nunca vai acontecer, quando eu preciso cavar a história do meu projeto.

Editar. Eu sou um total novato.Eu não entendi o significado de checkout, manifest, leaf, etc.por isso é que torna muito difícil para mim para obter qualquer coisa fora do manual, não obstante as inúmeras horas gastas tentando.Eu não entendo muito desta página fossil open: http://fossil-scm.org/fossil/help/open

Foi útil?

Solução

fossil open é a coisa certa a fazer.No seu caso, é o fossil close que não era necessário.

Neste ponto, você deve fazer fossil open ../fossils/project.fsl --keep para abrir seu repo mantendo todas as alterações.

O aberto comando marca o diretório atual como um diretório de trabalho (Fósseis termos, um checkout).Eu recomendo que você não o feche até que você precisa para mover o seu acordo de recompra ou o directório de trabalho em si.Pessoalmente, isso só acontece quando eu me mudar para um computador diferente.

Para ter fóssil identificar todas as alterações, basta fazer fossil addremove;fósseis irá, em seguida, adicionar todos os novos arquivos, e remover todos os arquivos excluídos, de modo que o repositório, mais uma vez, corresponde ao diretório de trabalho.Claro, você ainda tem para aplicar as alterações depois.

Nota que addremove não não reconhecer automaticamente renomeia arquivo!Se você tiver renomeado os arquivos, você deve deixar Fósseis saber isso para cada arquivo usando o fossil rename de comando, antes de você executar o addremove de comando.Claro, se você não se importa em quebrar o histórico de edição de arquivos específicos, você está livre para ignorar o que, e deixe fósseis acho que um arquivo foi excluído adicionado e outro em vez disso.

Outras dicas

Baixo Cerimônia de Início e Fácil

Para um único desenvolvedor, o ciclo de vida de um fóssil repositório pode ser muito simples:

  1. fossil new para criar o arquivo de repositório próprio.
  2. fossil open para criar o primeiro (ou, possivelmente, apenas) da área de trabalho ativa
  3. fossil add, fossil remove, fossil rename e fossil addremove para manter fósseis informado sobre o que o rastreamento de arquivos.
  4. fossil commit para confirmar as alterações para o repositório

onde os passos 3 e 4 são repetidos, conforme necessário, durante a vida útil do projeto.

Este é um dos fósseis mais fortes vantagens:é muito baixo cerimônia por design.Você pode manter um projeto elaborado sozinho e realmente só usar fossil commit em uma base regular.

Próximos Passos

A próxima fase de sofisticação pode se mover em várias direções.Se você quiser compartilhar o trabalho em um projeto com um segundo desenvolvedor, você vai querer saber mais sobre a clonagem de um repositório e a sincronização de atualizações.Se você deseja permitir para trabalho independente em um recurso sem quebrar o seu tronco constrói, você pode aprender mais sobre a ramificação e mesclagem.Se você quiser aproveitar o wiki e o bilhete tracker características, você vai querer aprender sobre fossil ui, fossil server ou configurar seu servidor web para o lançamento de fósseis.

Mas nenhum desses casos de uso serão exigir o uso da fossil close de comando.Na verdade, a saída de fossil help recentemente, foi dividida em uma lista curta de comandos que são necessários para a maioria dos usuários, e uma longa lista de todos os comandos.Em que divisão fossil close não fazer a lista curta.As únicas funções que executa, que não pode ser feito facilmente por simples exclusão dos arquivos é verificar que os seus não são alterações que não foram salvas e para remover a abrir checkout a partir de sua lista pessoal de check-outs disponíveis para o fossil all de comando.

Fósseis-Vocabulário específico

Até mesmo um único desenvolvedor vai querer aprender algumas das palavras usadas por fósseis da documentação.

  • "checkin":Um conjunto específico de revisões de arquivos, identificado por um UUID e, possivelmente, por uma ou mais marcas.
  • "checkout":Uma árvore de pasta de associados (por fossil open) com um determinado repositório.A maioria dos fósseis comandos exigem que o diretório atual de ser dentro de um aberto do google checkout.
  • "UUID":Um identificador único para qualquer coisa específica armazenados no fósseis repositório.Na prática, o UUID é o SHA-1 da coisa expresso em hexadecimal.Na maioria dos casos, o UUID pode ser abreviado para apenas o suficiente dígitos principais do total de hash para identificá-lo.Normalmente, será escrito como 8 ou 10 dígitos entre parênteses rectos.
  • "artefato":Um ficheiro ou outros conteúdos (uma página wiki, um bilhete, um manifesto, etc.) armazenados no repositório.Todos os arquivos que você verifique se torna um artefato.Então, faz todos os metadados (comentário, carimbos de data / hora, etc.) sobre cada checkin.
  • "sucursal":Uma linha de sucessivos checkins que desvia a partir de alguns raiz check-in.Os ramos são usados para armazenar as alterações de lado até que estejam prontos para ser intercalado, ou simplesmente para conter as alterações que são erros.
  • "folha":O checkin no final de um ramo.
  • "tronco":A primeira filial, em qualquer repositório é chamado de "tronco".A maioria dos outros ramos serão ramos a partir de alguns checkin ao longo do tronco.
  • "manifesto":A lista de arquivos modificados em um determinado check-in junto com os metadados que descrevem o checkin (o usuário, a hora, a descrição, o UUID do seu pai checkin, e qualquer marca poderá levar) torna-se manifesto.A maioria dos usuários não precisa se preocupar se manifesta, eles são criados por fossil commit e pode ser visto a partir da interface web.

Interface Web

Qualquer usuário vai querer aprender sobre a interface da web para fósseis.Fácil, o primeiro passo é dizer fossil ui dentro de um aberto do google checkout.A linha do tempo mostra a história de desenvolvimento com um nó para cada check-in e linhas desenhadas para mostrar ramificação e mesclagem.A interface web é altamente configurável, oferece um wiki e um bilhete tracker, e também fornece uma interface gráfica a partir do qual a maior parte das definições relacionadas ao projeto de repositório e pode ser ajustado.

Fósseis em si é um eficiente do servidor web para o conteúdo do repositório.Na verdade, a maioria das páginas no fósseis do site oficial são servidos por fósseis em si a partir do repositório de código-fonte fóssil.

Fontes para obter Mais Ajuda

Além de site e o comando individual de ajuda disponível a partir de fossil help, existem vários outros recursos que muitos usuários devem estar cientes de.

Há o fósseis-lista de usuários com consistentemente de alta relação sinal / ruído.Os desenvolvedores-chave prestar atenção a ela, como muitos úteis e os usuários mais experientes.A lista tem pelo menos um arquivo, bem como uma lista separada para os desenvolvedores, para discutir novas características e planos, mas fóssil-dev não ser interessante, a menos que você deseja trabalhar na parte interna do fóssil em si.

Jim tem um Schimpf livro que tenta ser um tutorial e referência completa, e inclui alguns conselhos sobre as melhores práticas.Vale bem a pena uma leitura.

A built-in ajuda de linha de comando, junto com a documentação para todos os URLs da página entendido pela interface da web também está disponível a partir de fósseis da interface da web no /help URL dentro de qualquer repositório do site.Que texto de ajuda inclui a documentação de todos os comandos, incluindo sem suporte interno comandos de teste.

E, finalmente, o [fósseis tag][tag] aqui no StackOverflow não pode ser ignorada como um recurso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top