From: Kjetil T. H. <kje...@if...> - 2001-03-19 23:14:55
|
[Bill Crawford] > Marc Aurele La France wrote: > > > So, why exactly are you building in a checked out tree, rather than a > > shadow tree? > > When I edit files, I've had problems getting the edited version > in the right directory, it just didn't work, and I tend to really > detest symlinks. Building in the checked out tree does work. > When I modify anything, I can just use cvs to generate a diff. > That don't work with a shadow tree. You won't save that many keystrokes compared to diff -ru cvsdir workdir > I used to just copy the entire tree using tar and a |, but that's > slow and has worse problems with making local modifications. I use cp -al cvsdir workdir This is very fast, but GNU cp specific. -a is shorthand for -dpR, -l means use hardlinks rather than copy the files. One neat thing is that you can use find workdir -type f -links 1 -print to list all locally created or modified files. Of course, there is also the lndir command which will create a shadow tree with symlinks. Since it is a shell script, it's not as fast as the above command. The find command in that case is reduced to find workdir -type f -print :-) Either way, you'll have to configure your editor to do the right thing when editing in the shadow tree. Most Unix utilities will _not_ edit the same inode, but replace it with a new file, so e.g. patch(1) is safe with both methods of shadow tree. > You can put it at least partly down to laziness on my part, but I > have just found the shadow tree thing annoying, because 'mv' > doesn't behave right when there are lots of symlinks. I don't understand what the problem with mv is. Kjetil T. |