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

Re: Scheduling an email of change logs.

From: Simon Large <simon.tortoisesvn_at_googlemail.com>
Date: Mon, 2 Nov 2009 22:36:42 +0000

2009/11/2 Richard Quadling <rquadling_at_googlemail.com>:
> 2009/11/2 Simon Large <simon.tortoisesvn_at_googlemail.com>:
>> 2009/11/2 Richard Quadling <rquadling_at_googlemail.com>:
>>> 2009/11/2 Simon Large <simon.tortoisesvn_at_googlemail.com>:
>>>> 2009/11/2 Richard Quadling <rquadling_at_googlemail.com>:
>>>>> Hi.
>>>>>
>>>>> I'm a newbie to SVN, so please be gentle.
>>>>>
>>>>> I'm on windows, so, please be even more gentle!
>>>>>
>>>>> Using TortoiseSVN, I can manually create CSV files of the cache for
>>>>> the repository (Right clicking a repository, choosing TortoiseSVN ->
>>>>> Settings -> Cached Repositories -> Update & Export - more or less).
>>>>>
>>>>> From there, I can create emails for each major project/branch per
>>>>> day/week showing the commit messages and urls of changes.
>>>>>
>>>>>
>>>>> Is there a way I can programmatically do the export? I want to have
>>>>> the process run unattended, so no manual update & export.
>>>>>
>>>>> As some indication of the project, there are 969 authors, 368,438
>>>>> paths, 290144 revisions. It is a pretty big project.
>>>>>
>>>>> I also see that I have a logcache folder containing a Repositories.dat
>>>>> file and the cache file for the repository I'm interested in. Is this
>>>>> file readable externally? Is the format/structure documented?
>>>>>
>>>>> I've no problems accessing the CSV files to build my reports. I'd like
>>>>> to be able to create the CSV files automatically or to update the
>>>>> logcache file and access that.
>>>>>
>>>>> Either way really.
>>>>>
>>>>> Any help would be appreciated.
>>>>
>>>> You would be better off doing this on the server side, maybe triggered
>>>> by a post-commit hook. That is how commit emails are usually sent out.
>>>> If you use the log cache on the client you have to be sure the client
>>>> is up-to-date first.
>>>>
>>>
>>> No problem with doing it client side. I just want to be able to get
>>> the logcache uptodate before I run the email scripts.
>>>
>>> That is what I don't know how to do programmatically. I can do it
>>> manually. But I don't want to be here every day at midnight waiting
>>> for it...
>>>
>>> Currently ...
>>>
>>> tortoiseproc /command:settings
>>>
>>> will show the dialog for all the settings.
>>>
>>> If this could be extended to say something like ...
>>>
>>> tortoiseproc /command:settings /logupdate:<repository_url>
>>> tortoiseproc /command:settings /logexport:<repository_url>
>>> /destination:<somepath with a prefix for the exported files>
>>>
>>> e.g.
>>>
>>> tortoiseproc /command:settings /logupdate:http://svn.xxxx.net/repository
>>> tortoiseproc /command:settings
>>> /logexport:http://svn.xxxx.net/repository
>>> /destination:D:\SVNCaches\XXXX_
>>>
>>> would create ...
>>>
>>> XXXX_authors.csv
>>> XXXX_changes.csv
>>> etc.
>>>
>>> Something like that would be really useful for me.
>>>
>>> Or is there another way.
>>>
>>> The idea is that I will process the data to extract the commit logs
>>> for all the major project branches each day and email the significant
>>> groups. Essentially a summary of all the commits.
>>
>> TortoiseSVN is a GUI client, so it is not intended to be used
>> unattended, any more than you call MS Word from a batch file to
>> generate documents based on command line parameters. You need to use
>> the command line client for scripting. You can do that client side or
>> server side, but for automated nightly tasks, personally I would want
>> to set that up on the server and then forget about it. YMMV.
>>
>
> TortoiseProc _IS_ a command line util. I use it to script regular
> updates and build processes already.

It is a command line util only in the sense that you can start it from
the command line. In all cases that I am aware of it then shows a
dialog for you to edit, select or simply check before hitting OK. It
is not intended to be used for unattended scripts. And that is exactly
what the standard command line client is better for. You can get the
official Windows client from tigris.org or from CollabNet.

> I initially used Cygwin's svn
> (because I already used other Cygwin's tools), but someone buggered up
> the permissions and win32 lost access and I've not had chance (or a
> care) to sort it.

Probably a good thing because sharing a WC between Cygwin and native
Windows is definitely not recommended. There is no guarantee that the
meta data will be compatible, and some things like svn:eol-style will
be treated differently since Cywin behaves like *nix and uses LF-only
line endings.

> I do also have Slik's svn cli toolset.
>
> Looks like I'm going to have to extend TortoiseProc for my own needs.
>
>
> I think adding a post-commit hook on the server is probably the best
> bet. But it would seem I'm missing info on the server.

I think you would need to use svninfo.exe. You can find the
documentation for that along with the rest of the subversion toolset
at http://svnbook.red-bean.com/

There are example scripts for sending commit emails in the subversion
repository. You might be able to adapt those.

Simon

-- 
:       ___
:  oo  // \\      "De Chelonian Mobile"
: (_,\/ \_/ \     TortoiseSVN
:   \ \_/_\_/>    The coolest Interface to (Sub)Version Control
:   /_/   \_\     http://tortoisesvn.net
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2413962
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2009-11-02 23:36:51 CET

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