aboutsummaryrefslogtreecommitdiff
path: root/doc/git-permalink.pt.1
blob: 5b8ae4abd7f40ae8ae1fef9844ba197a5abea68b (plain) (blame)
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH GIT\-PERMALINK 1 @DATE@ "git\-permalink @VERSION@" "manual do usuário do git\-permalink"


.SH NOME

git\-permalink \- extensão Git para gerar links web permanentes (permalink) de
arquivos de um repositório.


.SH SINOPSE

\fBgit\-permalink\fP [\fIOPÇÕES\fP] \fIARQUIVO\fP [\fINOLINHA\fP]


.SH DESCRIÇÃO

\fBgit\-permalink\fP usa o próprio Git para pegar a) o commit do \fIHEAD\fP e b) o
\fIremote.origin.url\fP usando \fBgit\-config\fP(1), e opcionalmente c) um modelo
de substituição de URL.  Então ele usa esses valores para construir o link
para uma URL \fIpermanente\fP (permalink), com o commit incluso para garantir
sua unicidade, e opcionalmente o número da linha selecionada.

\fBgit\-permalink\fP depois usa o \fBxdg\-open\fP(1) para abrir a URL.

.SH OPÇÕES

.TP 
\fB\-p\fP
Somento imprime o link da URL web na saída padrão (STDOUT), não tenta
abrí\-lo com \fBxdg\-open\fP(1) ou fazer qualquer coisa com ele.  Por padrão isso
está desligado.

.TP 
\fB\-\-help\fP, \fB\-h\fP
Mostra mensagem de ajuda.

.TP 
\fB\-\-version\fP, \fB\-V\fP
Imprime o número da versão.


.SH CONFIGURAÇÃO

.SS "ORIGENS REMOTAS COM SUPORTE"

A lista atual de origens remotas com suporte é:

.RS
.IP \(bu
git.euandreh.xyz (onde o próprio git\-permalink está hospedado =p)
.IP \(bu
sourcehut
.IP \(bu
git.kernel.org
.IP \(bu
savannah
.IP \(bu
notabug
.IP \(bu
codeberg
.IP \(bu
bitbucket
.IP \(bu
pagure
.IP \(bu
gitlab
.IP \(bu
github
.RE

Mudanças para adição de mais sites de hospedagem de código são bem\-vindas!

Veja
.UR https://euandreh.xyz/git\-permalink/TODOs.html#task\-cebc5298\-17ad\-5c60\-dfa5\-a25b66433a3a
#task\-cebc5298\-17ad\-5c60\-dfa5\-a25b66433a3a
.UE
para discussão e mais
informações.

.SS MODELOS

Se você quiser configurar o modelo de substituição de URL de um projeto que
não tem suporte a um tipo de origem remota você pode fazê\-lo com
\fBgit\-config\fP(1).

Há dois tipos de opções de configuração disponíveis:

.TP 
\fBgit\-permalink.template\-file\-commit\fP
Um modelo de substituição de URL em que o nome do \fIarquivo\fP vem primeiro, e
o \fIcommit\fP vem depois.  cgit usa esse tipo de URL, como em:

.nf
	https://git.euandreh.xyz/fallible/tree/%s?id=%s
.fi

Nesse exemplo, o nome do \fIarquivo\fP vem primeiro e o \fIcommit\fP vem só no
final, depois do "id=".

.TP 
\fBgit\-permalink.template\-commit\-file\fP
Um modelo de substituição de URL em que o \fIcommit\fP vem primeiro, e o nome
do \fIarquivo\fP vem depois.  sourcehut usa esse tipo de URL, como em:

.nf
	https://git.sr.ht/~sircmpwn/scdoc/tree/%s/item/%s
.fi

Nesse exemplo, o \fIcommit\fP aparece primeiro no caminho da URL, e o nome do
\fIarquivo\fP vem depois.

.P
Se nenhuma das duas opções for encontrada pelo \fBgit\-config\fP(1) e o
\fBgit\-permalink\fP não consegue adivinhar a URL, ele termina com um erro.


.SH EXEMPLOS

Abre o arquivo \fIsrc/fold.c\fP de um projeto com a origem apontada para o
\fIsourcehut\fP:

.nf
	$ git permalink src/fold.c 125
	Abrindo https://git.sr.ht/~sircmpwn/ctools/tree/fbf17d92f5ed1c38983f73df912f051ad0f9ef2d/item/src/fold.c#L125
.fi

Gera um link das linhas 59 a 94 do arquivo \fInongnu/packages/clojure.scm\fP em
um projeto hospedado no \fIgitlab\fP, mas somente o imprimie \fIsem\fP abrí\-lo com
\fBxdg\-open\fP(1):

.nf
	$ git permalink \-p nongnu/packages/clojure.scm 59\-94
	https://gitlab.com/nonguix/nonguix/\-/blob/c9d7f30bcbd3a6e3076e56a972c33963c73c4d58/nongnu/packages/clojure.scm#L59\-94
.fi

.P
Configura um modelo de URL, e abre o arquivo \fIsrc/app_add.c\fP sem selecionar
uma linha específica:

.nf
	$ git config git\-permalink.template\-file\-commit 'https://git.alpinelinux.org/apk\-tools/tree/%s?id=%s'
	$ git permalink src/app_add.c
	Abrindo https://git.alpinelinux.org/apk\-tools/tree/src/app_add.c?id=aeeb119fd8652c044cd5ceebce572b5c716914e3
.fi

.P
Abre o arquivo \fI\-\-help\fP:

.nf
	$ git permalink \-\- \-\-help
	Abrindo https://git.euandreh.xyz/non\-existent\-repository/tree/\-\-help?id=470a9fa9329495cfcbef8cc5e32e3a38d3c3103e
.fi

.SH "CÓDIGO DE SAÍDA"

.TP 
\fB0\fP
Execução bem\-sucedida.

.TP 
\fB1\fP
Sem suporte à origem remota.  Veja a lista de quais tem suporte em ORIGENS
REMOTAS COM SUPORTE, e como adicionar origens customizadas a parteir de um
model em MODELOS.

.TP 
\fB2\fP
Argumentos inválidos.


.SH "VEJA TAMBÉM"

\fBgit\-config\fP(1)  \fBxdg\-open\fP(1)


.SH AUTORES

.MT eu@euandre.org
EuAndreh
.ME
e colaboradores.


.SH BUGS

.IP \(bu
Relate bugs na
.MT ~euandreh/public\-inbox@lists.sr.ht
lista de discussão
.ME .
Use o assunto "\f(CR[git\-permalink] BUG ou TASK:
<descrição>\fR".
.IP \(bu
Veja os bugs
.UR https://euandreh.xyz/git\-permalink/TODOs.html
online
.UE .
.IP \(bu
.UR https://euandreh.xyz/git\-permalink/
Página inicial
.UE .
.IP \(bu
.UR https://lists.sr.ht/~euandreh/public\-inbox?search=%5Bgit\-permalink%5D
Comentários e discussões
.UE .