tomheon/git_by_a_bus

filename too long on OS-X in developer list HTML.

slippycheeze opened this issue · 7 comments

G'day. Trying to run this over our large projects (puppet and factor) here at Puppet Labs gave me a failure on OS-X:

IOError: [Errno 63] File name too long: "/Users/daniel/Sites/bus/devs/Brice Figureau and Daniel Pittman and David Schmitt and James Turnbull and Jeroen van Meeuwen and Jesse Wolfe and John Ferlito and Matt Robinson and Michael V. O'Brien and Nigel Kersten and Paul Nasrat and Stig Sandbeck Mathisen and ballman and lutter.html"

I took a look through the code to identify where the filname was calculated, but couldn't isolate it easily; it would be nice to limit that name string (and probably others) to < 255 characters total to support the less than capable platform.

Incidentally, running the summary on this machine used ~ 6GB of RAM and 30 CPU minutes, so you might want to test this on something smaller...

Thanks for the bug report.

Both of these (the time / memory used and the file name issue) are addressed in v2, which is nearing completion. I'll put a quick patch in to handle the name issue in v1 this weekend, but the scalability issue is a consequence of the naive design of v1, which was written around our "many small repos" environment here, and not easily patched.

Seriously, "wait for V2" would be fine by me. I would like to run this more than once, and the performance makes that hard to justify at the moment. So, let me know when the new version lands, and close the ticket then?

Will do.

I also get this error, in Fedora 17:

$ python git_by_a_bus.py MonoGame/
Traceback (most recent call last):
  File "/home/david/Downloads/tomheon-git_by_a_bus-51bc342/summarize.py", line 424, in <module>
    create_summary(sys.stdin, args[0], departed_devs)
  File "/home/david/Downloads/tomheon-git_by_a_bus-51bc342/summarize.py", line 411, in create_summary
    create_dev_pages(aggs, output_dir, departed_devs)
  File "/home/david/Downloads/tomheon-git_by_a_bus-51bc342/summarize.py", line 382, in create_dev_pages
    (fname_agg, 'Files', parent_linker(fname_fname))], dev_custom)
  File "/home/david/Downloads/tomheon-git_by_a_bus-51bc342/summarize.py", line 325, in create_detail_pages
    create_detail_page(detail, noun, vt_args, outfile_name, custom_lines_f)
  File "/home/david/Downloads/tomheon-git_by_a_bus-51bc342/summarize.py", line 312, in create_detail_page
    outfil = open(fname, 'w')
IOError: [Errno 36] File name too long: '/home/david/Downloads/tomheon-git_by_a_bus-51bc342/output/devs/CartBlanche and Christian Zangl and Dean Ellis and Dominique Louis and Geoff Norton and Javier Fernandez and Nicolas Coderre and SND\\CartBlanche_cp and SND\\brain83_cp and SND\\kelthar_cp and SND\\taskbit_cp and Scott Dancer and Steve Williams and dellis1972.html'

I'm just going to give v2 a shot. :)

Hey @oddshocks, finally getting close to having something for v2! Loooong hiatus there with a job change etc. But a couple weeks and v2 should be ready to go.

Good to hear, @tomheon. I was just about to say that I tried it with v2 and had the same problem. We're currently using gbab in an undergraduate research fellowship at RIT under Red Hat. Awesome stuff!

Any news on when v2 will be completed?