digitalmars.D - Sourceforge projects
- Vitaly Livshic (10/10) Oct 14 2020 Hi, everyone.
- rikki cattermole (15/18) Oct 14 2020 It can be completely expected the current behavior.
- starcanopy (6/9) Oct 14 2020 I don't host code on it, but I do download stuff from it. Since
- norm (10/29) Oct 14 2020 This sounds like an arbitrary limitation in dub tbh and nothing
- Vitaly Livshic (7/10) Oct 14 2020 There are several tens public repositories for open-source
- norm (6/16) Oct 14 2020 I don't think dub needs to support anything but git for now, even
- Steven Schveighoffer (10/48) Oct 15 2020 Dub does not use git commands to introspect what versions exist, etc. It...
- rikki cattermole (4/6) Oct 15 2020 This isn't guaranteed to work (without checking out the repository).
- Steven Schveighoffer (7/15) Oct 15 2020 Sure, that would be a discussion on said PR. My point was, it's possible...
- norm (7/14) Oct 15 2020 My apologies I stand corrected, I thought git had the interface
- rikki cattermole (10/12) Oct 15 2020 When I last looked at it a few years ago, my statement was true.
- sarn (40/53) Oct 18 2020 It's not the same as an API that just gets you the tags, but
- Jacob Carlborg (6/8) Oct 16 2020 With the DMD release 2.094.0, Dub now seems to support arbitrary git
Hi, everyone. I develop small library for D language and attempt to publish it on code.dlang.org. Originally, sourceforge project was created. However, when I tried to publish it site show error's message: Please enter a valid project URL or tuple to a GitHub, GitLab or BitBucket project, such as https://gitlab.com/dlang/dub or bitbucket/dlang/dub. Restriction on a specific sites and version control is unexpected for open-source project. Is there are any possibility to use sourceforge or non-git repositories?
Oct 14 2020
On 15/10/2020 2:18 AM, Vitaly Livshic wrote:Restriction on a specific sites and version control is unexpected for open-source project. Is there are any possibility to use sourceforge or non-git repositories?It can be completely expected the current behavior. Version control systems like git don't provide a standard way via a web server to obtain a compressed archive at a specific commit/tag/branch. Nor does it provide access to meta-data. Like tags or branches. You can get this information and archive by checking out the repository, which is more complex to perform and requires the VCS to be installed on the node that does it. Here are the source code for the VCS suppliers that dub-registry supports[0]. Note: I would recommend heavily to not create new projects on SF, they have been known in recent years to do some nasty stuff with any binaries that you may upload. [0] https://github.com/dlang/dub-registry/tree/master/source/dubregistry/repositories
Oct 14 2020
On Wednesday, 14 October 2020 at 16:41:26 UTC, rikki cattermole wrote:Note: I would recommend heavily to not create new projects on SF, they have been known in recent years to do some nasty stuff with any binaries that you may upload.I don't host code on it, but I do download stuff from it. Since SF changed hands a year ago, there hasn't been any saliently shady stuff. I feel bad for the new owners, as this well-deserved notoriety will be difficult to absolve.
Oct 14 2020
On Wednesday, 14 October 2020 at 16:41:26 UTC, rikki cattermole wrote:On 15/10/2020 2:18 AM, Vitaly Livshic wrote:This sounds like an arbitrary limitation in dub tbh and nothing to do with git. The standard git commands work with SF hosted repos just like they do with github, gitlab and bitbucket. Git archive will get you a compressed archive if all you want are the files, but why does dub want to do this? Git can clone the metadata without checking out HEAD if that is all dub requires, which sounds more like what the dub registry requires.Restriction on a specific sites and version control is unexpected for open-source project. Is there are any possibility to use sourceforge or non-git repositories?It can be completely expected the current behavior. Version control systems like git don't provide a standard way via a web server to obtain a compressed archive at a specific commit/tag/branch. Nor does it provide access to meta-data. Like tags or branches. You can get this information and archive by checking out the repository, which is more complex to perform and requires the VCS to be installed on the node that does it. Here are the source code for the VCS suppliers that dub-registry supports[0]. Note: I would recommend heavily to not create new projects on SF, they have been known in recent years to do some nasty stuff with any binaries that you may upload. [0] https://github.com/dlang/dub-registry/tree/master/source/dubregistry/repositories
Oct 14 2020
On Wednesday, 14 October 2020 at 22:21:21 UTC, norm wrote:Git can clone the metadata without checking out HEAD if that is all dub requires, which sounds more like what the dub registry requires.There are several tens public repositories for open-source projects. If SourceForge has bad reputation, project can be hosted by any of these sites. Why limit by three commercial ones for open source code? Git is most popular system, but Mercurial, Fossil, Darcs have users too. Allowed sites have no support.
Oct 14 2020
On Thursday, 15 October 2020 at 03:33:10 UTC, Vitaly Livshic wrote:On Wednesday, 14 October 2020 at 22:21:21 UTC, norm wrote:I don't think dub needs to support anything but git for now, even bitbucket has dropped support for mercurial. But I agree dub registry should be able to support *any* valid url that points at any open git repo.Git can clone the metadata without checking out HEAD if that is all dub requires, which sounds more like what the dub registry requires.There are several tens public repositories for open-source projects. If SourceForge has bad reputation, project can be hosted by any of these sites. Why limit by three commercial ones for open source code? Git is most popular system, but Mercurial, Fossil, Darcs have users too. Allowed sites have no support.
Oct 14 2020
On 10/14/20 6:21 PM, norm wrote:On Wednesday, 14 October 2020 at 16:41:26 UTC, rikki cattermole wrote:Dub does not use git commands to introspect what versions exist, etc. It uses web APIs that are provided by the hosting systems. It's just the case that dub doesn't have support for those other systems. If you submit a PR to add sourceforge support, I'm sure it would be accepted. Here are the objects which deal with the different repository types: https://github.com/dlang/dub-registry/tree/master/source/dubregistry/repositoriesOn 15/10/2020 2:18 AM, Vitaly Livshic wrote:This sounds like an arbitrary limitation in dub tbh and nothing to do with git. The standard git commands work with SF hosted repos just like they do with github, gitlab and bitbucket.Restriction on a specific sites and version control is unexpected for open-source project. Is there are any possibility to use sourceforge or non-git repositories?It can be completely expected the current behavior. Version control systems like git don't provide a standard way via a web server to obtain a compressed archive at a specific commit/tag/branch. Nor does it provide access to meta-data. Like tags or branches. You can get this information and archive by checking out the repository, which is more complex to perform and requires the VCS to be installed on the node that does it. Here are the source code for the VCS suppliers that dub-registry supports[0]. Note: I would recommend heavily to not create new projects on SF, they have been known in recent years to do some nasty stuff with any binaries that you may upload. [0] https://github.com/dlang/dub-registry/tree/master/source/dubr gistry/repositoriesGit archive will get you a compressed archive if all you want are the files, but why does dub want to do this? Git can clone the metadata without checking out HEAD if that is all dub requires, which sounds more like what the dub registry requires.I'm sure also, improvements to dub that allow fetching the info through a git interface would be accepted as well. -Steve
Oct 15 2020
On 16/10/2020 2:05 AM, Steven Schveighoffer wrote:I'm sure also, improvements to dub that allow fetching the info through a git interface would be accepted as well.This isn't guaranteed to work (without checking out the repository). It depends on how git is hosted as well as git on the server and client is configured.
Oct 15 2020
On 10/15/20 11:14 AM, rikki cattermole wrote:On 16/10/2020 2:05 AM, Steven Schveighoffer wrote:Sure, that would be a discussion on said PR. My point was, it's possible to address the suggestion "Git can clone the metadata without checking out HEAD". Suggest the mechanism, and get a response. In a rough guess, I tried git clone -n, but it still downloads all the data of a repository. -SteveI'm sure also, improvements to dub that allow fetching the info through a git interface would be accepted as well.This isn't guaranteed to work (without checking out the repository). It depends on how git is hosted as well as git on the server and client is configured.
Oct 15 2020
On Thursday, 15 October 2020 at 15:14:15 UTC, rikki cattermole wrote:On 16/10/2020 2:05 AM, Steven Schveighoffer wrote:My apologies I stand corrected, I thought git had the interface to read just all the metadata without pulling all the data. I still think it is an arbitrary limitation of dub not to support a git interface but I get that it would require someone to put in some serious time on the project to make it happen.I'm sure also, improvements to dub that allow fetching the info through a git interface would be accepted as well.This isn't guaranteed to work (without checking out the repository). It depends on how git is hosted as well as git on the server and client is configured.
Oct 15 2020
On 16/10/2020 12:00 PM, norm wrote:My apologies I stand corrected, I thought git had the interface to read just all the metadata without pulling all the data.When I last looked at it a few years ago, my statement was true. After more git versions being released, it may no longer be true for a lot of use cases. Either way, you still need the archive as well (which is a separate feature that is also optional, or was at one point). So you may end up with needing to clone it fully anyway. I don't see a problem with checking out a repository to get the info + archive unless it is a big repo. So that would end up being our fallback anyway if you want non-supported providers.
Oct 15 2020
On Thursday, 15 October 2020 at 23:26:03 UTC, rikki cattermole wrote:On 16/10/2020 12:00 PM, norm wrote:It's not the same as an API that just gets you the tags, but partial cloning and sparse checkouts are supported by recent git versions (could also throw in shallow clones for repos with a lot of history). Maybe that's good enough. https://www.git-scm.com/docs/partial-clone https://github.blog/2020-01-17-bring-your-monorepo-down-to-size-with-sparse-checkout/ Here's a quick test with vibe.d (full clone is 24.84MB). Most projects have under a few hundred KB of history. $ git clone --filter=tree:0 --no-checkout https://github.com/vibe-d/vibe.d Cloning into 'vibe.d'... remote: Enumerating objects: 12, done. remote: Counting objects: 100% (12/12), done. remote: Compressing objects: 100% (12/12), done. remote: Total 6232 (delta 0), reused 9 (delta 0), pack-reused 6220 Receiving objects: 100% (6232/6232), 1.56 MiB | 1.43 MiB/s, done. Resolving deltas: 100% (64/64), done. $ cd vibe.d/ $ git tag | head 0.7.20-rc.1 test test2 v0.7.0 v0.7.0-beta.3 v0.7.1 v0.7.10 v0.7.11 v0.7.12 v0.7.13 $ git log | head commit b5afadbe53849db5f3beacbbac1f2ec028f24770 Merge: a567566 61bff81 Author: Sönke Ludwig <sludwig rejectedsoftware.com> Date: Thu Oct 15 12:44:53 2020 +0200 Fix refcounted FD leak in HTTPClient commit 61bff81cfbf97843fdd1a47390bf5f20fba5b876 $My apologies I stand corrected, I thought git had the interface to read just all the metadata without pulling all the data.When I last looked at it a few years ago, my statement was true. After more git versions being released, it may no longer be true for a lot of use cases. Either way, you still need the archive as well (which is a separate feature that is also optional, or was at one point). So you may end up with needing to clone it fully anyway. I don't see a problem with checking out a repository to get the info + archive unless it is a big repo. So that would end up being our fallback anyway if you want non-supported providers.
Oct 18 2020
On 2020-10-15 00:21, norm wrote:Git can clone the metadata without checking out HEAD if that is all dub requires, which sounds more like what the dub registry requires.With the DMD release 2.094.0, Dub now seems to support arbitrary git repositories [1]. [1] https://dlang.org/changelog/2.094.0.html#git-paths -- /Jacob Carlborg
Oct 16 2020