Sam Vilain <sam@xxxxxxxxxx> wrote: > Hey folks, this is the first stage of git mirroring ... > Also there is the matter of falling over to the next mirror should one > not be reachable, but then we're getting into C weaknesses really. > Should I plan to do exception recovery using 'longjmp' ? Please don't use longjmp. You'll have to change the code to not die() upon connection failure, but instead return an error code to the higher level which can locate another mirror and retry. > Also the > process should be interruptible and provide a user menu. Again this > seems like it would be very tedious and clumsy in C. How do people > manage? With great pain. :-) To do a user menu you can do a simple interface like `git add -i` does, which just dumps the choices to stdout and a prompt for the user to enter their selection. If you want something more complex you need to link to curses or ncurses, which IIRC opens some issues with portablity, but lets you do a bit nicer interface on the tty. -- Shawn. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html