[racket-dev] Hacking on the collects

2010-12-06 Thread Jakub Piotr Cłapa
I added support for secure websockets to net/websocket/client and now I 
am wondering how I should make such changes in th future to easily 
integrate them back into racket?


What I have tried:
1. Fork racket on github
2. Make a local copy
3. Compile everything fro scratch
4. Wait and awful lot of time
4. Change the file in collects
5. Run make install
6. Wait another awful lot of time for raco setup to recomplie everything
7. Test the changes
8. I was planning to create a pull request on github

Is there a easier/faster way? Or should I just develop in the live 
collects tree and then endure the raco setup once for final testing?


Thanks for any suggestions.

--
regards,
Jakub Piotr Cłapa
_
 For list-related administrative tasks:
 http://lists.racket-lang.org/listinfo/dev

Re: [racket-dev] Hacking on the collects

2010-12-06 Thread Sam Tobin-Hochstadt
On Mon, Dec 6, 2010 at 12:04 PM, Jakub Piotr Cłapa jpc...@zenburn.net wrote:
 I added support for secure websockets to net/websocket/client and now I am
 wondering how I should make such changes in th future to easily integrate
 them back into racket?

 What I have tried:
 1. Fork racket on github
 2. Make a local copy
 3. Compile everything fro scratch
 4. Wait and awful lot of time
 4. Change the file in collects
 5. Run make install
 6. Wait another awful lot of time for raco setup to recomplie everything
 7. Test the changes
 8. I was planning to create a pull request on github

 Is there a easier/faster way? Or should I just develop in the live
 collects tree and then endure the raco setup once for final testing?

Here are two things that I do:

(a) hack on the live collects
(b) just rerun 'raco setup' on the relevant collections (it takes
collection arguments on the command line)
(c) use the -D argument to 'setup' to skip rebuilding the documentation
(d) sometime, I don't rerun 'raco setup' at all, I just rely on
running from source.  This is slower to run, but avoid the setup time.

Of course, you should run setup on the whole tree before requesting a
pull or submitting a patch, but skipping the intermediate slowness
helps a lot.
-- 
sam th
sa...@ccs.neu.edu
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Re: [racket-dev] Hacking on the collects

2010-12-06 Thread Sam Tobin-Hochstadt
On Mon, Dec 6, 2010 at 12:16 PM, Jay McCarthy jay.mccar...@gmail.com wrote:

 If you do a pull request on github, it will not be useful because github is
 a mirror and I'll just need to get the patch some other way anyways. I'd
 rather you sent the patch directly to me.

This isn't quite right.  As Eli explained (I think on this list), it's
easy to merge from a separate github repository.  I find it easier
than fiddling with the git patch management commands.
-- 
sam th
sa...@ccs.neu.edu
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Hacking on the collects

2010-12-06 Thread Jay McCarthy
I've done it and it wasn't as nice as getting a patch.

Jay

On Mon, Dec 6, 2010 at 10:19 AM, Sam Tobin-Hochstadt sa...@ccs.neu.eduwrote:

 On Mon, Dec 6, 2010 at 12:16 PM, Jay McCarthy jay.mccar...@gmail.com
 wrote:
 
  If you do a pull request on github, it will not be useful because github
 is
  a mirror and I'll just need to get the patch some other way anyways. I'd
  rather you sent the patch directly to me.

 This isn't quite right.  As Eli explained (I think on this list), it's
 easy to merge from a separate github repository.  I find it easier
 than fiddling with the git patch management commands.
 --
 sam th
 sa...@ccs.neu.edu




-- 
Jay McCarthy j...@cs.byu.edu
Assistant Professor / Brigham Young University
http://faculty.cs.byu.edu/~jay

The glory of God is Intelligence - DC 93
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Re: [racket-dev] Hacking on the collects

2010-12-06 Thread Jakub Piotr Cłapa

On 06.12.10 18:16, Jay McCarthy wrote:

I develop in the same git clone that I use. If I change collect X, I
test after running raco setup X and once I'm satisfied. I run raco
setup to see if other things were affected. I then run tests on things
other than X that I know depend on it. Then I push.


Does that require symlinking the collects from the git repo to the 
installation folder or it just means that you do not run make install at 
all?



If you do a pull request on github, it will not be useful because github
is a mirror and I'll just need to get the patch some other way anyways.
I'd rather you sent the patch directly to me. [Because the websockets
stuff is code I maintain.]


Ok. I already did the pull request [1] but I have no problem with 
sending a patch.
Btw. I guess that to make a good patch I should try to update the 
documentation as well?


[1]: https://github.com/plt/racket/pull/3

Direct link to the diff:
https://github.com/jpc/racket/commit/45441054bc0dbd8ad6fc05f2ae2eb135830a9b02

--
regards,
Jakub Piotr Cłapa
_
 For list-related administrative tasks:
 http://lists.racket-lang.org/listinfo/dev

Re: [racket-dev] Hacking on the collects

2010-12-06 Thread Eli Barzilay
7 minutes ago, Jakub Piotr Cłapa wrote:
 On 06.12.10 18:16, Jay McCarthy wrote:
  I develop in the same git clone that I use. If I change collect X,
  I test after running raco setup X and once I'm satisfied. I run
  raco setup to see if other things were affected. I then run
  tests on things other than X that I know depend on it. Then I
  push.
 
 Does that require symlinking the collects from the git repo to the
 installation folder or it just means that you do not run make
 install at all?

You can just run a build in the working directory.


  If you do a pull request on github, it will not be useful because
  github is a mirror and I'll just need to get the patch some other
  way anyways.  I'd rather you sent the patch directly to
  me. [Because the websockets stuff is code I maintain.]
 
 Ok. I already did the pull request [1] but I have no problem with
 sending a patch.  Btw. I guess that to make a good patch I should
 try to update the documentation as well?

Yes -- and tests too.

-- 
  ((lambda (x) (x x)) (lambda (x) (x x)))  Eli Barzilay:
http://barzilay.org/   Maze is Life!
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev