Table of Contents

Command Line Submit

The submit command allows students to submit files as part of an assignment. Use the submit command on any EECS tech-managed Linux system like this:

% submit [-l] course assignment file [file ...]
% submit -l course assignment

The name of the course and assignment is up to the professor and will be provided by them. If you use the -l option, you will get back a list of all files that you submitted for the assignment. With the “-l” option, you can also choose not to specify any files to be submitted. In this case, the program will simply list out all files that you have previously submitted.

At least one file must be submitted, but any number of files may be submitted. If the same file is submitted twice, then the latest file will overwrite the old one. Only the name of the file, not the directory of the file will be used when determining if you are overwriting an old file. For example, if you submit dir1/a1.c, then submit dir2/a1.c, then the second submission will overwrite the first. In other words, there will only be one copy of a1.c submitted. However, if you submit dir1/a1.c and dir2/a2.c, then two files, a1.c and a2.c will be submitted.

You can also submit a directory. For example, if you have a directory called a1 containing part1/x.c, part2/x.c, and part2/y.c, then if “a1” is submitted, the whole directory structure starting at a1 will be submitted. The structure will be preserved (a1/part2/x.c will not overwrite a1/part1/x.c). Any path leading to the original directory will be discarded. For example, if the above directory was located at “/eecs/home/user/a1” and “/eecs/home/user/a1” was submitted, only the “a1” directory would be created with its contents, not “/eecs/home/user”.

If a file is submitted successfully, then a message will be printed for each file stating that it has been successful, and the size of the file that was submitted. If a file cannot be submitted successfully, then an error message will be printed, and no part of that submission will remain in the submission area. If you are submitting multiple files and one of them fails, the program will not process any further files, but any files submitted successfully up until that point will remain submitted.

Once you have submitted a file, you cannot take it back.

Video Tutorial

Click here for a video tutorial on using submit.

Diagnostics

If you receive an error message from the submit command, you can find details on what it means here:

cannot find submit directory … make path too long - Some combination of the course, assignment, and user's login name result in a path that is too long for submit to follow. Check to see that the course and assignment name are both correct. Instructors: if possible, use a shorter assignment name. You will generally not see this error unless you are nesting assignments in subdirectories.

could not execute check program … - The submit program located the check program but could not execute it for some reason. The most likely reason for failure is improper permissions on the check program.

cannot find source … - A file specified on the command-line cannot be found.

will not submit `.' or `..' - specify full path to directory - If a directory you specify on the command line has a name of . or .. then submit will fail with this message. This is prevent problems that may occur if you try to submit .*“ which will submit many files that you do not want to submit. The best way to submit a directory is to specify the full path to the directory (e.g. if you are in the directory /eecs/home/joe/cosc9999/a1/ use the full name: `submit cosc9999 a1 /eecs/home/joe/cosc9999/a1').

cannot read directory … - Either a directory you specified on the command-line, or the subdirectory of a directory you specified on the command-line, cannot be read. Check your arguments and the permissions on the directory in question.

cannot submit file/directory … name too long - The path that is trying to be submitted (combined with the path to the submit directory) is too long. This is usually only a problem if you have several nested subdirectories. Try flattening your directory structure or submit the individual files rather than the directories.

cannot create destination directory - You are trying to submit a directory but submit cannot create that directory in the submit directory. In general practice this should not happen. If you encounter this error, please report it and the circumstances under which it happened.

source … is neither a file nor a directory - You are trying to submit something which is neither a file nor a directory (e.g. a pipe, a socket, a device). Only files and directories can be submitted.

cannot write file … - The submit program could not create the submitted file. In general practice this should not happen. If you encounter this error, please report it and the circumstances under which it happened.

copy of file … failed - The submit program created the file to be submitted in the submit directory but was unable to finish writing to it. The only practical reason this should occur is if the disk on which the submit directories reside runs out of space.

read of file … failed - The submit program found and opened the file you are trying to submit but failed to read all of the data from it. In general practice this should not happen. If you encounter this error, please report it and the circumstances under which it happened.

course directory for … does not exist - The submit program cannot find the directory for the given course, which is expected to be /cs/course/xxxx, where xxxx” is the course name specified on the command-line.

course … has no submit directory - The submit program has found the directory for the given course but cannot find the submit directory. Double check the arguments you specified on the command-line. If these are correct, then either the directory has not been setup, or its permissions are wrong.

course … has no submit directory for assignment … - There is no accessible submit directory for the given assignment. Double check the arguments you specified on the command-line. If these are correct, then either the directory has not been setup, or its permissions are wrong.

files may not be submitted for course …, assignment … The submit directory exists for this assignment, but the permissions have been set to disallow submissions. Contact your instructor for further information.

I can't figure out who you are - The submit program cannot determine your login name. In general practice this should never happen. If you encounter this error, please report it and the circumstances under which it happened.

invalid submission entry for … - contact your professor - There is either a problem with the submit directory or submissions for your account have been disabled. Contact your instructor for further information.

submitted: … (… bytes) - This message indicates that a file has been successfully submitted. This message is only printed once all data has been successfully written to the destination.