1. Introduction
1.1. Cria e Usa as Cópias
1.1.1. Uma cópia de trabalho do Subversion é uma estrutura de diretórios como outra qualquer em seu sistema local, contendo um conjunto de arquivos. Vocë pode editar esses arquivos como desejar, e se os arquivos são códigos fonte, você pode compilar seu programa a partir desta cópia como sempre fez. Sua cópia de trabalho é sua própria área pessoal. Subversion nunca vai incorporar alterações de outras pessoas, nem disponibilizar suas alterações para outros, até que você mesmo o faça.
1.2. Escrita no Repositório
1.2.1. Depois que você fez algumas modificações nos seus arquivos em sua cópia de trabalho e verificou que estão funcionando corretamente, Subversion provê a você comandos para publicar suas alterações para outras pessoas que trabalham com você em seu projeto (através da escrita no repositório). Se outras pessoas publicarem suas próprias modificações, Subversion provê comandos para unificar estas modificações na sua cópia de trabalho (através da leitura do repositório).
1.3. URLs do Repositório
1.3.1. Método de Acesso
1.3.1.1. file:// → Acesso direto ao repositório em um local ou dispositivo de rede.
1.3.1.2. http:// → Acesso através do protocolo WebDAV para o módulo Subversion do servidor Apache.
1.3.1.3. https:// → O mesmo que http://, mas com criptografia SSL
1.3.1.4. svn:// → Acesso TCP/IP não autenticado através do protocolo customizado para um servidor svnserve.
1.3.1.5. svn:ssh:// → acesso TCP/IP autenticado e criptografado através de um protocolo customizado para um servidor svnserve
1.4. Cópia de Segurança do Repositório
1.4.1. Não importante o tipo de repositório que você usa, é vitalmente importante que você mantenha cópias de segurança regulares, e que você verifique a cópia de segurança. Se o servidor falhar, você terá condições de acessar uma versão recente de seus arquivos, mas sem o repositório todo o histórico estará perdido para sempre.
1.4.1.1. svnadmin hotcopy path/to/repository path/to/backup
1.5. Acessando o Repositório(s)
1.5.1. Para usar o TortoiseSVN (ou qualquer outro cliente do Subversion), você precisa de um lugar para guardar seus repositórios. Você pode também guardar seus repositórios e acessá-los usando o protocolo file:// ou você pode colocá-los em um servidor e acessá-los usando os protocolos http:// ou svn://. Os dois protocolos podem também ser criptografados. Você pode usar https:// ou svn+ssh://, ou você pode usar svn:// com SASL.
1.6. Sign-Off List
1.6.1. Training
1.6.2. Channels
1.6.3. International
1.6.4. Public Sector
1.6.5. Sales
1.6.6. Marketing Communications
1.6.7. Product Management
2. Portabilidade
2.1. Unix
2.1.1. Situational Analysis / Drivers
2.1.1.1. What is driving us to do this?
2.1.1.2. SWOT Analysis
2.1.1.2.1. Strengths
2.1.1.2.2. Weaknesses
2.1.1.2.3. Opportunities
2.1.1.2.4. Threats
2.1.1.3. Customer Findings - What have we learned from customers?
2.1.2. Competitive Analysis
2.1.2.1. Do we have competitors and threats in these target markets with the proposed offerings?
2.1.2.2. What are our competitors doing and how are they positioning?
2.1.2.3. How do we position against each competitor?
2.1.3. Target Customer(s)
2.1.3.1. Buyer Profile
2.1.3.1.1. Title
2.1.3.1.2. Industry
2.1.3.1.3. Geography
2.1.3.1.4. Business Size
2.1.3.2. Influencer Profile
2.1.3.3. User Profile
2.1.3.4. What do customers want and need?
2.1.3.5. What business problems do each of these customers have?
2.1.4. Customer Segmentation
2.1.4.1. Which customers or sets of customers do we sell to?
2.1.4.2. What are the target market segments that we want to go after?
2.1.4.3. What are the distinct problems for each segment of the market?
2.1.5. Total Available Market
2.1.5.1. New Prospects
2.1.5.1.1. How much of each target segment have we penetrated?
2.1.5.1.2. How much opportunity is available in each target segment?
2.1.5.2. Existing Customers
2.1.5.2.1. Can we up-sell existing customers?
2.2. Windows
2.2.1. Service Offer
2.2.1.1. What are we selling?
2.2.1.2. Product Definition
2.2.1.3. Pricing
2.2.1.4. Packaging
2.2.1.5. Positioning
2.2.2. Value Proposition
2.2.2.1. What is the Value Proposition to the Customer?
2.2.2.2. What pain are we solving?
2.3. Mac Os X
2.3.1. Revenue Forecasts
2.3.1.1. Revenue and P&L Forecast (5 Years)
2.3.1.2. Revenue should be split out quarterly
2.3.2. Cost Analysis
2.3.2.1. Should include a description of the costs in entering this business and profitability analysis
2.3.3. Profitability Analysis
2.3.3.1. P&L for the offer to include gross margin, net income and break even analysis.
2.4. Linux
2.4.1. Sales Strategy
2.4.1.1. Direct Sales Strategy
2.4.1.2. Inside Sales Strategy
2.4.1.3. Channel Sales Strategy
2.4.2. Partner Strategy
2.4.2.1. Channel Strategy
2.4.2.1.1. What 3rd party channels should we consider for reselling this service?
2.4.2.2. Technology Partnerships
2.4.2.2.1. What technology vendors (if any) do we need to work with to execute on this plan?
2.4.2.3. Solutions Partners
3. Interoperabilidade
3.1. Plug- ins
3.1.1. Eclipse
3.1.1.1. Subclipse
3.1.1.2. Subversive
3.1.2. Visual Studio
3.1.2.1. AnkhSVN
3.1.2.2. VisualSVN
3.1.3. NetBeans
4. Principais Conceitos
4.1. Item de Configuração
4.1.1. Representa cada um dos elementos de informação que são criados, ou que são necessários, durante o desenvolvimento de um produto de software.
4.2. Repositório
4.2.1. É o local de armazenamento de todas as versões dos arquivos.
4.3. Versão
4.3.1. Representa o estado de um item de configuração que está sendo modificado.
4.4. Revisão
4.4.1. É uma versão que resulta de correção de defeitos ou implementação de uma nova funcionalidade.
4.5. Ramo
4.5.1. É uma versão paralela ou alternativa.
4.6. Espaço de Trabalho
4.6.1. É o espaço temporário para manter uma cópia local da versão a ser modificada.
4.7. Check out (CLONE)
4.7.1. É o ato de criar uma cópia de trabalho local do repositório.
4.8. Update
4.8.1. É o ato de enviar as modificações contidas no repositório para a área de trabalho.
4.9. Commit
4.9.1. É o ato de criar o artefato no repositório pela primeira vez ou criar uma nova versão do artefato quando este passar por uma modificação.
4.10. Merge
4.10.1. É a mesclagem entre versões diferentes, objetivando gerar uma única versão que agregue todas as alterações realizadas.
4.11. Changeset
4.11.1. É uma coleção atômica de alterações realizadas nos arquivos do repositório.