一直很困惑 bitbucket 和 github 的 repo 路径组织方式

2021-08-25 14:41:41 +08:00
 xuantedev

访问方式是:

hostname/team/repo

为什么不修改成为:

hostname/team/project/repo

呢?

在 team 内,也可能出现同名的 repo 啊。比如 V2EX 团队有两个 project: android 和 ios,每个 project 都有一个名叫 doc 的 repo 。按照前面的访问方式,只能:

bitbucket.org/v2ex/android-doc
bitbucket.org/v2ex/ios-doc

如果是:

bitbucket.org/v2ex/android/doc
bitbucket.org/v2ex/ios/doc

多自然?

检索了一下,好像有几个 issues 是关于这个问题的,但是 vote 好少。

https://jira.atlassian.com/browse/BCLOUD-13243

https://jira.atlassian.com/browse/BCLOUD-14549

小团队好像还是很需要这个需求的。

1876 次点击
所在节点    git
9 条回复
wangkun025
2021-08-25 14:52:36 +08:00
request 里面有 authentication token 的。
2i2Re2PLMaDnghL
2021-08-25 14:52:58 +08:00
那样的话不访问地址就难以知晓这到底是一个 project 还是一个 repo ?
如果你希望所有 URL 都有三层又未免太过复杂,绝大多数 Project 是只有一个 repo 的。
xuantedev
2021-08-25 15:00:26 +08:00
@2i2Re2PLMaDnghL 谢谢,为什么我要从一个路径来判断这是一个 project 还是一个 repo 呢?绝大多数 project 只有一个 repo,我本身不是很赞同这个说法。何况这只是一个组织方式,一个 project 中只有一个代码库也许情况比较多,但是 document 呢?

@wangkun025 谢谢,但是我还是不理解我这个问题跟 auth token 有什么关系。
wangxn
2021-08-25 15:00:54 +08:00
一开始 GitHub 就是主打个人和单个团队的吧,所以只有一层。
2i2Re2PLMaDnghL
2021-08-25 15:13:00 +08:00
@xuantedev 仅猜想,Github 因为历史原因不一定能修改,完全可能其他人的代码对此进行了过分特异化的适配。
而且再分 project 可能还要加字段。
开源软件 doc 跟着代码一起走是比较常见的,保证每个 commit 里的 doc 和实际完全对应,同步修改,同时也包括单元测试等。也避免了看的 doc 和实际版本不一致导致的困扰。缺点是影响关注点分离。只有那些发生变动甚至可能不修改代码的闭源软件和 SaaS 才会真正需要 doc 分离。
xuantedev
2021-08-25 15:31:41 +08:00
@2i2Re2PLMaDnghL 如果是这样的话,一个 repo 对应一个 project,那 bitbucket 应该不用提出 project 这个概念了啊。
2i2Re2PLMaDnghL
2021-08-25 15:41:33 +08:00
@xuantedev bb 不怎么用,看上去很可能是为了和 at 家其他东西结合,也结合 #4,和 gh 目标不一致,适用整个公司,分多个 project,人员有穿插,这种情况。
forcecharlie
2021-08-25 16:06:55 +08:00
那你也可以创建一个组织的。当然你提的需求是能够实现的,但带来的其他影响会影响一些其他服务,上一份工作在某代码托管平台,来自前就做了多仓库支持,但引出来的问题很多,比如 go-get 就会有很诡异的错误。
oott123
2021-08-25 18:56:42 +08:00
bitbucket 确实,他本来就有 project 的概念,但是没提现在 url 上出来

gitlab 引入了一个叫 subgroup 的概念,这个东西就会在 url 上加一层了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/797925

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX