Hi Andrew and all!
"Andrew C. Greenberg" <we...@mu...> wrote:
> What I would like to do is this: (a) Add a folder, RePlugin, to the
> Cross directory; (b) add some files; and (c) commit the kid and
> kaboodle.
Except for the actual branching and moving over to that branch (but that
I have explained that in detail at minnow now:
http://minnow.cc.gatech.edu/squeak/2684), I did the operations you would
typically do, but on my own fake CVS repository - so paths, directories
and filenames are of course silly fakes. (Note: It might be a good idea
to create a local one if you want to "learn" or test things.)
When I start here I have already checked out "test" (like "squeak") into
empty dir "play". I have also created a branch and switched over to that
according to minnow.
My shell transcript:
gohu@marvin:~/squeak/srctrees/play/test/other$ mkdir replugin
gohu@marvin:~/squeak/srctrees/play/test/other$ cd replugin
gohu@marvin:~/squeak/srctrees/play/test/other/replugin$ ls > kid.txt
gohu@marvin:~/squeak/srctrees/play/test/other/replugin$ ls >
kaboodle.txt
gohu@marvin:~/squeak/srctrees/play/test/other/replugin$ ls
kaboodle.txt kid.txt
gohu@marvin:~/squeak/srctrees/play/test/other/replugin$ cd ..
gohu@marvin:~/squeak/srctrees/play/test/other$ cvs update
? replugin
cvs server: Updating .
gohu@marvin:~/squeak/srctrees/play/test/other$ cvs add replugin
? replugin/kaboodle.txt
? replugin/kid.txt
Directory /var/cvs_play/test/other/replugin added to the repository
--> Using per-directory sticky tag `extension-other-branch'
gohu@marvin:~/squeak/srctrees/play/test/other$ cd replugin/
gohu@marvin:~/squeak/srctrees/play/test/other/replugin$ cvs add *
cvs add: cannot add special file `CVS'; skipping
cvs server: scheduling file `kaboodle.txt' for addition on branch
`extension-other-branch'
cvs server: scheduling file `kid.txt' for addition on branch
`extension-other-branch'
cvs server: use 'cvs commit' to add these files permanently
gohu@marvin:~/squeak/srctrees/play/test/other/replugin$ cvs commit -m
"Added two files on branch"
cvs commit: Examining .
RCS file: /var/cvs_play/test/other/replugin/Attic/kaboodle.txt,v
done
Checking in kaboodle.txt;
/var/cvs_play/test/other/replugin/Attic/kaboodle.txt,v <--
kaboodle.txt
new revision: 1.1.2.1; previous revision: 1.1
done
RCS file: /var/cvs_play/test/other/replugin/Attic/kid.txt,v
done
Checking in kid.txt;
/var/cvs_play/test/other/replugin/Attic/kid.txt,v <-- kid.txt
new revision: 1.1.2.1; previous revision: 1.1
done
Ok, that was that. Then typically the port maintainer needs to do the
following to merge that stuff into the trunk (I moved the workingcopy
back to the trunk before this using "cvs update -A"):
gohu@marvin:~/squeak/srctrees/play/test$ cvs update -d -j
extension-other-branch
cvs server: Updating .
cvs server: Updating cross
cvs server: Updating other
RCS file: /var/cvs_play/test/other/ls.txt,v
retrieving revision 1.1
retrieving revision 1.1.2.1
Merging differences between 1.1 and 1.1.2.1 into ls.txt
rcsmerge: warning: conflicts during merge
cvs server: Updating other/replugin
U other/replugin/kaboodle.txt
U other/replugin/kid.txt
cvs server: Updating test
cvs server: Updating test/subdir
gohu@marvin:~/squeak/srctrees/play/test$
The conflict was because I also edited the file "ls.txt" in both trunk
and branch. Ignore that.
The "-d" switch is important here because "update" normally doesn't suck
down new directories like "checkout" do.
regards, Göran
|