Hi,
I am trying to track a cvs project using git. The idea is to use cvsimport to update my
local git copy and make my changes in a separate branch. But for some reason after
cvsimport the last update of cvs repository is not reflected in git. I have made a small
script to test this behavior and am able to reproduce is consistently. I am working on
FreeBSD 6.0-RELEASE, git version 1.2.4 and cvsps version 2.1
The first script is to init a cvs repository, add 3 files and cvsimport it into git
repository, before which I remove the all directories and .cvsps
raj@beastie:~$ cat git_init.sh
export CVSROOT=/home/raj/cvsroot
rm -rf cvsroot/ git/ src/ /home/raj/.cvsps
mkdir cvsroot git src
cvs init
cd src/
echo "Line one" > file.txt
echo "Line one" > file1.txt
echo "Line one" > file2.txt
cvs import -m "Imported sources" src start realstart
cd ..
rm -rf src/
cvs co src
git cvsimport -v -d /home/raj/cvsroot -C git/ src
on executing:
N src/file.txt
N src/file1.txt
N src/file2.txt
No conflicts created by this import
cvs checkout: Updating src
U src/file.txt
U src/file1.txt
U src/file2.txt
cvs_direct initialized to CVSROOT /home/raj/cvsroot
cvs rlog: Logging src
Fetching file.txt v 1.1
New file.txt: 9 bytes
Fetching file1.txt v 1.1
New file1.txt: 9 bytes
Fetching file2.txt v 1.1
New file2.txt: 9 bytes
Tree ID b75643d0deaa77018b4dbaa2ff81756c4c1bebc1
Committed patch 1 (origin 2006-03-04 07:37:59)
Committing initial tree b75643d0deaa77018b4dbaa2ff81756c4c1bebc1
Commit ID e800fd633e319b9a0b4c351f2964a03abf96b6e2
Fetching file.txt v 1.1.1.1
Update file.txt: 9 bytes
Fetching file1.txt v 1.1.1.1
Update file1.txt: 9 bytes
Fetching file2.txt v 1.1.1.1
Update file2.txt: 9 bytes
Tree ID b75643d0deaa77018b4dbaa2ff81756c4c1bebc1
Parent ID e800fd633e319b9a0b4c351f2964a03abf96b6e2
Committed patch 2 (start 2006-03-04 07:37:59)
Commit ID 21bd067b19310d11790e99ad421de6611b942fbd
Created tag 'realstart' on 'start'
DONE; creating master branch
Now edit two files, commit cvs and cvsupdate again.
raj@beastie:~$ cat git_test.sh
export CVSROOT=/home/raj/cvsroot
cd src/
echo "Line two" >> file.txt
echo "Line two" >> file1.txt
cvs commit -m "v2.0"
cd ..
git cvsimport -v -d /home/raj/cvsroot -C git/ src
cd git
git status
cd ..
echo cat git/file.txt
cat git/file.txt
echo cat src/file.txt
cat src/file.txt
on executing:
cvs commit: Examining .
Checking in file.txt;
/home/raj/cvsroot/src/file.txt,v <-- file.txt
new revision: 1.2; previous revision: 1.1
done
Checking in file1.txt;
/home/raj/cvsroot/src/file1.txt,v <-- file1.txt
new revision: 1.2; previous revision: 1.1
done
cvs_direct initialized to CVSROOT /home/raj/cvsroot
cvs rlog: Logging src
skip patchset 1: 1141457879 before 1141457879
skip patchset 2: 1141457879 before 1141457879
Switching from master to origin
Fetching file.txt v 1.2
Update file.txt: 18 bytes
Fetching file1.txt v 1.2
Update file1.txt: 18 bytes
Tree ID 18d855d5b825ef1c0ecb9d26591e654cbe5c21df
Parent ID e800fd633e319b9a0b4c351f2964a03abf96b6e2
Committed patch 3 (origin 2006-03-04 07:39:35)
Commit ID 6e7129d186834d5b2941e78c1c67c5255f868e12
DONE
#
# Updated but not checked in:
# (will commit)
#
# modified: file.txt
# modified: file1.txt
#
cat git/file.txt
Line one
cat src/file.txt
Line one
Line two
As you can see the git/file.txt and src/file.txt are different. I have tried my best to
read all documentation and follow them faithfully and I hope I am not making any obviously
stupid mistake.
raj
-
: 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