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

Re: Post-Commit Hook Protocol (http, svn, file) in Tortoise SVN

From: Michael R <arphaxad78_at_gmail.com>
Date: Fri, 19 Feb 2010 09:31:35 -0800 (PST)

I'll explain my whole situation to make this more clear.

There is a defect-tracking application that I am working with. This
application has functionality that can link to Subversion:
-A user can enter a connection to Subversion (file:///, svn://, http://,
etc.) and credentials to the Subversion repository
-A user can then select a defect and click "Add Link"
   ...a window then opens in the defect application showing the
subversion repository, and the user can select one or more files in
the repository and click "OK"
      ...clicking "OK" then records some simple information about the
selected Subversion file in the repository
      ...the users can then scan through defects and click on a defect
and see which defects have been committed and against which subversion
files
-The information which is included is the "path" to the subversion
file, it can be in a (file:///, svn://, or http:// format) and the
revision number
   ...this is important because the defect tracking application has
some simple functionality such as "Get History" on the subversion
links
  ...(and yes, if the users enter things with file:/// then other
users won't be able to Get History on those items, but they can set up
Subversion however they wish)

What lies above is set functionality that I cannot change. What I am
interested in doing is adding to the functionality above.

I want to add support to this for Tortoise SVN and allow commits made
from Tortoise SVN to communicate back to the defect-tracking system
and create these simple entries. What I have created now is an
interface that talks to Tortoise SVN (that allows users to select
defects through the Tortoise SVN commit screen) and a post-commit hook
that relays the commited files and revisions over to the defect
tracking system. I've also written a setup package that nicely
installs all of this on 32 and 64 bit machines.

Which leads back to my original question...it all works fine at this
moment except for one problem: the files that are given to the hook
by Tortoise after the commit are in a "C:\project\file.txt" format
rather than the "http://server/file.txt" or "svn://server/file.txt"
format that the defect system requires.

One suggestions made above seemed to help for a bit (the bit about
running the "svn.eve info" command on each item through the hook).
This would work great for me except that I cannot rely on users having
the SVN client installed on their machine...a machine might only have
the Tortoise SVN client installed...I poked around looking at the
Tortoise SVN client and it looks like the Tortoise client does not
have an "info" command that matches the SVN one.

What is my best course of action to allow my hook to hand off the list
of committed files (post-commit) to the defect tracking application in
a http://, svn://, or file:/// format?

Thank you in advance.

On Feb 18, 1:22 pm, Stefan Küng <tortoise..._at_gmail.com> wrote:
> On 18.02.2010 20:38, Michael R wrote:
>
> >> And why is it relevant to see/know the protocol that was used for the commit?
>
> > It's relevant because my application stores the commits paths and
> > allows the user to click "get history" without having to go to
> > subversion or TSVN.  To do a "get history" on that file from the app,
> > I need to know what the protocol is and the full path (C:/workspace/
> > file1.txt is only helpful to the user who performed the commit....
> > svn://someserver/workspace/file1.txt   can be viewed by anyone).
>
> > You said I can't get this information from a server-side hook.  Can I
> > get it from a client-side hook?
>
> You don't need that information, because you already know it.
> You'll get the paths relative to the repository root. So just Prepend
> those paths with the url of the repository root and you have your full path.
> Sure, you will need a different script for every repository, but that
> shouldn't be a problem.
>
> Stefan
>
> --
>         ___
>    oo  // \\      "De Chelonian Mobile"
>   (_,\/ \_/ \     TortoiseSVN
>     \ \_/_\_/>    The coolest Interface to (Sub)Version Control
>     /_/   \_\    http://tortoisesvn.net
>
> ------------------------------------------------------http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessa...
>
> To unsubscribe from this discussion, e-mail: [dev-unsubscr..._at_tortoisesvn.tigris.org].

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=2449150

To unsubscribe from this discussion, e-mail: [dev-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2010-02-19 18:32:05 CET

This is an archived mail posted to the TortoiseSVN Dev mailing list.

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