Peter Toft
2011-07-06 21:45:39 UTC
Hi all
I have a small brain-teaser for the CVS-gurus....
Assume
that I "pto" have a CVS module checked out, and the user "donald" have
the same module checked out -
both on HEAD version. Then "donald" adds
two dirs (Donald/ + Scrooge/) and one file (Scrooge/McDuck)
mkdir
Donald
mkdir Scrooge
echo "money" > Scrooge/McDuck
cvs add
Donald Scrooge
cvs commit Donald Scrooge
cvs add Scrooge/McDuck
cvs commit -m "Money makes the world go around" Scrooge/McDuck
My
question to you is how can "pto" detect what "donald" did - WITHOUT
changing the files locally.
Part of the question is solved by running
cvs -q -n update -AdP
However now it gets a bit more blurry....
I
will see the directories "Donald" and "Scrooge" in my stderr output
cvs update: New directory `Donald' -- ignored
cvs update: New
directory `Scrooge' -- ignored
well - I kinda dislike this, since a
real "cvs update -AdP will prune the empty "Donald" away i.e. I cannot
see
why "cvs -q -n update -AdP" should show this. Comments on this?
The other issue is that I cannot see the file "Scrooge/McDuck" with my
"cvs -q -n update -AdP".
Clues to get that information - again without
actually modifying the local files of me? Comments?
I can solve this
by first doing an actual update of the two dirs, and see what I get -
and then remove the
two dirs, but I would like to solve this with
that strategy.
Best
Peter Toft
I have a small brain-teaser for the CVS-gurus....
Assume
that I "pto" have a CVS module checked out, and the user "donald" have
the same module checked out -
both on HEAD version. Then "donald" adds
two dirs (Donald/ + Scrooge/) and one file (Scrooge/McDuck)
mkdir
Donald
mkdir Scrooge
echo "money" > Scrooge/McDuck
cvs add
Donald Scrooge
cvs commit Donald Scrooge
cvs add Scrooge/McDuck
cvs commit -m "Money makes the world go around" Scrooge/McDuck
My
question to you is how can "pto" detect what "donald" did - WITHOUT
changing the files locally.
Part of the question is solved by running
cvs -q -n update -AdP
However now it gets a bit more blurry....
I
will see the directories "Donald" and "Scrooge" in my stderr output
cvs update: New directory `Donald' -- ignored
cvs update: New
directory `Scrooge' -- ignored
well - I kinda dislike this, since a
real "cvs update -AdP will prune the empty "Donald" away i.e. I cannot
see
why "cvs -q -n update -AdP" should show this. Comments on this?
The other issue is that I cannot see the file "Scrooge/McDuck" with my
"cvs -q -n update -AdP".
Clues to get that information - again without
actually modifying the local files of me? Comments?
I can solve this
by first doing an actual update of the two dirs, and see what I get -
and then remove the
two dirs, but I would like to solve this with
that strategy.
Best
Peter Toft
--
Peter Toft,
PhD
http://petertoft.dk
Peter Toft,
PhD
http://petertoft.dk