Download raw body.
checkout -E and existing files
The man page says this about got checkout -E: "Existing files will
be left intact." That's not very clear.
Let's try it...
$ cvs -Rd /cvs co xenocara
cvs checkout: Updating xenocara
U xenocara/.gitignore
U xenocara/3RDPARTY
...
U xenocara/xserver/xkb/xkbtext.c
U xenocara/xserver/xkb/xkmread.c
$ find xenocara -name CVS -exec rm -rf {} +
Now we have a tree of files that also exist in the Git repository.
Let's run checkout -E on top of that:
$ got co -E ~/xenocara.git
? /home/naddy/tmp/xenocara/.gitignore
? /home/naddy/tmp/xenocara/3RDPARTY
...
? /home/naddy/tmp/xenocara/xserver/xserver.ent.in
? /home/naddy/tmp/xenocara/xserver/ylwrap
Checked out refs/heads/master: 50e9bfdb057f451ff1b595308922372d3ba9b0ed
Now shut up and hack
Do the question marks mean that got treats those files as unversioned?
$ cd xenocara
$ got st
$
Obviously not.
Are they under version control at all?
$ sed -i '1s/^/#/' Makefile
$ got st
M Makefile
$ got rv Makefile^
R Makefile
Yes, they are.
Great. Wait, got status says there are no differences to what's
in the repository. Except there are. The CVS and Git repos are
not in sync. Some files _are_ different, but got seems unaware.
That's not so great.
Presumably got will eventually notice once the files that are
different are actually changed by some operation.
I'm not sure what I was expecting, but the existing behavior seems ...
not useful?
--
Christian "naddy" Weisgerber naddy@mips.inka.de
checkout -E and existing files