code: func splitCpArg(arg string) (container, path string) {
  	if system.IsAbs(arg) {
  		// Explicit local absolute path, e.g., `C:\foo` or `/foo`.
  		return "", arg
  	}
  
  	parts := strings.SplitN(arg, ":", 2)
  
  	if len(parts) == 1 || strings.HasPrefix(parts[0], ".") {
  		// Either there's no `:` in the arg
  		// OR it's an explicit local relative path like `./file:name.txt`.
  		return "", arg
  	}
  
  	return parts[0], parts[1]
  }
docs: // We use `:` as a delimiter between CONTAINER and PATH, but `:` could also be
  // in a valid LOCALPATH, like `file:name.txt`. We can resolve this ambiguity by
  // requiring a LOCALPATH with a `:` to be made explicit with a relative or
  // absolute path:
  // 	`/path/to/file:name.txt` or `./file:name.txt`
  //
  // This is apparently how `scp` handles this as well:
  // 	http://www.cyberciti.biz/faq/rsync-scp-file-name-with-colon-punctuation-in-it/
  //
  // We can't simply check for a filepath separator because container names may
  // have a separator, e.g., "host0/cname1" if container is in a Docker cluster,
  // so we have to check for a `/` or `.` prefix. Also, in the case of a Windows
  // client, a `:` could be part of an absolute Windows path, in which case it
  // is immediately proceeded by a backslash.