summaryrefslogtreecommitdiffstats
path: root/tde-i18n-pt/docs/kdevelop/kdevelop/cvs.docbook
blob: 40bb487fed80a443429b54b59a371bc4c01e56b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<chapter id="cvs">
<title
>Usar o &CVS;</title>
<indexterm zone="cvs"
><primary
>CVS</primary
></indexterm>
<indexterm zone="cvs"
><primary
>controlo de revisões (versões)</primary
></indexterm>

<sect1 id="cvs-basics">
<title
>Bases do &CVS;</title>

<para
>O &CVS; é o sistema de controlo de versões que muitos dos projectos 'open-source' - incluindo o &kde; &mdash; usam. Ele grava todo o código num sítio local, chamado de <emphasis
>repositório</emphasis
>. A partir do repositório, os programadores poderão obter uma versão actualizada do projecto (ou partes dele) em qualquer altura. Em contraste com outros sistemas de controlo de versões, não é necessário <emphasis
>bloquear</emphasis
> os ficheiros em que uma pessoa deseja trabalhar. Como tal, o desenvolvimento poderá ser altamente paralelizado. </para>

<para
>Sempre que um programador terminar uma tarefa, ele <emphasis
>envia</emphasis
> o seu código (acompanhado de uma mensagem de registo). O &CVS; tem a seu cargo a junção das alterações feitas pelos vários programadores. Poderá acontecer, obviamente, que os programadores trabalhem no mesmo pedaço de código, o que irá resultar num conjunto de alterações em conflito (na prática, isto ocorre raramente, e normalmente é sintoma de falta de comunicação). Nesse caso, o &CVS; rejeita um envio; só após todos os conflitos terem sido resolvidos é que um ficheiro poderá ser enviado. </para>

<para
>Até agora, isto foi uma descrição das funcionalidades básicas do &CVS; com que uma pessoa tem de lidar normalmente. Mas o &CVS; oferece bastante mais: poder-se-ão manter várias ramificações de um projecto (&eg; o &kde; 1.1.2 e o &kde; 2 eram ramificações da árvore de desenvolvimento do &kde;), reunir as modificações de uma ramificação noutra, pedir as diferenças entre versões, o histórico de versões de ficheiros &etc; </para>

<para
>O &CVS; está implementado como um sistema cliente-servidor. Como utilizador, toda a comunicação com o repositório é feita através do programa da linha de comandos &cvs;. Está disponível uma interface de nível mais elevado através das interfaces existentes, como o &cervisia; (<ulink url="http://cervisia.sf.net"
></ulink
>) ou o <application
>TkCVS</application
> (<ulink url="http://tkcvs.sf.net"
></ulink
>). No &tdevelop;, só uma pequena parte da funcionalidade do &cvs; é relevante para o seu trabalho diário e que poderá ser usada directamente. </para>

<para
>Assume-se um conhecimento básico da utilização do &CVS;. Em particular, deverá saber como obter um dado projecto do seu repositório. Recomenda-se o livro <quote
>Open Source Development With &CVS;</quote
> de Karl Fogel, o qual está disponível de forma livre (excepto os capítulos não-técnicos). Veja em <ulink url="http://cvsbook.red-bean.com/cvsbook.html"
></ulink
>. </para>

</sect1
> <!-- cvs-basics -->

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->

<sect1 id="cvs-commands">
<title
>Comandos do &CVS; no &tdevelop;</title>

<para
>Na árvore de ficheiros, estão disponíveis os seguintes itens do menu de contexto: </para>

<variablelist>
<varlistentry>
<term
>Adicionar ao Repositório</term>
<listitem>
<para
>Prepara o ficheiro marcado para ser adicionado ao repositório. O ficheiro é transferido para o mesmo quando o enviar (ou a pasta que o contém) da próxima vez. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Remover do Repositório</term>
<listitem>
<para
>Prepara um ficheiro para ser removido do repositório. Isto remove também o ficheiro do sistema de ficheiros local, como tal use esta funcionalidade com cuidado! </para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Actualizar</term>
<listitem>
<para
>Execute o <command
>cvs update</command
> para reunir as modificações dos outros utilizadores na sua pasta de trabalho. Quando usar este item do menu sobre uma pasta, a actualização irá acontecer normalmente de forma recursiva, excepto se tiver desactivado essa possibilidade no ficheiro de configuração <filename
>.cvsrc</filename
>. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Enviar</term>
<listitem>
<para
>Executa o <command
>cvs commit</command
> para enviar as modificações locais para o repositório. Lembre-se que deverá fazer uma actualização local antes de fazer isto. Caso contrário, quando outro utilizador tiver enviado as suas modificações antes, o &CVS; poder-lhe-á mostrar uma mensagem de erro. </para>
</listitem>
</varlistentry>
</variablelist>

<para
>Todos estes comandos são invocados como sub-processos pelo &tdevelop; sem quaisquer outras opções da linha de comandos ou variáveis de ambiente. Isto poderá ser um problema quando a ligação ao servidor de &CVS; for através de uma ligação de &ssh; e você tiver de indicar a sua senha, sempre que envia ou recebe as actualizações. Isto é, por exemplo, necessário quando o seu projecto está alojado no <filename
>sourceforge.net</filename
>. As soluções alternativas para este problema estão descritas na FAQ do &CVS;/SSH, que poderá encontrar na documentação do SourceForge. </para>

</sect1
> <!-- cvs-basics -->

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->

<sect1 id="cvs-behind">
<title
>Nos Bastidores</title>

<sect2 id="cvs-behind-workdir">
<title
>O Que o &CVS; Grava na Pasta de Trabalho</title>

<para
>(... ainda não escrito ...) </para>
</sect2
> <!-- cvs-behind-workdir -->

</sect1
> <!-- cvs-behind -->

</chapter
> <!-- cvs -->