[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Revisions being involved while comparing branches

From: Pablo Beltran <pablo_at_svnflash.com>
Date: Wed, 22 Dec 2010 14:26:13 +0100

That would be a more efficient way to a achieve it but as you say that might
not work in all cases.

In my opinion a feature like that is enough important to be provided by
Subversion via cmd line / API, because that is the one of the bridges
between Subversion and Change Management tools (like Jira and others) to
build SCCM baselines.

Compare two tags in Subversion -> get all involved revisions in that -> get
issues related with those revisions -> get easily the changes (issues)
involved between two product versions

Now that is also possible to achieve but it requires a lot of previous extra
computing on the Subversion side.

On Wed, Dec 22, 2010 at 1:25 AM, Daniel Shahaf <d.s_at_daniel.shahaf.name>wrote:

> Pablo Beltran wrote on Tue, Dec 21, 2010 at 23:29:23 +0100:
> > Maybe the point is efficiency.
> >
>
> OK.
>
> > the *svn log -v* output for a revision range could be represented by a
> > matrix with the revision numbers as rows and the changed paths as
> columns.
> >
> > So, for each revision is easy inquire the revised paths. That is simple
> > because all the results are retrieved from one execution.
> >
> > But, how does efficiently transpose the matrix? -> paths as rows and
> > revisions as columns? and do it for the same set of values?
> >
>
> In other words, how does one compute for a set of paths which revisions
> touched each of the paths?

yes!

> > For example, when two *tags* are compared with TortoiseSVN the result is
> a
> > list of revised paths. But revisions are missing from that view. That is
> > because TortoiseSVN dispalys the *svn diff -summarize* results. So, how
> to
> > display also the involved revisions for each path? The *svn info*
> displays
> > only the last revision and not all involved so you should execute the
> *svn
> > log* command for each revised path. And that is not efficient.
> >
>
> You could use the #2 syntax of 'svn log':
>
> % $svn h log | head
> log: Show the log messages for a set of revision(s) and/or path(s).
> usage: 1. log [PATH][@REV]
> 2. log URL[@REV] [PATH...]
>
> I'm not sure offhand at what layer the looping on paths is implemented,
> though; but I hope it's done server-side.
>
> > The goal is adding the involved revisions on the compare directories view
> of
> > TortoiseSVN and do it in the most efficient way.
> >
>
> Solving the problem for the most general case of comparing any two
> directories is a hard problem.
>
> >
>
> HTH,
>
> Daniel
>
> > On Tue, Dec 21, 2010 at 12:21 PM, Daniel Shahaf <d.s_at_daniel.shahaf.name
> >wrote:
> >
> > > 'svn info' on the 1.6.15 file will tell you that. (thanks cheap copies)
> > >
> > > 'dig the logs' is "lookup the copyfrom revisions of the tags, and run
> > > log on replay.c for that revision range". What's wrong with that?
> > >
> > > Pablo Beltran wrote on Mon, Dec 20, 2010 at 19:22:20 +0100:
> > > > Is there a direct way (via cmd line) to find out the revisions
> involved
> > > in
> > > > the summary result of differencing two branches?
> > > >
> > > > An easy example:
> > > >
> > > >
> > > > ========================
> > > >
> > > > svn diff
> > > >
> > >
> http://svn.apache.org/repos/asf/subversion/tags/1.6.14/subversion/libsvn_repos
> > > >
> > >
> http://svn.apache.org/repos/asf/subversion/tags/1.6.15/subversion/libsvn_repos--summarize
> > > >
> > > > M
> > > >
> > >
> http://svn.apache.org/repos/asf/subversion/tags/1.6.14/subversion/libsvn_repos/replay.c
> > > >
> > > > ========================
> > > >
> > > > The two tags were created in r1036188 and r1038150, but the replay.c
> file
> > > > was modified in
> > > >
> > >
> http://svn.apache.org/repos/asf/subversion/branches/1.6.x/subversion/libsvn_repos/replay.c@1037005
> > > >
> > > > Is there anyway to find out the 1037005 revision number without
> having to
> > > > analyze the logs?
> > >
>
Received on 2010-12-22 14:26:53 CET

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.