On 5/25/10 2:56 PM, William A. Stein wrote:




On May 25, 2010, at 12:30 PM, Jason Grout<jason-s...@creativetrax.com>  wrote:

On 5/25/10 2:01 PM, Robert Bradshaw wrote:
On May 25, 2010, at 11:50 AM, William Stein wrote:



Having info about patches is a good idea. I'm definitely not
convinced SPKG.txt is the right place for it. I would install propose
something *like* for every patch foo, having a file foo.wtf (or
something) in patches/ that explains the patch. E.g.,


$ cd patches
$ ls
foo foo.patch foo.wtf


The file foo.wtf would document why foo is done. Doing things like
this will greatly increase the chances that docs are updated when they
should be. This is similar to having docstrings in functions, instead
of some other distant place.

I actually think that this will make it less likely to get looked at and
appropriately cleaned up when versions are bumped. When I'd go to
SPKG.txt to update the version information, I would see "Version x.y.z,
with these patches: ..." and if there are notes about stuff being fixed
upstream, I'd take care of it then, rather than having to look at each
patch/about file individually.


+1 to Robert's comments.  Already, I don't ever make or use foo.patch files 
anymore because they are completely redundant

Interesting.  If I remember correctly, you and I had a long discussion about 
those patch files, in which I was totally against them, and you argued for 
them.   I think they are there now mostly because of you.  I'm still against 
them and consider them a waste of time, just like the log in SPKG.txt.   I am 
glad we now agree.


Yes. I (and at least one other developer that refused to work on spkgs while we didn't use the standard "distribute patch files" method) argued that we should only have patch files, while you and Michael argued that we should only have the actual patched files. I've learned to deal with it now, and the three-way merging step makes the patch file largely unnecessary, though it's still an extra step and hassle to figure out exactly what file under src/ a patched file in patches/ corresponds to. If we just distributed patch files, that information would be contained in the patch, automating yet one more mindless tedious thing that takes time and resources.

In fact, I believe we (you?) proposed adding a foo.file file as well that would just contain the file path to the file that foo patched. I worked up a shell script to automatically apply patched files based on that, but alas, the foo.file file never caught on...



and one more easily-forgotten step to make (they should be totally automated if 
they are required).  If we added foo.why files (I think 'why' is a nicer 
extension :), that would just add a layer of complexity onto the updating 
process.  So +1 to having all of the necessary instructions/metadata for 
updating an spkg right in the SPKG.txt file.

There is a layer of complexity with either approach.   One puts the 
instructions next to the file being patched, and one puts them in a separate 
file.   It's just like putting docs in docstrings versus the Sage Constructions 
Guide.


I agree that both solutions require work. The layer of complexity I was talking about was the needing to open yet more files to make sure that you covered all of your bases in updating an spkg. It seems much easier to have all the necessary information in one place (easier to remember, find, and update).

Thanks,

Jason

--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to