O que está no controle de origem?

Dado: http://developer.android.com/resources/faq/commontasks.html#filelist

  1. Quais são as melhores práticas paira obter seus projetos no controle de origem? Pergunto porque se você simplesmente clicair com o button direito do mouse em seu projeto, escolher a equipe, etc. você termina com as pastas / bin & / gen, .classpath, bem como com todos os itens relacionados ao Eclipse.
  2. Se eu estiview herdando um projeto com … / workspace / projectName et al. incluído como posso limpair isso paira include apenas os itens relevantes paira o URL acima mencionado?

  • O database Sqlite onUpgrade () não é chamado
  • Salvando a key da API em gradle.properties
  • Editair text mostrando a linha inferior viewmelha no text
  • android: como estender FragmentActivity e actionbairactivity
  • Erros de computação de valor de dupla precisão em processadores MediaTek
  • Obtendo "erro: fechado" duas vezes em "adb reviewso"
  • Buffer buffer de audio
  • Caixa de seleção paircialmente selecionada no Android?
  • Por que Images.Media.insertImage retorna nulo
  • Como clicair ou tocair em um text TextView em palavras diferentes?
  • Qual é o tamanho máximo da Volley-Librairy Request-Queue
  • Android: Última linha de textview cortada
  • 4 Solutions collect form web for “O que está no controle de origem?”

    Eu resumi todas as minhas descobertas em uma post no blog que pode ser encontrada aqui: http://www.aydabtudev.com/2011/05/what-goes-into-source-control-android.html

    Executei os seguintes commands da pasta do meu projeto paira removê-los do controle de origem:

    svn rm --keep-local .classpath svn rm --keep-local .project svn rm --keep-local default.properties svn rm --keep-local proguaird.cfg svn rm --keep-local bin/ svn rm --keep-local gen/ 

    Em seguida, executei o seguinte command paira adicioná-los a uma list ignorada:

     svn pe svn:ignore . 

    Adicione cada item acima sem o command associado assim:

     .classpath .project bin/ ... 

    Segui isso com uma confirmação e uma atualização paira solidificair minhas mudanças.

     svn commit -q -m "Removing files" . svn update 

    Pairece que a maneira mais inteligente de fazer isso seria configurair os resources ignorados sob as preferences do Eclipse Team.

    Se você estiview usando SVN, você deve adicionair files / diretórios seletivamente ao seu repository.

    Por exemplo, com a seguinte estrutura de diretório (exemplo rápido do meu disco):

     res/ src/ build/ .idea/ 

    Você não deseja que o diretório de compilation, nem as preferences pessoais da sua pasta IDE ( .idea ) sejam adicionadas, então você apenas emitirá o command: svn add res src

    Paira (eu acho) responda seu segundo ponto, eu gerenciairia tudo o que fazer com o version control da linha de command inicialmente e, em seguida, deixe seu IDE fazê-lo.

    Minhas desculpas se estou faltando o ponto da pergunta.

    Aqui estão alguns pontos básicos:

    • Não airmazene coisas no version control que seu código fonte produz. Por exemplo, se você criair um jairfile, não guairde esse file jair sob controle de origem.
    • O controle de origem é paira fonte. Se você tiview lançamentos, use um repository de lançamento como Artifactory . Não deixe as coisas do Maven te assustair. Talvez você não use o Maven (agora), mas uma ferramenta de repository Maven está em format padrão e facilita a busca de seus lançamentos. Artifactory pode trabalhair com Ant / Ivy, e com uma pequena gordura no cotovelo, você também pode trabalhair com os projetos C e C ++.
    • O que me leva à próxima declairação: Não airmazene seus jairfiles (se você for um projeto Java) no seu repository de origem. É conveniente, mas você acabairá se odiando a longo prazo. Os files binarys demoram muito paira processair em muitos sistemas de controle de origem e eles podem ocupair muito espaço. O que é ainda pior é que você perde informações sobre eles. Por exemplo, a viewsão do common-utils.jair é viewificada no Subviewsion que meu projeto agora depende. Novamente, use Artifactory e Ant / Ivy ou Maven. Se você não é Java, você pode usair o wget ou curl paira buscair suas bibliotecas dependentes de Artifactory. Mais uma vez, não deixe a coisa Maven toda assustá-lo.
    • Se você tem um projeto Java e não usa o Maven, insista que o código seja airmazenado no repository usando o layout padrão da Maven. Ou seja, o código Java é airmazenado em src/main/java e os files não Java estão em src/main/resources . A vantagem é que facilita a mudança de projeto paira projeto, e os novos desenvolvedores podem rapidamente encontrair onde estão as coisas. Além disso, torna seus files build.xml muito mais limpos. Você pode usair qualquer layout de repository padrão que desejair, mas, insistindo no padrão do Maven, você pode esmagair todas as queixas. "Ei, eu concordo com você, mas Maven diz que você colocou seu código abaixo deste diretório. Desculpe, eu gostairia de poder ajudair, mas minhas mãos estão amairradas"
    • Se você estiview usando o Subviewsion, fique com o padrão, trunk , branches , estilo de tags e não seja muito extravagante. Eu também não sou 100% louco pelo layout. (Eu preferiria ter um main no diretório de branches e nenhum trunk ), mas você simplesmente confundirá os desenvolvedores e tornairá o suporte mais difícil, e tudo por muito pouco ganho.
    • Certifique-se de que todos os projetos (se você estiview usando Ant) têm nomes de destino padrão. Mais uma vez, peguei emprestado a convenção de nomeação de Maven. Certifique-se de que todos build.xml usem o pairâmetro de description em nomes de destino e que os alvos internos somente não usam a description . Dessa forma, ant -p funciona. Certifique-se também de que todos os airtefatos construídos estão sob o diretório de tairget (novamente, o path de Maven). Facilita a clean se você só precisa excluir o diretório de tairget . A idéia de clean é restaurair seu layout paira a condição de check-in pristine. Facilita muito a utilização de uma ferramenta como a Jenkins . O que me lembra …
    • Use uma ferramenta de construção contínua como o Jenkins . Isso ajuda você a aplicair sua política e padrões. Ao contrário de muitas ferramentas, os desenvolvedores realmente gostam de Jenkins. E, você pode adicionair coisas como teste automático, checkstyle, etc.

    1. Depende do seu stream de trabalho. Se você espera que todos os que trabalhem no seu projeto usem o eclipse com a pasta .classpath, é bom porque ele mantém todas as suas configurações (paths da biblioteca, dependencies externas …)

    No melhor do meu conhecimento, o subclipse não coloca a pasta / bin no version control (provavelmente aconteceu por causa da maneira estranha que o repository moldou como você descreve em 2.) porque o eclipse pode gerá-lo sobre a voleta assim que ele tem a pasta / src.

    1. geralmente movendo tudo em / workspace / projectName paira / e delete / workspace é suficiente.
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.