diff options
author | Sven Verdoolaege <Sven.Verdoolaege@cs.kuleuven.ac.be> | 2005-06-19 00:31:15 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-18 15:38:23 -0700 |
commit | deb153a75ae1f5eca628a38b911474a69edd242d (patch) | |
tree | 95fb2d4ba95e53ec42f3489d4838dd3a482c4637 /cvs2git.c | |
parent | 28342a5d328fa11829dbe883837e21e08dd83388 (diff) | |
download | git-deb153a75ae1f5eca628a38b911474a69edd242d.tar.gz |
[PATCH] cvs2git and file permissions
git-cvs2git: propagate mode information
Let cvs checkout in a temporary directory rather than
using the pipe option to avoid loss of mode information.
Signed-off-by: Sven Verdoolaege <skimo@liacs.nl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'cvs2git.c')
-rw-r--r-- | cvs2git.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -193,7 +193,10 @@ static void update_file(char *line) if (dir) printf("mkdir -p %.*s\n", (int)(dir - name), name); - printf("cvs -q -d %s checkout -r%s -p '%s/%s' > '%s'\n", cvsroot, version, cvsmodule, name, name); + printf("cvs -q -d %s checkout -d .git-tmp -r%s '%s/%s'\n", + cvsroot, version, cvsmodule, name); + printf("mv -f .git-tmp/%s %s\n", dir ? dir+1 : name, name); + printf("rm -rf .git-tmp\n"); printf("git-update-cache --add -- '%s'\n", name); } |