On 2013-01-17, Robert Bradshaw <rober...@math.washington.edu> wrote:
> On Wed, Jan 16, 2013 at 11:17 PM, Dima Pasechnik <dimp...@gmail.com> wrote:
>> On 2013-01-17, Robert Bradshaw <rober...@gmail.com> wrote:
>>> On Wed, Jan 16, 2013 at 6:13 PM, Dima Pasechnik <dimp...@gmail.com> wrote:
>>>> On 2013-01-16, Volker Braun <vbraun.n...@gmail.com> wrote:
>>>>> ------=_Part_588_6290856.1358340327889
>>>>> Content-Type: text/plain; charset=ISO-8859-1
>>>>>
>>>>> I guess there are at least two different meanings of "the Sage tarball" in
>>>>> this context. I was talking about the sum of all code checked into the 
>>>>> Sage
>>>>> repositories, which is what one would usually call the release. And the
>>>>> third party code is not going to be part of the git repo under the current
>>>>> proposal.
>>>>
>>>> I don't see how this would be an improvement as far as 3rd party code spkgs
>>>> maintainance/updating is concerned. Are you saying it stays under the
>>>> same ugly patchquilt model?
>>>> Or everyone rolls his/her own spkg repos on bitbucket or github or
>>>> whatever (as you do for libGAP)?
>>>>
>>>> Mind you, when I worked on the latest Maxima update (#13364), I had to do 
>>>> git
>>>> bisect on *Maxima* repo to debug *Sage*, and then apply the results of this
>>>> investigation to stripped of .git/ Maxima source tree, for which I did not
>>>> have an exact mapping back to Maxima repo.
>>>> It goes without saying that this is rather ad hoc, error-prone, etc etc.
>>>> And then, when Sage patches (which are often experimental upstream's 
>>>> patches)
>>>> for the spkg are merged upstream, a similar
>>>> error-prone manual labour toil, sweat, and tears will be needed...
>>>
>>> Expanding on http://wiki.sagemath.org/WorkflowSEP one would have
>>>
>>> sage_root/
>>>     sage          # the binary
>>>     Makefile      # top level Makefile
>>>     (configure)   # perhaps, eventually
>>>     ...           # other standard top level files (README, etc.)
>>>     build/
>>>         core/     # sage's build system/bootstrapping
>>>         pkgs/     # install, patch, and metadata from spkgs
>>>             maxima/
>>>                 pacakge_manager_file # emerge or whatever, would point
>>> to some upstream source, patch1.diff, etc.
>>>                 patch1.diff
>>>                 ...
>>>         ...
>>>
>>> A single commit would remove create patch1.diff and modify
>>> pacakge_manager_file to use it, when patch1.diff is merged upstream,
>>> we would do another commit to point pacakge_manager_file to the newer
>>> upstream and remove patch1.diff. Here "upstream" is ideally an
>>> upstream-provided src tarball (though we might distribute it
>>> ourselves) and relating that to whatever revision control system they
>>> use is out of scope.
>>
>> This still looks like an ugly hack. Shouldn't  we rather use something like
>> [git-subtree] (https://github.com/apenwarr/git-subtree/)
>> to deal with upstream source?
>
> That would only work for upstream projects in git, and it requires
> importing the entire upstream into our repository. 

No, not really. You can do git clone --depth 1 (well, assuming this
works with git-subtree) for spkgs you only build, but not hack on.

Perhaps we should rather switch to darcs, with its "lazy checkouts" ;-)

> I think it might make more sense for something like sagenb than maxima
> too. It does have its advantages, and would be possible in the new
> model, but would yield an absolutely enormous repository. 

as I said, in git you can control how much history you get. 

> It would also dis-incentivize
> us to submit patches upstream.

Why? It would make it super-easy, actually (as far as my limited
understanding of git-subtree goes).

> In any case, the first pass would be getting git to work without
> integrating the spkgs.
>
> - Robert
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To post to this group, send email to sage-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-devel+unsubscr...@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel?hl=en.


Reply via email to