Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
6cd273ff
Unverified
提交
6cd273ff
authored
5月 29, 2019
作者:
Steven Allen
提交者:
GitHub
5月 29, 2019
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #6372 from ipfs/feat/0.4.21-releaselog
Add 0.4.21 CHANGELOG
上级
2b41ca17
655b03cb
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
116 行增加
和
25 行删除
+116
-25
CHANGELOG.md
CHANGELOG.md
+0
-0
mkreleaselog
bin/mkreleaselog
+115
-25
experimental-features.md
docs/experimental-features.md
+1
-0
没有找到文件。
CHANGELOG.md
浏览文件 @
6cd273ff
差异被折叠。
点击展开。
bin/mkreleaselog
浏览文件 @
6cd273ff
#!/
usr/bin/env ba
sh
#!/
bin/z
sh
#set -x
set
-euo
pipefail
IFS
=
$'
\n\t
'
export
GO111MODULE
=
on
export
GOPATH
=
"
$(
go env GOPATH
)
"
LAST_TAG
=
$(
git tag
-l
| sort
-V
|
grep
-v
--
'-rc'
|
grep
'v'
| tail
-n1
)
git log
--oneline
--merges
--reverse
$LAST_TAG
...master |
while
read
MERGE
do
commit
=
$(
echo
$MERGE
| awk
'{ print $1 }'
)
prnum
=
$(
echo
$MERGE
| awk
'{ print $5 }'
| tr
-d
'#'
)
desc
=
$(
git show
$commit
| sed
'8q;d'
| sed
's/^ //g'
)
printf
" - %s ([ipfs/go-ipfs#%s](https://github.com/ipfs/go-ipfs/pull/%s))
\n
"
"
$desc
"
"
$prnum
"
"
$prnum
"
done
TMP_DIR
=
$(
mktemp
-d
--tmpdir
go-ipfs-mkreleaselog-XXXXXX
)
git show
"
$LAST_TAG
:go.mod"
>
"
$TMP_DIR
/go.mod"
echo
echo
"Dependecy updates:"
join
-a
2 <
(
cd
"
$TMP_DIR
"
&&
go list
-m
all | sort
-k
1b,1
)
<
(
go list
-m
all | sort
-k
1b,1
)
| awk
\
'
{ if (NF == 2)
printf "2 - %s none => %s\n", $1, $2
else if ($2 != $3)
printf "1 - %s %s => %s\n", $1, $2, $3 }
'
| sort | sed
's/[0-9] //'
alias
jq
=
"jq --unbuffered"
[[
-n
"
${
REPO_FILTER
+x
}
"
]]
||
REPO_FILTER
=
"github.com/(ipfs|libp2p|ipld)"
[[
-n
"
${
IGNORED_FILES
+x
}
"
]]
||
IGNORED_FILES
=
'^\(\.gx\|package.json\|\.travis.yml\|go.mod\|go.sum\)$'
msg
()
{
echo
"
$*
"
>
&2
}
# Returns a stream of deps changed between $1 and $2.
dep_changes
()
{
{
<
"
$1
"
<
"
$2
"
}
| jq
-s
'JOIN(INDEX(.[0][]; .Path); .[1][]; .Path; {Path: .[0].Path, Old: (.[1] | del(.Path)), New: (.[0] | del(.Path))}) | select(.New.Version != .Old.Version)'
}
# resolve_commits resolves a git ref for each version.
resolve_commits
()
{
jq
'. + {Ref: (.Version|capture("^((?<ref1>.*)\\+incompatible|v.*-[0-9]{14}-(?<ref2>[a-f0-9]{12})|(?<ref3>v.*))$") | .ref1 // .ref2 // .ref3)}'
}
# Generate a release log for a range of commits in a single repo.
release_log
()
{
local
repo
=
"
$1
"
local
start
=
"
$2
"
local
end
=
"
${
3
:-
HEAD
}
"
local
ghname
=
"
${
repo
##github.com/
}
"
local
dir
=
"
$GOPATH
/src/
$repo
"
local
commit prnum
git
-C
"
$dir
"
log
\
--format
=
'tformat:%H %s'
\
--merges
\
"
$start
..
$end
"
|
sed
-n
-e
's/\([a-f0-9]\+\) .*#\([0-9]\+\).*/\1 \2/p'
|
while
read
commit prnum
;
do
# Skip gx-only PRs.
git
-C
"
$dir
"
diff-tree
--no-commit-id
--name-only
"
$commit
^"
"
$commit
"
|
grep
-v
"
${
IGNORED_FILES
}
"
>
/dev/null
||
continue
local
desc
=
"
$(
git
-C
"
$dir
"
show
--summary
--format
=
'tformat:%b'
"
$commit
"
| head
-1
)
"
printf
"- %s ([%s#%s](https://%s/pull/%s))
\n
"
"
$desc
"
"
$ghname
"
"
$prnum
"
"
$repo
"
"
$prnum
"
done
}
indent
()
{
sed
-e
's/^/ /'
}
mod_deps
()
{
go list
-json
-m
all | jq
'select(.Version != null)'
}
ensure
()
{
local
repo
=
"
$1
"
local
commit
=
"
$2
"
local
rpath
=
"
$GOPATH
/src/
$repo
"
if
[[
!
-d
"
$rpath
"
]]
;
then
msg
"Cloning
$repo
..."
git clone
"http://
$repo
"
"
$rpath
"
>
&2
fi
if
!
git
-C
"
$rpath
"
rev-parse
--verify
"
$commit
"
>
/dev/null
;
then
msg
"Fetching
$repo
..."
git
-C
"
$rpath
"
fetch
--all
>
&2
fi
git
-C
"
$rpath
"
rev-parse
--verify
"
$commit
"
>
/dev/null
||
return
1
}
recursive_release_log
()
{
local
start
=
"
${
1
:-$(
git tag
-l
| sort
-V
|
grep
-v
--
'-rc'
|
grep
'v'
| tail
-n1
)}
"
local
end
=
"
${
2
:-$(
git rev-parse HEAD
)}
"
local
repo_root
=
"
$(
git rev-parse
--show-toplevel
)
"
local
package
=
"
$(
go list
)
"
(
local
workspace
=
"
$(
mktemp
-d
)
"
trap
"
$(
printf
'rm -rf "%q"'
"
$workspace
"
)
"
INT TERM EXIT
cd
"
$workspace
"
echo
"Computing old deps..."
>
&2
git
-C
"
$repo_root
"
show
"
$start
:go.mod"
>
go.mod
mod_deps | resolve_commits | jq
-s
>
old_deps.json
echo
"Computing new deps..."
>
&2
git
-C
"
$repo_root
"
show
"
$end
:go.mod"
>
go.mod
mod_deps | resolve_commits | jq
-s
>
new_deps.json
rm
-f
go.mod go.sum
printf
"Generating Changelog for %s %s..%s
\n
"
"
$package
"
"
$start
"
"
$end
"
>
&2
printf
"- %s:
\n
"
"
$package
"
release_log
"
$package
"
"
$start
"
"
$end
"
| indent
dep_changes old_deps.json new_deps.json |
jq
--arg
filter
"
$REPO_FILTER
"
'select(.Path | match($filter))'
|
# Compute changelogs
jq
-r
'"\(.Path) \(.New.Version) \(.New.Ref) \(.Old.Version) \(.Old.Ref // "")"'
|
while
read
repo new new_ref old old_ref
;
do
ensure
"
$repo
"
"
$new_ref
"
local
changelog
=
"
$(
release_log
"
$repo
"
"
$old_ref
"
"
$new_ref
"
)
"
if
[[
-n
"
$changelog
"
]]
;
then
printf
"- %s (%s -> %s):
\n
"
"
$repo
"
"
$old
"
"
$new
"
echo
"
$changelog
"
| indent
fi
done
)
}
recursive_release_log
"
$@
"
docs/experimental-features.md
浏览文件 @
6cd273ff
...
...
@@ -28,6 +28,7 @@ the above issue.
-
[
IPNS PubSub
](
#ipns-pubsub
)
-
[
QUIC
](
#quic
)
-
[
AutoRelay
](
#autorelay
)
-
[
TLS 1.3 Handshake
](
#tls-13-as-default-handshake-protocol
)
---
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论