You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Justus Stadler_external <Ju...@de.kspg.com> on 2009/07/20 06:28:15 UTC
list of all files when tagging
Hi guys,
I have a question about tagging. Our procedure of creating tags is to
branch off the trunk for the preparation of a release. When all other
files are changed or added, a final review is being held to check if the
release is complete and without errors. Only after this review, a tag is
created from that branch.
The problem is, that when looking at the log of that tag, the files
describing this tag are not listet. All it says is:
action path copied from revision
added .../tags/name .../branches/preparation_name XX
I would like to have a complete overview of all files contained in the
folder ".../tags/name" so that I am able to use the search pannel of TSVN
to find files contained in more than one release. Is that possible with
SVN? So far I helped myself by creating a list of all files and copying
that list to the log message. But I hope there is an easier way to achieve
this goal.
Thanks for any help
Justus
Ps: I also posted this to the TSVN mailing list, because I'm not shure
where this belongs.
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2372513
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: list of all files when tagging
Posted by Craig McQueen <ce...@mcqueen.id.au>.
Ryan Schmidt wrote:
> On Jul 21, 2009, at 03:23, Craig McQueen wrote:
>
>
>> David Weintraub wrote:
>>
>>>> I would like to have a complete overview of all files contained
>>>> in the folder ".../tags/name" so that I am able to use the search
>>>> pannel of TSVN to find files contained in more than one release.
>>>> Is that possible with SVN?
>>>>
>>> Subversion can help you find this information, but you'll have to
>>> parse that information via some sort of scripting tool. For
>>> example, let's say I determined that REL-1.0 was revision 12345
>>> off of svn://repos/foo/branches/1.0 and REL-1.1 was revision 23456
>>> off of svn://repos/foo/branches/1.0. Doing this will give me a
>>> list of all files that were changed: $ svn -r12345:23456 log -v
>>> svn://repos/foo/branches/1.0 It will also list all commit
>>> comments, and whether the file was added, deleted, moved, etc.
>>> Plus, if a particular file was changed more than once, it will be
>>> duplicated on this list. A little parsing via a scripting language
>>> (or even better a scripting language that uses the Subversion API)
>>> will give me a list of exactly which files changed. Is this what
>>> you are looking for?
>>>
>> We want to do something like this, but not for tags. I imagine many
>> folks would want to do this:
>>
>> * Report the difference between two SVN revisions.
>> * At the first level, list all the files that have changed.
>> * For each file, list all the changes to the file.
>>
>> This seems like it would be a desirable format for many software
>> teams when generating software release notes, so does anyone know
>> of any publicly-available scripts to manipulate the svn log data to
>> create a report in this format?
>>
>
> "svn diff -rA:B URL" shows you the difference of the repository
> at URL between revision A and B.
>
> Or if you want the difference between two tags, that's simply
> "svn diff URL_TO_TAG_A URL_TO_TAG_B"
>
> Add "--summarize" if you just want the filenames and don't
> want the actual changes to the files.
>
> Is that what you need?
>
I didn't realise that 'svn diff --summarize' could give you a list of
changed files. That's quite useful, thanks!
But I realised that what I said was ambiguous. When I said "For each
file, list all the changes to the file.", I meant list the commit log
details for each commit that changed the file. In that case, parsing and
manipulating the 'svn log' output is probably the most straight-forward
way that I'm aware of.
Regards,
Craig McQueen
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2374281
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Antwort: Re: list of all files when tagging
Posted by Justus Stadler_external <Ju...@de.kspg.com>.
I think what Craig ment was not the commands, these should be known by
now;-) but rather if there is an existing scipt (my preference would be in
written pearl or C).
#!/usr/bin/perl -w
$temp = "C:\\somewhere\\temp";
print "Please enter the URL of the repo you would like to list all files
of:\n";
$URL = <STDIN>;
print "\n";
$command = "svn list $URL > $temp\\changed.txt";
!system $command
or die "The command is incorrect!";
This will do for trunk, branches and tags. It will be some more work to go
into the subfolders but if there is nothing comparable out there, I think
I'll write it.
My first gues is that somebody already did this and probably much better
than I ever could with my three weeks perl crashcourse.
Justus
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2372868
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: list of all files when tagging
Posted by Ryan Schmidt <su...@ryandesign.com>.
On Jul 21, 2009, at 03:23, Craig McQueen wrote:
> David Weintraub wrote:
>>
>>> I would like to have a complete overview of all files contained
>>> in the folder ".../tags/name" so that I am able to use the search
>>> pannel of TSVN to find files contained in more than one release.
>>> Is that possible with SVN?
>> Subversion can help you find this information, but you'll have to
>> parse that information via some sort of scripting tool. For
>> example, let's say I determined that REL-1.0 was revision 12345
>> off of svn://repos/foo/branches/1.0 and REL-1.1 was revision 23456
>> off of svn://repos/foo/branches/1.0. Doing this will give me a
>> list of all files that were changed: $ svn -r12345:23456 log -v
>> svn://repos/foo/branches/1.0 It will also list all commit
>> comments, and whether the file was added, deleted, moved, etc.
>> Plus, if a particular file was changed more than once, it will be
>> duplicated on this list. A little parsing via a scripting language
>> (or even better a scripting language that uses the Subversion API)
>> will give me a list of exactly which files changed. Is this what
>> you are looking for?
> We want to do something like this, but not for tags. I imagine many
> folks would want to do this:
>
> * Report the difference between two SVN revisions.
> * At the first level, list all the files that have changed.
> * For each file, list all the changes to the file.
>
> This seems like it would be a desirable format for many software
> teams when generating software release notes, so does anyone know
> of any publicly-available scripts to manipulate the svn log data to
> create a report in this format?
"svn diff -rA:B URL" shows you the difference of the repository
at URL between revision A and B.
Or if you want the difference between two tags, that's simply
"svn diff URL_TO_TAG_A URL_TO_TAG_B"
Add "--summarize" if you just want the filenames and don't
want the actual changes to the files.
Is that what you need?
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2372855
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: list of all files when tagging
Posted by Craig McQueen <ce...@mcqueen.id.au>.
David Weintraub wrote:
>> I would like to have a complete overview of all files contained in the
>> folder ".../tags/name" so that I am able to use the search pannel of TSVN to
>> find files contained in more than one release. Is that possible with SVN?
>>
>
>
> Subversion can help you find this information, but you'll have to
> parse that information via some sort of scripting tool. For example,
> let's say I determined that REL-1.0 was revision 12345 off of
> svn://repos/foo/branches/1.0 and REL-1.1 was revision 23456 off of
> svn://repos/foo/branches/1.0. Doing this will give me a list of all
> files that were changed:
>
> $ svn -r12345:23456 log -v svn://repos/foo/branches/1.0
>
> It will also list all commit comments, and whether the file was added,
> deleted, moved, etc. Plus, if a particular file was changed more than
> once, it will be duplicated on this list. A little parsing via a
> scripting language (or even better a scripting language that uses the
> Subversion API) will give me a list of exactly which files changed.
>
> Is this what you are looking for?
>
>
We want to do something like this, but not for tags. I imagine many
folks would want to do this:
* Report the difference between two SVN revisions.
* At the first level, list all the files that have changed.
* For each file, list all the changes to the file.
This seems like it would be a desirable format for many software teams
when generating software release notes, so does anyone know of any
publicly-available scripts to manipulate the svn log data to create a
report in this format?
Regards,
Craig McQueen
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2372846
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Antwort: Re: list of all files when tagging
Posted by Justus Stadler_external <Ju...@de.kspg.com>.
Hi David,
thank you for the detailed answer.
I think a script is what it will lead to in the end. Something with svn
info, list and probably some diffing!
Thanks again, you put me on the right path!
Justus
Ps: You don't happen to have a scripting tool for that allready, do you?
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2372828
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: list of all files when tagging
Posted by David Weintraub <qa...@gmail.com>.
> Our procedure of creating tags is to branch
> off the trunk for the preparation of a release. When all other files are
> changed or added, a final review is being held to check if the release is
> complete and without errors. Only after this review, a tag is created from
> that branch.
This is usually known as releasing off of a branch, and is probably
the most common way projects do their releases.
> The problem is, that when looking at the log of that tag, the files
> describing this tag are not listet. All it says is:
> action path copied from
> revision
> added .../tags/name .../branches/preparation_name
> XX
Welcome to the wacky world of Subversion tagging. In a revision
control system, tags in CVS are applied on each and every file.
Because of this, most sites want to see what individual files have
been tagged just to make sure none were skipped or mistagged.
However, Subversion doesn't tag individual files, but a whole batch of
files at once. In this case, you're tagging a branch, and a specific
revision on that branch. We do the same, so here's an example we have:
$ svn log --stop-on-copy -v
http://subversion/dev/modules/adsuite/tags/ADS-5.3.1.1
------------------------------------------------------------------------
r53910 | svnant | 2009-06-26 16:08:11 -0400 (Fri, 26 Jun 2009) | 1 line
Changed paths:
A /modules/adsuite/tags/ADS-5.3.1.1 (from
/modules/adsuite/branches/5.3.1.1:53909)
Blah, blah, blah
------------------------------------------------------------------------
Take a quick look at my tag: It tells me that the tag was created off
the 5.3.1.1 branch on revision 53909. That happens to be the revision
of the branch we tested and certified as our release. Just by looking
at that, I can tell that the tag is good, and I can use that tag to
duplicate exactly what I released.
There's really no reason to review all the individual files that were
"tagged" because the files themselves weren't tagged. The whole branch
at that revision was tagged. It is impossible to miss tagging a
particular file or tagging the wrong revision of it..
> I would like to have a complete overview of all files contained in the
> folder ".../tags/name" so that I am able to use the search pannel of TSVN to
> find files contained in more than one release. Is that possible with SVN?
Subversion can help you find this information, but you'll have to
parse that information via some sort of scripting tool. For example,
let's say I determined that REL-1.0 was revision 12345 off of
svn://repos/foo/branches/1.0 and REL-1.1 was revision 23456 off of
svn://repos/foo/branches/1.0. Doing this will give me a list of all
files that were changed:
$ svn -r12345:23456 log -v svn://repos/foo/branches/1.0
It will also list all commit comments, and whether the file was added,
deleted, moved, etc. Plus, if a particular file was changed more than
once, it will be duplicated on this list. A little parsing via a
scripting language (or even better a scripting language that uses the
Subversion API) will give me a list of exactly which files changed.
Is this what you are looking for?
On Mon, Jul 20, 2009 at 2:28 AM, Justus
Stadler_external<Ju...@de.kspg.com> wrote:
>
> Hi guys,
>
> I have a question about tagging. Our procedure of creating tags is to branch
> off the trunk for the preparation of a release. When all other files are
> changed or added, a final review is being held to check if the release is
> complete and without errors. Only after this review, a tag is created from
> that branch.
> The problem is, that when looking at the log of that tag, the files
> describing this tag are not listet. All it says is:
> action path copied from
> revision
> added .../tags/name .../branches/preparation_name
> XX
> I would like to have a complete overview of all files contained in the
> folder ".../tags/name" so that I am able to use the search pannel of TSVN to
> find files contained in more than one release. Is that possible with SVN? So
> far I helped myself by creating a list of all files and copying that list to
> the log message. But I hope there is an easier way to achieve this goal.
>
> Thanks for any help
> Justus
>
> Ps: I also posted this to the TSVN mailing list, because I'm not shure where
> this belongs.
>
--
David Weintraub
qazwart@gmail.com
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2372609
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: list of all files when tagging
Posted by Ryan Schmidt <su...@ryandesign.com>.
On Jul 20, 2009, at 01:28, Justus Stadler_external wrote:
> I have a question about tagging. Our procedure of creating tags is to
> branch off the trunk for the preparation of a release. When all other
> files are changed or added, a final review is being held to check
> if the
> release is complete and without errors. Only after this review, a
> tag is
> created from that branch.
> The problem is, that when looking at the log of that tag, the files
> describing this tag are not listet. All it says is:
> action path copied from
> revision
> added .../tags/name .../branches/preparation_name XX
> I would like to have a complete overview of all files contained in the
> folder ".../tags/name" so that I am able to use the search pannel
> of TSVN
> to find files contained in more than one release. Is that possible
> with
> SVN? So far I helped myself by creating a list of all files and
> copying
> that list to the log message. But I hope there is an easier way to
> achieve
> this goal.
You just want to know all the files in a directory? That doesn't
sound Subversion-specific, and I don't know a Subversion command for
it. On UNIX, it would just be the "find" command. I don't know how to
do it on Windows.
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2372515
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].