charleso/git-cc — Issue #9: Some files cause rebase to abort
Author: eis
Created: 2012-01-26 09:49:52+00:00
State: open

Background: in our clearcase repository we have files that presumably have so long file names/paths that they cause issues with clearcase. It would seem those files load fine in some other OS's, but not on windows. Since we use windows workstations for developing and linux servers on actual deployment, this hasn't been seen that big of an issue.

However, now trying to use git-cc to get cc stuff to git, and these files are causing the whole process to abort (which lasts several days to begin with - our repo is quite big). Can we somehow ignore such files, or skip to next one? There is only a handful of those anyway.

Error message below. I've edited the file name/path to protect the innocent, but the length is the same. the file name has to be that long due to framework requirements.

> git tag -f master_ci master_cc
Traceback (most recent call last):
File "/cygdrive/c/versioncontrol/git-cc/gitcc", line 48, in
main()
File "/cygdrive/c/versioncontrol/git-cc/gitcc", line 14, in main
return invoke(cmd, args)
File "/cygdrive/c/versioncontrol/git-cc/gitcc", line 38, in invoke
cmd.main(*args)
File "/cygdrive/c/versioncontrol/git-cc/rebase.py", line 52, in main
doStash(lambda: doCommit(cs), stash)
File "/cygdrive/c/versioncontrol/git-cc/common.py", line 39, in doStash
f()
File "/cygdrive/c/versioncontrol/git-cc/rebase.py", line 52, in
doStash(lambda: doCommit(cs), stash)
File "/cygdrive/c/versioncontrol/git-cc/rebase.py", line 63, in doCommit
commit(cs)
File "/cygdrive/c/versioncontrol/git-cc/rebase.py", line 146, in commit
cs.commit()
File "/cygdrive/c/versioncontrol/git-cc/rebase.py", line 183, in commit
file.add(files)
File "/cygdrive/c/versioncontrol/git-cc/rebase.py", line 209, in add
self._add(self.file, self.version)
File "/cygdrive/c/versioncontrol/git-cc/rebase.py", line 216, in _add
cc_exec(['get','-to', toFile, cc_file(file, version)])
File "/cygdrive/c/versioncontrol/git-cc/common.py", line 51, in cc_exec
return popen('cleartool', cmd, CC_DIR, **args)
File "/cygdrive/c/versioncontrol/git-cc/common.py", line 61, in popen
raise Exception((stderr + stdout).decode(ENCODING))
Exception: cleartool: Error: //?/C:/versioncontrol/ourprojectpath/applications/long/path/long/path/long/path/long/path/long/path/long/path/long/path/long/path/long/path/long/path/long/path/long/path/long/path/filename.long0000000000000000000000000000000000000000000000000000000000000000.jsp: No such file or directory

cleartool: Error: Operation "file copy" failed: No such file or directory.