Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
db9c054f
Kaydet (Commit)
db9c054f
authored
Tem 30, 1996
tarafından
Guido van Rossum
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
turn a pile of RCS files into a ChangeLog file
üst
ef253701
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
109 additions
and
0 deletions
+109
-0
makechangelog.py
Demo/pdist/makechangelog.py
+109
-0
No files found.
Demo/pdist/makechangelog.py
0 → 100755
Dosyayı görüntüle @
db9c054f
#! /usr/local/bin/python
"""Turn a pile of RCS log output into ChangeLog file entries.
"""
import
sys
import
string
import
regex
import
getopt
import
time
def
main
():
args
=
sys
.
argv
[
1
:]
opts
,
args
=
getopt
.
getopt
(
args
,
'p:'
)
prefix
=
''
for
o
,
a
in
opts
:
if
p
==
'-p'
:
prefix
=
a
f
=
sys
.
stdin
allrevs
=
[]
while
1
:
file
=
getnextfile
(
f
)
if
not
file
:
break
revs
=
[]
while
1
:
rev
=
getnextrev
(
f
,
file
)
if
not
rev
:
break
revs
.
append
(
rev
)
if
revs
:
allrevs
[
len
(
allrevs
):]
=
revs
allrevs
.
sort
()
allrevs
.
reverse
()
for
rev
in
allrevs
:
formatrev
(
rev
,
prefix
)
parsedateprog
=
regex
.
compile
(
'^date:
\
([0-9]+
\
)/
\
([0-9]+
\
)/
\
([0-9]+
\
) '
+
'
\
([0-9]+
\
):
\
([0-9]+
\
):
\
([0-9]+
\
); author:
\
([^ ;]+
\
)'
)
authormap
=
{
'guido'
:
'Guido van Rossum <guido@cnri.reston.va.us>'
,
'jack'
:
'Jack Jansen <jack@cwi.nl>'
,
'sjoerd'
:
'Sjoerd Mullender <sjoerd@cwi.nl>'
,
}
def
formatrev
(
rev
,
prefix
):
dateline
,
file
,
revline
,
log
=
rev
if
parsedateprog
.
match
(
dateline
)
>=
0
:
fields
=
parsedateprog
.
group
(
1
,
2
,
3
,
4
,
5
,
6
)
author
=
parsedateprog
.
group
(
7
)
if
authormap
.
has_key
(
author
):
author
=
authormap
[
author
]
tfields
=
map
(
string
.
atoi
,
fields
)
+
[
0
,
0
,
0
]
tfields
[
5
]
=
tfields
[
5
]
-
time
.
timezone
t
=
time
.
mktime
(
tuple
(
tfields
))
print
time
.
ctime
(
t
),
''
,
author
words
=
string
.
split
(
log
)
words
[:
0
]
=
[
'*'
,
prefix
+
file
+
':'
]
maxcol
=
72
-
8
col
=
maxcol
for
word
in
words
:
if
col
>
0
and
col
+
len
(
word
)
>=
maxcol
:
print
print
'
\t
'
+
word
,
col
=
-
1
else
:
print
word
,
col
=
col
+
1
+
len
(
word
)
print
print
startprog
=
regex
.
compile
(
"^Working file:
\
(.*
\
)$"
)
def
getnextfile
(
f
):
while
1
:
line
=
f
.
readline
()
if
not
line
:
return
None
if
startprog
.
match
(
line
)
>=
0
:
file
=
startprog
.
group
(
1
)
# Skip until first revision
while
1
:
line
=
f
.
readline
()
if
not
line
:
return
None
if
line
[:
10
]
==
'='
*
10
:
return
None
if
line
[:
10
]
==
'-'
*
10
:
break
## print "Skipped", line,
return
file
## else:
## print "Ignored", line,
def
getnextrev
(
f
,
file
):
# This is called when we are positioned just after a '---' separator
revline
=
f
.
readline
()
dateline
=
f
.
readline
()
log
=
''
while
1
:
line
=
f
.
readline
()
if
not
line
:
break
if
line
[:
10
]
==
'='
*
10
:
# Ignore the *last* log entry for each file since it
# is the revision since which we are logging.
return
None
if
line
[:
10
]
==
'-'
*
10
:
break
log
=
log
+
line
return
dateline
,
file
,
revline
,
log
if
__name__
==
'__main__'
:
main
()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment