info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Finding all really changed files for a branch tag in a repository


From: Hanspeter Schinz
Subject: Re: Finding all really changed files for a branch tag in a repository
Date: Tue, 18 Oct 2005 11:05:04 +0200
User-agent: Mozilla Thunderbird 1.0.6 (Windows/20050716)

Todd Denniston wrote:
Hanspeter Schinz wrote:

Hi,
is there any simple possibility to generate a file list
of that files really have changed on a specific branch tag
(inclusive removed and added files on this specific branch)
recursively over a whole repository.

thanks a lot
Hanspeter


Assuming you created a normal tag (NTAG) and then used that to create the
branch tag [1] , and that you have a normal tag on the head of the branch
(BHEAD) [2].
I believe you should be able to at a prompt inside of a branch checkout
issue:

cvs diff -N --brief -rNTAG -rBHEAD | \
grep -e "^Index:" -e "^Files" > ListOfDelta.txt

^File lines with /dev/null in them were either added or removed, others are
simple changes.
I believe from what I see, doing something similar in my repo, that all the
lines where ^Index: is printed the file will have deltas in it[3].

to just get the file names: cat ListOfDelta.txt | grep ^Index |awk -F: '{print $2}'


[1] or alternatively immediately normal tagged the branch after creation and
before modifying any files.

[2] IIRC HEAD will not work because it ALWAYS refers to the trunk when doing
diff.  however the second tag (BHEAD) MAY not be needed seeing as you are in
a sandbox where the branch is checked out and it will diff against the
branch head naturally...I think...maybe.

[3] as far as diff is concerned... those deltas may only be white space if
that was the changes made.

thanks for the info
but I still have problems with new directories on the branch tags only [1]
(no head revision available)
diff -N ignores the new branch directory

[1]
working directory is on tag XXX
cvs add "subdirectory" (sticky on branch)
cd "subdirectory"
cvs add "some files"
cvs commit "some files"
now the whole "subdirectory" is on branch XXX
cvs update -A subdirectory (it vanishes)

I want to find out the filenames when I am on head revision
(no "subdirectory" visible)
cvs diff -N gives nothing back
Is there any other possibility to find out theese filenames
without changing the sandbox

PS:
What I really want to do is:
I am on the head revision.
I have a list of branch tags on a project.
I want to update/merge all changed files
(cvs update -j TAGNAME)
to compose a new release and therefore I have to have
a file changelist for each branch tag.

Hanspeter




reply via email to

[Prev in Thread] Current Thread [Next in Thread]