digitalmars.D - dget - getting code from github
- Walter Bright (13/13) May 23 2012 Currently, getting D code from github is a multistep process, that isn't...
- =?ISO-8859-1?Q?Alex_R=F8nne_Petersen?= (9/22) May 23 2012 Maybe this should be part of whatever package manager the community ends...
- Jacob Carlborg (6/8) May 24 2012 I still am, although slowly:
- David Nadlinger (6/12) May 23 2012 What are you referring to as installation? Just retrieving the
- Walter Bright (15/25) May 23 2012 Pretty much that. However, this requires that the user install git first...
- Jacob Carlborg (4/8) May 23 2012 This is the job for a package manager, not some specialized wget.
- Ary Manzana (3/16) May 23 2012 I think it's better to focus on a package manager that will make this
- Jonathan M Davis (3/5) May 23 2012 Though dget would be a pretty good name for a D package manager.
- Walter Bright (2/6) May 23 2012 And dget is a one or two day project, and doesn't require much of any de...
- Jacob Carlborg (7/9) May 23 2012 Then suddenly you want to be able to easily download dependencies and
- =?UTF-8?B?QWxleCBSw7hubmUgUGV0ZXJzZW4=?= (6/11) May 23 2012 +1.
- Paulo Pinto (10/16) May 24 2012 Agreed.
- Russel Winder (23/30) May 24 2012 On the other hand Debian, Fedora, FreeBSD, MacOSX, etc. already have
- =?UTF-8?B?QWxleCBSw7hubmUgUGV0ZXJzZW4=?= (10/30) May 24 2012 Huh, it does? I've always found those tools ridiculously easy and great
- Jacob Carlborg (4/6) May 24 2012 I've also found those very easy to use.
- Tobias Pankrath (5/16) May 24 2012 Platform specific package management is not enough for
- Kevin Cox (15/29) May 24 2012 It only works, if you need the version the platform provides. And everyo...
- Tobias Pankrath (6/12) May 24 2012 I'm using arch, too. The problem are the people, who don't :-)
- Kevin Cox (9/10) May 24 2012 I know what you are saying but package managers were beautiful things th...
- Paulo Pinto (12/64) May 24 2012 When I worked at CERN, our team was making use of CMT for C++.
- Jacob Carlborg (4/10) May 24 2012 Mac OS X doesn't have one out of the box, App Store doesn't count.
- Kevin Cox (2/5) May 24 2012 IIRC there is one that a ton of people use, is it called macports?
- Ary Manzana (4/12) May 24 2012 That, bust mostly homebrew:
- Jacob Carlborg (4/12) May 24 2012 Yes, but there are also package managers for Windows.
- Regan Heath (11/19) May 24 2012 Odd.. a language specific package support would mean /one/ set of
- Jacob Carlborg (4/10) May 24 2012 Exactly.
- Russel Winder (19/21) May 24 2012 Sounds like you are asking for the same thing that the go program
- Paulo Pinto (3/20) May 24 2012 "Go get" still has an issue with version dependencies, as it
- Russel Winder (18/21) May 24 2012 I wasn't trying to say it was perfect, apologies if that impression came
- Paulo Pinto (9/26) May 24 2012 Sure, I am also confident that this issue will eventually get
- David Nadlinger (17/20) May 24 2012 Oh, and maybe I'm a bit to pessimistic on that, but a project
- Walter Bright (2/7) May 24 2012 It's still multiple steps.
- Martin Nowak (3/5) May 25 2012 https://gist.github.com/2786276
- Walter Bright (2/7) May 25 2012 Holy Mackerel! I'm going to give it a try.
- Walter Bright (4/9) May 25 2012 How about slapping a Boost license on it and creating a pull request for...
- Martin Nowak (3/16) May 26 2012 I will do that after some cleanup.
- Walter Bright (2/21) May 26 2012 Great!
- Jonas Drewsen (10/31) May 27 2012 I saw your comment in the code:
- Martin Nowak (3/9) May 29 2012 Good to know, thanks.
- bioinfornatics (21/43) May 26 2012 t. Of=20
- Zardoz (6/54) May 30 2012 I will try it of you can write a documentations for dumbs. What
- bioinfornatics (4/66) Jun 06 2012 uilder.cfg=20
Currently, getting D code from github is a multistep process, that isn't always obvious. I propose the creation of a dget program, which will: dget https://github.com/D-Programming-Deimos/libevent download the libevent code and install it in a subdirectory named libevent. Of course, the url could also be: dget github.com/D-Programming-Deimos/libevent since https is assumed, or: dget D-Programming-Deimos/libevent since github is assumed. And since Deimos is a known library, dget libevent can also be hardwired into dget. Anyone want to implement such? It ought to be fairly straightforward, and will be a nice timesaver for a lot of people.
May 23 2012
On 24-05-2012 01:14, Walter Bright wrote:Currently, getting D code from github is a multistep process, that isn't always obvious. I propose the creation of a dget program, which will: dget https://github.com/D-Programming-Deimos/libevent download the libevent code and install it in a subdirectory named libevent. Of course, the url could also be: dget github.com/D-Programming-Deimos/libevent since https is assumed, or: dget D-Programming-Deimos/libevent since github is assumed. And since Deimos is a known library, dget libevent can also be hardwired into dget. Anyone want to implement such? It ought to be fairly straightforward, and will be a nice timesaver for a lot of people.Maybe this should be part of whatever package manager the community ends up using. I think several people have been / are working on such programs. BTW, Git submodules are ideal for this sort of thing: http://git-scm.com/book/en/Git-Tools-Submodules -- Alex Rřnne Petersen alex lycus.org http://lycus.org
May 23 2012
On 2012-05-24 02:23, Alex Rřnne Petersen wrote:Maybe this should be part of whatever package manager the community ends up using. I think several people have been / are working on such programs.I still am, although slowly: https://github.com/jacob-carlborg/orbit/wiki/Orbit-Package-Manager-for-D https://github.com/jacob-carlborg/orbit -- /Jacob Carlborg
May 24 2012
On Wednesday, 23 May 2012 at 23:14:19 UTC, Walter Bright wrote:Currently, getting D code from github is a multistep process, that isn't always obvious. I propose the creation of a dget program, which will: dget https://github.com/D-Programming-Deimos/libevent download the libevent code and install it in a subdirectory named libevent.What are you referring to as installation? Just retrieving the source into a »libevent« subdirectory is hardly a multi-step process: git clone https://github.com/D-Programming-Deimos/libevent David
May 23 2012
On 5/23/2012 9:39 PM, David Nadlinger wrote:On Wednesday, 23 May 2012 at 23:14:19 UTC, Walter Bright wrote:Pretty much that. However, this requires that the user install git first. dget is all about reducing friction. dget can also be extended to get things from other repositories without changing the user interface, and it can have a builtin mapping of library=>url for popular packages. For an analogy, if I wanted to check the documentation for std.algorithm, I could of course fire up the browser and type: http://dlang.org/phobos/std_algorithm.html in the address bar. Or, I could write: dman std.algorithm and I'm there. And I can type: dman link and the web page for http://www.digitalmars.com/ctg/optlink.html opens up. It's all about reducing the friction. I am often surprised at how simple things like this turn out to be tipping points for users (and myself).Currently, getting D code from github is a multistep process, that isn't always obvious. I propose the creation of a dget program, which will: dget https://github.com/D-Programming-Deimos/libevent download the libevent code and install it in a subdirectory named libevent.What are you referring to as installation? Just retrieving the source into a »libevent« subdirectory is hardly a multi-step process: git clone https://github.com/D-Programming-Deimos/libevent
May 23 2012
On 2012-05-24 07:42, Walter Bright wrote:Pretty much that. However, this requires that the user install git first. dget is all about reducing friction. dget can also be extended to get things from other repositories without changing the user interface, and it can have a builtin mapping of library=>url for popular packages.This is the job for a package manager, not some specialized wget. -- /Jacob Carlborg
May 23 2012
On 5/24/12 6:14 AM, Walter Bright wrote:Currently, getting D code from github is a multistep process, that isn't always obvious. I propose the creation of a dget program, which will: dget https://github.com/D-Programming-Deimos/libevent download the libevent code and install it in a subdirectory named libevent. Of course, the url could also be: dget github.com/D-Programming-Deimos/libevent since https is assumed, or: dget D-Programming-Deimos/libevent since github is assumed. And since Deimos is a known library, dget libevent can also be hardwired into dget. Anyone want to implement such? It ought to be fairly straightforward, and will be a nice timesaver for a lot of people.I think it's better to focus on a package manager that will make this 'dget' program obsolete.
May 23 2012
On Thursday, May 24, 2012 12:45:57 Ary Manzana wrote:I think it's better to focus on a package manager that will make this 'dget' program obsolete.Though dget would be a pretty good name for a D package manager. - Jonathan M Davis
May 23 2012
On 5/23/2012 10:51 PM, Jonathan M Davis wrote:On Thursday, May 24, 2012 12:45:57 Ary Manzana wrote:And dget is a one or two day project, and doesn't require much of any design.I think it's better to focus on a package manager that will make this 'dget' program obsolete.Though dget would be a pretty good name for a D package manager.
May 23 2012
On 2012-05-24 07:57, Walter Bright wrote:And dget is a one or two day project, and doesn't require much of any design.Then suddenly you want to be able to easily download dependencies and install all code in a central location on disk, i.e. a package manager. But since the original tool "doesn't require much of any design" everything turns out to be a big mess. -- /Jacob Carlborg
May 23 2012
On 24-05-2012 07:51, Jonathan M Davis wrote:On Thursday, May 24, 2012 12:45:57 Ary Manzana wrote:+1. -- Alex Rønne Petersen alex lycus.org http://lycus.orgI think it's better to focus on a package manager that will make this 'dget' program obsolete.Though dget would be a pretty good name for a D package manager. - Jonathan M Davis
May 23 2012
On Thursday, 24 May 2012 at 05:51:38 UTC, Jonathan M Davis wrote:On Thursday, May 24, 2012 12:45:57 Ary Manzana wrote:Agreed. Every time I need to do something in an language without official package manager support, I curse myself. The uniform way of getting software distributed across operating systems is a great feature and it is a joy to integrate with CI systems. I even forgive Maven for all its quirks. -- PauloI think it's better to focus on a package manager that will make this 'dget' program obsolete.Though dget would be a pretty good name for a D package manager. - Jonathan M Davis
May 24 2012
On Thu, 2012-05-24 at 10:34 +0200, Paulo Pinto wrote: [...]Every time I need to do something in an language without official=20 package manager support, I curse myself.On the other hand Debian, Fedora, FreeBSD, MacOSX, etc. already have package managements systems. A problem is that Windows does not. Experience shows (Maven, Gems, Hackage, ...) that having language specific packaging and platform specific packaging causes strife. Scala has made the bold move to go with platform packaging and working with the platform teams so as to avoid the hassles seen by Java, Ruby, Python, Haskell. Maybe this will lead to the first language specific packaging that works in sympathy with the platform packaging.The uniform way of getting software distributed across operating=20 systems is a great feature and it is a joy to integrate with CI=20 systems. =20 I even forgive Maven for all its quirks.I like the Maven repository, I think Maven the build framework should be banned, along with Ant. But then I would given my relationship with Gradle and SCons (and Gant and Waf). --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
May 24 2012
On 24-05-2012 11:50, Russel Winder wrote:On Thu, 2012-05-24 at 10:34 +0200, Paulo Pinto wrote: [...]Huh, it does? I've always found those tools ridiculously easy and great to work with. I use easy_install for Python frequently and largely prefer NuGet for .NET development. In the little time I spent with Haskell, I also found Cabal very useful.Every time I need to do something in an language without official package manager support, I curse myself.On the other hand Debian, Fedora, FreeBSD, MacOSX, etc. already have package managements systems. A problem is that Windows does not. Experience shows (Maven, Gems, Hackage, ...) that having language specific packaging and platform specific packaging causes strife.Scala has made the bold move to go with platform packaging and working with the platform teams so as to avoid the hassles seen by Java, Ruby, Python, Haskell. Maybe this will lead to the first language specific packaging that works in sympathy with the platform packaging.-- Alex Rønne Petersen alex lycus.org http://lycus.orgThe uniform way of getting software distributed across operating systems is a great feature and it is a joy to integrate with CI systems. I even forgive Maven for all its quirks.I like the Maven repository, I think Maven the build framework should be banned, along with Ant. But then I would given my relationship with Gradle and SCons (and Gant and Waf).
May 24 2012
On 2012-05-24 12:02, Alex Rønne Petersen wrote:Huh, it does? I've always found those tools ridiculously easy and great to work with.I've also found those very easy to use. -- /Jacob Carlborg
May 24 2012
On Thursday, 24 May 2012 at 09:50:33 UTC, Russel Winder wrote:On Thu, 2012-05-24 at 10:34 +0200, Paulo Pinto wrote: [...]Platform specific package management is not enough for development use. It only works, if you need the version the platform provides. And everyone must have the same platform to have the same version.Every time I need to do something in an language without official package manager support, I curse myself.On the other hand Debian, Fedora, FreeBSD, MacOSX, etc. already have package managements systems. A problem is that Windows does not. Experience shows (Maven, Gems, Hackage, ...) that having language specific packaging and platform specific packaging causes strife.
May 24 2012
On May 24, 2012 6:43 AM, "Tobias Pankrath" <tobias pankrath.net> wrote:On Thursday, 24 May 2012 at 09:50:33 UTC, Russel Winder wrote:package manager support, I curse myself.On Thu, 2012-05-24 at 10:34 +0200, Paulo Pinto wrote: [...]Every time I need to do something in an language without officialIt only works, if you need the version the platform provides. And everyone must have the same platform to have the same version.On the other hand Debian, Fedora, FreeBSD, MacOSX, etc. already have package managements systems. A problem is that Windows does not. Experience shows (Maven, Gems, Hackage, ...) that having language specific packaging and platform specific packaging causes strife.Platform specific package management is not enough for development use.Yes and no, for actually using programs that use the language the system package manager is far superior because when you install an app it can also install the required packages in one go. (As opposed to having to go to the d package manager and get the right libs. However you bring up the point of development. If you look at the arch build system it has what you want. You can write descriptions on how to download and build a package and then is it just as easy to install as a dget would be, however thee advantage is that you can still depend on these packages. Also, for switching versions all you have to do is change on variable. I'm sure there are things like this for other systems but I use arch and I see a solution to your problem.
May 24 2012
Also, for switching versions all you have to do is change on variable. I'm sure there are things like this for other systems but I use arch and I see a solution to your problem.I'm using arch, too. The problem are the people, who don't :-) In the end, it should be possible to "just get & compile" a project with a package manager, regardless of which platform you use and which versions your platform package manager ships. If I have a good workaround in Arch but my colleague needs a different in Debian, it's already a failure.
May 24 2012
On May 24, 2012 7:08 AM, "Tobias Pankrath" <tobias pankrath.net> wrote:I'm using arch, too. The problem are the people, who don't :-)I know what you are saying but package managers were beautiful things that made it stupidly simple to install software. But we are slowly going back to windoze with "install this, run this command, you may need to configure your repositories, sorry dependency not installed" I understand that it is more work to have multiple solutions but I think it is worth it. And IIRC the abs is portable so worst case is go and install it. (Easy for me on arch to say).
May 24 2012
On Thursday, 24 May 2012 at 10:50:57 UTC, Kevin Cox wrote:On May 24, 2012 6:43 AM, "Tobias Pankrath" <tobias pankrath.net> wrote:When I worked at CERN, our team was making use of CMT for C++. This is a Python+CVS build tool that is nicely integrated with source code repository and also takes care of dependencies and versioning. I never heard about it outside CERN. Some information in case you want to read about it, http://www.cmtsite.org/CMTDoc.html http://lhcb-comp.web.cern.ch/lhcb-comp/support/CMT/cmt.htm -- PauloOn Thursday, 24 May 2012 at 09:50:33 UTC, Russel Winder wrote:package manager support, I curse myself.On Thu, 2012-05-24 at 10:34 +0200, Paulo Pinto wrote: [...]Every time I need to do something in an language without officialIt only works, if you need the version the platform provides. And everyone must have the same platform to have the same version.On the other hand Debian, Fedora, FreeBSD, MacOSX, etc. already have package managements systems. A problem is that Windows does not. Experience shows (Maven, Gems, Hackage, ...) that having language specific packaging and platform specific packaging causes strife.Platform specific package management is not enough for development use.Yes and no, for actually using programs that use the language the system package manager is far superior because when you install an app it can also install the required packages in one go. (As opposed to having to go to the d package manager and get the right libs. However you bring up the point of development. If you look at the arch build system it has what you want. You can write descriptions on how to download and build a package and then is it just as easy to install as a dget would be, however thee advantage is that you can still depend on these packages. Also, for switching versions all you have to do is change on variable. I'm sure there are things like this for other systems but I use arch and I see a solution to your problem.
May 24 2012
On 2012-05-24 11:50, Russel Winder wrote:On Thu, 2012-05-24 at 10:34 +0200, Paulo Pinto wrote: [...]Mac OS X doesn't have one out of the box, App Store doesn't count. -- /Jacob CarlborgEvery time I need to do something in an language without official package manager support, I curse myself.On the other hand Debian, Fedora, FreeBSD, MacOSX, etc. already have package managements systems. A problem is that Windows does not.
May 24 2012
On May 24, 2012 7:03 AM, "Jacob Carlborg" <doob me.com> wrote:Mac OS X doesn't have one out of the box, App Store doesn't count. -- /Jacob CarlborgIIRC there is one that a ton of people use, is it called macports?
May 24 2012
On 5/24/12 6:08 PM, Kevin Cox wrote:On May 24, 2012 7:03 AM, "Jacob Carlborg" <doob me.com <mailto:doob me.com>> wrote: > > Mac OS X doesn't have one out of the box, App Store doesn't count. > > -- > /Jacob Carlborg IIRC there is one that a ton of people use, is it called macports?That, bust mostly homebrew: https://github.com/mxcl/homebrew (but it's more for developers)
May 24 2012
On 2012-05-24 13:08, Kevin Cox wrote:On May 24, 2012 7:03 AM, "Jacob Carlborg" <doob me.com <mailto:doob me.com>> wrote: > > Mac OS X doesn't have one out of the box, App Store doesn't count. > > -- > /Jacob Carlborg IIRC there is one that a ton of people use, is it called macports?Yes, but there are also package managers for Windows. -- /Jacob Carlborg
May 24 2012
On Thu, 24 May 2012 10:50:15 +0100, Russel Winder <russel winder.org.uk> wrote:On Thu, 2012-05-24 at 10:34 +0200, Paulo Pinto wrote: [...]Odd.. a language specific package support would mean /one/ set of steps/documentation/etc for telling new users how to do it, instead of a vague "check your platform documentation" or similar. Plus, having language specific tools means complete control of how it works, and what it does, etc.. rather than having to work around someone else's design decisions. R -- Using Opera's revolutionary email client: http://www.opera.com/mail/Every time I need to do something in an language without official package manager support, I curse myself.On the other hand Debian, Fedora, FreeBSD, MacOSX, etc. already have package managements systems. A problem is that Windows does not. Experience shows (Maven, Gems, Hackage, ...) that having language specific packaging and platform specific packaging causes strife.
May 24 2012
On 2012-05-24 13:30, Regan Heath wrote:Odd.. a language specific package support would mean /one/ set of steps/documentation/etc for telling new users how to do it, instead of a vague "check your platform documentation" or similar. Plus, having language specific tools means complete control of how it works, and what it does, etc.. rather than having to work around someone else's design decisions.Exactly. -- /Jacob Carlborg
May 24 2012
On Wed, 2012-05-23 at 16:14 -0700, Walter Bright wrote:Currently, getting D code from github is a multistep process, that isn't =always=20obvious. I propose the creation of a dget program, which will:Sounds like you are asking for the same thing that the go program provides for Go. Except that go is also the package manager and build manager. It enforces convention over configuration and thereby becomes simple -- as long as package providers follow the rules, but then that is the whole point of convention over configuration. The go command understands GitHub, BitBucket and Launchpad so fails to discriminate over choice of DVCS. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
May 24 2012
On Thursday, 24 May 2012 at 08:13:29 UTC, Russel Winder wrote:On Wed, 2012-05-23 at 16:14 -0700, Walter Bright wrote:"Go get" still has an issue with version dependencies, as it gets latest.Currently, getting D code from github is a multistep process, that isn't always obvious. I propose the creation of a dget program, which will:Sounds like you are asking for the same thing that the go program provides for Go. Except that go is also the package manager and build manager. It enforces convention over configuration and thereby becomes simple -- as long as package providers follow the rules, but then that is the whole point of convention over configuration. The go command understands GitHub, BitBucket and Launchpad so fails to discriminate over choice of DVCS.
May 24 2012
On Thu, 2012-05-24 at 10:29 +0200, Paulo Pinto wrote: [...]=20 "Go get" still has an issue with version dependencies, as it gets latest.I wasn't trying to say it was perfect, apologies if that impression came across. I was trying to say that there was a model of source code organization for core+packages that as been tried and appears to be successful to an extent better than anything seen in C, C++, Fortran, etc. Python, Ruby, Java (and hence Groovy and to a lesser extent Scala) are going a slightly different route, but are definitely ahead as well. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
May 24 2012
On Thursday, 24 May 2012 at 09:53:38 UTC, Russel Winder wrote:On Thu, 2012-05-24 at 10:29 +0200, Paulo Pinto wrote: [...]Sure, I am also confident that this issue will eventually get fixed. Get latest only works if you have full control over all libraries, latest when Go gets more industry coverage, where this control is not so easy as in open source world, this problem will be solved. -- Paulo"Go get" still has an issue with version dependencies, as it gets latest.I wasn't trying to say it was perfect, apologies if that impression came across. I was trying to say that there was a model of source code organization for core+packages that as been tried and appears to be successful to an extent better than anything seen in C, C++, Fortran, etc. Python, Ruby, Java (and hence Groovy and to a lesser extent Scala) are going a slightly different route, but are definitely ahead as well.
May 24 2012
On Wednesday, 23 May 2012 at 23:14:19 UTC, Walter Bright wrote:Anyone want to implement such? It ought to be fairly straightforward, and will be a nice timesaver for a lot of people.Oh, and maybe I'm a bit to pessimistic on that, but a project that takes »only one or two days« and »doesn't require much of any design« probably won't offer much functionality over »git/hg/<xyz> clone <url>«, and thus is likely to rather be a needless complication than much of a timesaver. With dget in place, you either still need to go to the respective hosting site to find out that the project even exists, or we need a central list of available libraries, in which case we are already halfway towards a package manager. Now add versioning, a very ubiquitous concern, into the mix… By the way, if you really just need to fetch the latest source tree for a GitHub project, you don't even need a local Git client. Just click the big »ZIP« button (taking you e.g. to https://github.com/D-Programming-Language/phobos/zipball/master) – works for branches and tags as well. David
May 24 2012
On 5/24/2012 7:43 AM, David Nadlinger wrote:By the way, if you really just need to fetch the latest source tree for a GitHub project, you don't even need a local Git client. Just click the big »ZIP« button (taking you e.g. to https://github.com/D-Programming-Language/phobos/zipball/master) – works for branches and tags as well.It's still multiple steps.
May 24 2012
Anyone want to implement such? It ought to be fairly straightforward, and will be a nice timesaver for a lot of people.https://gist.github.com/2786276 usage: rdmd dget dsimcha/TempAlloc libevent
May 25 2012
On 5/25/2012 1:32 AM, Martin Nowak wrote:Holy Mackerel! I'm going to give it a try.Anyone want to implement such? It ought to be fairly straightforward, and will be a nice timesaver for a lot of people.https://gist.github.com/2786276 usage: rdmd dget dsimcha/TempAlloc libevent
May 25 2012
On 5/25/2012 1:32 AM, Martin Nowak wrote:How about slapping a Boost license on it and creating a pull request for: https://github.com/D-Programming-Language/tools ?Anyone want to implement such? It ought to be fairly straightforward, and will be a nice timesaver for a lot of people.https://gist.github.com/2786276 usage: rdmd dget dsimcha/TempAlloc libevent
May 25 2012
On Sat, 26 May 2012 03:35:13 +0200, Walter Bright <newshound2 digitalmars.com> wrote:On 5/25/2012 1:32 AM, Martin Nowak wrote:I will do that after some cleanup.How about slapping a Boost license on it and creating a pull request for: https://github.com/D-Programming-Language/tools ?Anyone want to implement such? It ought to be fairly straightforward, and will be a nice timesaver for a lot of people.https://gist.github.com/2786276 usage: rdmd dget dsimcha/TempAlloc libevent
May 26 2012
On 5/26/2012 3:04 PM, Martin Nowak wrote:On Sat, 26 May 2012 03:35:13 +0200, Walter Bright <newshound2 digitalmars.com> wrote:Great!On 5/25/2012 1:32 AM, Martin Nowak wrote:I will do that after some cleanup.How about slapping a Boost license on it and creating a pull request for: https://github.com/D-Programming-Language/tools ?Anyone want to implement such? It ought to be fairly straightforward, and will be a nice timesaver for a lot of people.https://gist.github.com/2786276 usage: rdmd dget dsimcha/TempAlloc libevent
May 26 2012
On Saturday, 26 May 2012 at 22:04:34 UTC, Martin Nowak wrote:On Sat, 26 May 2012 03:35:13 +0200, Walter Bright <newshound2 digitalmars.com> wrote:I saw your comment in the code: // doesn't work because it already timeouts after 2 minutes // return get!(HTTP, ubyte)(); You can actually set timeouts using the get function by providing the HTTP instance as a second parameter to get() e.g.: auto client = HTTP(); client.dataTimeout = dur!"seconds"(100000); auto data = get!(HTTP,ubyte)("www.dlang.org", client); /JonasOn 5/25/2012 1:32 AM, Martin Nowak wrote:I will do that after some cleanup.How about slapping a Boost license on it and creating a pull request for: https://github.com/D-Programming-Language/tools ?Anyone want to implement such? It ought to be fairly straightforward, and will be a nice timesaver for a lot of people.https://gist.github.com/2786276 usage: rdmd dget dsimcha/TempAlloc libevent
May 27 2012
You can actually set timeouts using the get function by providing the HTTP instance as a second parameter to get() e.g.: auto client = HTTP(); client.dataTimeout = dur!"seconds"(100000); auto data = get!(HTTP,ubyte)("www.dlang.org", client); /JonasGood to know, thanks. I used the chance to add progress output and gathered the data in an appender rather than doing array cat.
May 29 2012
Le mercredi 23 mai 2012 =C3=A0 16:14 -0700, Walter Bright a =C3=A9crit :Currently, getting D code from github is a multistep process, that isn't =always=20obvious. I propose the creation of a dget program, which will: =20 dget https://github.com/D-Programming-Deimos/libevent =20 download the libevent code and install it in a subdirectory named libeven=t. Of=20course, the url could also be: =20 dget github.com/D-Programming-Deimos/libevent =20 since https is assumed, or: =20 dget D-Programming-Deimos/libevent =20 since github is assumed. And since Deimos is a known library, =20 dget libevent =20 can also be hardwired into dget. =20 Anyone want to implement such? It ought to be fairly straightforward, and=will=20be a nice timesaver for a lot of people.yes it is a feature i wish to add but the repository should be always the same or by a config file understand where is the source code (root of dir in src dir ...), if it is a lib, a desktop application, a web application (which vied, serenity ..), detect dependencies i have start a little project for build common D project (80% of use case) https://github.com/organizations/dbuilder-developers this tool could in more download and build/install easilly if you put at root of the github repo a config file (example of config file supported https://github.com/dbuilder-developers/dbuilder/blob/master/examples/dbuild= er.cfg ) Any help are welcome, this tool goal to be easy to use $ dbuilder get xxx // not implemented $ dbuilder build $ dbuilder install in more from command line you can override value in config file Sorry for my english=20 )
May 26 2012
On Saturday, 26 May 2012 at 08:52:07 UTC, bioinfornatics wrote:Le mercredi 23 mai 2012 Ă 16:14 -0700, Walter Bright a Ă©crit :I will try it of you can write a documentations for dumbs. What do each variable in the config file? What variables are required or not ? For example what the hell is "job" var ?? Put a working example not a skeleton config file.Currently, getting D code from github is a multistep process, that isn't always obvious. I propose the creation of a dget program, which will: dget https://github.com/D-Programming-Deimos/libevent download the libevent code and install it in a subdirectory named libevent. Of course, the url could also be: dget github.com/D-Programming-Deimos/libevent since https is assumed, or: dget D-Programming-Deimos/libevent since github is assumed. And since Deimos is a known library, dget libevent can also be hardwired into dget. Anyone want to implement such? It ought to be fairly straightforward, and will be a nice timesaver for a lot of people.yes it is a feature i wish to add but the repository should be always the same or by a config file understand where is the source code (root of dir in src dir ...), if it is a lib, a desktop application, a web application (which vied, serenity ..), detect dependencies i have start a little project for build common D project (80% of use case) https://github.com/organizations/dbuilder-developers this tool could in more download and build/install easilly if you put at root of the github repo a config file (example of config file supported https://github.com/dbuilder-developers/dbuilder/blob/master/e amples/dbuilder.cfg ) Any help are welcome, this tool goal to be easy to use $ dbuilder get xxx // not implemented $ dbuilder build $ dbuilder install in more from command line you can override value in config file Sorry for my english )
May 30 2012
Le mercredi 30 mai 2012 =C3=A0 13:04 +0200, Zardoz a =C3=A9crit :On Saturday, 26 May 2012 at 08:52:07 UTC, bioinfornatics wrote::Le mercredi 23 mai 2012 =C3=A0 16:14 -0700, Walter Bright a =C3=A9crit =uilder.cfg=20Currently, getting D code from github is a multistep process,=20 that isn't always obvious. I propose the creation of a dget=20 program, which will: =20 dget https://github.com/D-Programming-Deimos/libevent =20 download the libevent code and install it in a subdirectory=20 named libevent. Of course, the url could also be: =20 dget github.com/D-Programming-Deimos/libevent =20 since https is assumed, or: =20 dget D-Programming-Deimos/libevent =20 since github is assumed. And since Deimos is a known library, =20 dget libevent =20 can also be hardwired into dget. =20 Anyone want to implement such? It ought to be fairly=20 straightforward, and will be a nice timesaver for a lot of=20 people.yes it is a feature i wish to add but the repository should be=20 always the same or by a config file understand where is the source=20 code (root of dir in src dir ...), if it is a lib, a desktop application,=20 a web application (which vied, serenity ..), detect dependencies i have start a little project for build common D project (80%=20 of use case) https://github.com/organizations/dbuilder-developers this tool could in more download and build/install easilly if=20 you put at root of the github repo a config file (example of config file=20 supported https://github.com/dbuilder-developers/dbuilder/blob/master/examples/db=Right i will do this) Any help are welcome, this tool goal to be easy to use $ dbuilder get xxx // not implemented $ dbuilder build $ dbuilder install in more from command line you can override value in config file Sorry for my english )=20 I will try it of you can write a documentations for dumbs. What=20 do each variable in the config file? What variables are required=20 or not ? For example what the hell is "job" var ?? Put a working example=20 not a skeleton config file. =20
Jun 06 2012