helpSavannah Administration - Support: sr #104643, String [bug #XXXXX] in CVS commit...

 
 

sr #104643: String [bug #XXXXX] in CVS commit message should annotate project bug tracker

Submitted by:  Derek Robert Price <dprice>
Submitted on:  Thu 08 Sep 2005 02:09:44 PM UTC  
Votes:  1  
 
Category: Source code repositories - developer accessPriority: 5 - Normal
Severity: 1 - WishStatus: None
Assigned to: NoneOperating System: None
Open/Closed: Closed

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Thu 18 Jan 2007 11:12:21 PM UTC, comment #15:

The current Savane version includes some simple script for SVN. It makes a simplified assumption of the security model but in pratice this should work well because somebody with commit is likely to get access to the trackers anyway.
backend/extra/subversion/sv_extra_svn_postcommit_brigde.pl

I reference this task in
https://savannah.gnu.org/maintenance/CvS

Sylvain Beucler <Beuc>
Sat 10 Sep 2005 01:10:31 PM UTC, comment #14:

I might even hold off until Savannah became less mono-bug-tracker, if it ever does. Even for SVN & ARCH, assuming you already have something like commit_prep.pl/log.pl in place, those scripts will require almost exactly the same three lines to get the tracker insert at commit time.

Derek Robert Price <dprice>
Sat 10 Sep 2005 08:40:46 AM UTC, comment #13:

You're right, let's avoid something generic and lenghty until Savannah itself becomes less mono-SCM.

Sylvain Beucler <Beuc>
Sat 10 Sep 2005 04:09:05 AM UTC, comment #12:

I don't know. scmbug looks a bit complex when all this would take is having log.pl "use DBI;" then "$dbh = new DBI (...)", then later $dbh->do ("INSERT into SOMETABLE VALUES ($bugnum, $username, now (), $commitlog)");

How are you proposing that this be "integrated with Savane"? Once this text is installed in log.pl, all I can imagine is a configuration checkbox in an admin page that turns on and off the command line option passed to log.pl to turn the DB insert on and off. The log message to be inserted is even already constructed, complete with links to the viewcvs diffs.

If you want to get really tricky, a similar construct in commit_prep.pl could cause the commit to abort with an error message when the referenced tracker item doesn't exist, but that's another three lines in that script.

Maybe my imagination is not inspired. Did you have some other integration in mind?

Derek Robert Price <dprice>
Fri 09 Sep 2005 11:29:24 PM UTC, comment #11:

I just remembered about a clean way to implement the feature:
http://directory.fsf.org/Scmbug.html

It uses the n^2 => 2.n principle to manage interaction from a given SCM to a given defect tracker.

Sylvain Beucler <Beuc>
Fri 09 Sep 2005 09:46:58 PM UTC, comment #10:

Being maintained as part of the Savane software. I think GForge has something similar.

Mathieu (Roy) is the current tracker Guru so he must have some thoughs about how to cleanly implement this.

Sylvain Beucler <Beuc>
Fri 09 Sep 2005 09:39:20 PM UTC, comment #9:

How would they get integrated into Savannah?

Derek Robert Price <dprice>
Fri 09 Sep 2005 09:31:16 PM UTC, comment #8:

That's the plan - although tracker integration would be best cleanly integrated with Savane rather than implemented as a cool local hack :)

Sylvain Beucler <Beuc>
Fri 09 Sep 2005 08:56:33 PM UTC, comment #7:

Re your suggestion to create tasks, I've created [task #4633] on the CVS project to track GPG-signed commits. Feel free to link a Savannah Administration task to it if you like.

Am I to understand from your last note that soon CVS will be running in a non-chroot'd environment where it will be easier to add a few line to log.pl to update Savannah trackers?

Derek Robert Price <dprice>
Fri 09 Sep 2005 06:46:57 PM UTC, comment #6:

We enter the process of working on over-complicated scripts to adapt to the current over-complicated situation, but I prefer to spend that time improving the CVS installation. So I'm afraid it would be best to wait a bit.

I basically have a personal report to finish, then I need to backport glibc's sysconf() from testing to stable to get rid of the 32 users / group limitation, and then rearrange the repository. At that time CVS will run in some POSIX environment where we'll be able to work efficently.

The best way to get things moving a bit would be do perform the backport patch now, and possibly setup some way to automate the patch application on security update, which apparently nobody did yet :) Or to write my report but I guess only I can do that.

Sylvain Beucler <Beuc>
Fri 09 Sep 2005 05:45:59 PM UTC, comment #5:

Hrm. But mail obviously works. What about generating email to an address that processes it into the DB? An alternative, and simpler solution might be to save a copy of the email texts in some available directory, then have a cron-job parse the contents of the directory every five minutes. Then the change to log.pl would be about 2 lines, and the cron job script would have the other 15-20 lines.

Derek Robert Price <dprice>
Fri 09 Sep 2005 04:13:41 PM UTC, comment #4:

I'd like to add 2 precisions.
The first is that the author of the allow-root-file patch is not L.Dachary but Laurent Julliard

The second is that you shouldn't expect to reach the database from loginfo in the current CVS setup (super-minimalist per-project chroot'd environment).

Sylvain Beucler <Beuc>
Fri 09 Sep 2005 03:40:36 PM UTC, comment #3:

> I believe Mark Baushke pointed you at the
> `--allow-root-regex' patch. If someone would add some
> test cases, make sure it still applies to 1.12.12, and
> submit it to the CVS patch tracker on Savannah, I will
> make sure it gets into CVS.


I began doing this but I have other personnal issues to deal with atm. (it doesn't apply to CVS 1.12, it's quite an old patch for v1.11; the doc patch applies well though)

> I would be as happy about --allow-root-file, though I
> don't believe I've seen that patch yet.


That's another patch for CVS 1.10, from Loïc Dachary, not documented/accompagned with tests. I'll attach here so there's a way to get it (previous location is broken).

> The CVS feature release also has proper portable
> glob functionality that might make glob style
> --allow-root specs easy to implement.
> Is there a support tracker item for this issue?


No, though we can create a task item here.

Vincent Caron also sent me a patch they use at Gna! for automatically supporting subdirectories of the specified allow-root - however it's not documented/accompagned with tests, not strictly backward compatible, and I don't think it's good to allow a CVSROOT at any sublevel of the specified allow-root's.

> RMS pinged me privately yesterday about the
> GPG-signatures. You may see something in a month or two.
> Is there a support tracker item for this issue?


That's probably because I pinged him about it 2 days ago :) Can you tell me more about it?

Again no problem with adding a task here.

> Finally, assuming you are using something close to the
> commit_prep.pl and log.pl from CVS's contrib dir,


Here:
http://savannah.gnu.org/cgi-bin/viewcvs/administration/administration/infra/commit_prep-log_accum/

> and that updating the tracker could be implemented as a
> simple SQL query or two, I think tweaking log.pl to do
> what I asked in response to a new command-line option
> should be pretty simple, on the order of 10-20 lines.
> Could you tell me what DB is used for Savannah's
> backend


We use MySQL.

> and point me at a description of the schema?


The structure is at:
http://cvs.gna.org/cvsweb/savane/db/mysql/?cvsroot=savane

patch/support/task/bugs are built on the same schema.

> I could probably rough-out a patch in a few minutes.


That would be good. You might want to discuss the issue at -unavailable-

Sylvain Beucler <Beuc>
Fri 09 Sep 2005 02:44:38 PM UTC, comment #2:

I believe Mark Baushke pointed you at the `--allow-root-regex' patch. If someone would add some test cases, make sure it still applies to 1.12.12, and submit it to the CVS patch tracker on Savannah, I will make sure it gets into CVS. I would be as happy about --allow-root-file, though I don't believe I've seen that patch yet. The CVS feature release also has proper portable glob functionality that might make glob style --allow-root specs easy to implement. Is there a support tracker item for this issue?

RMS pinged me privately yesterday about the GPG-signatures. You may see something in a month or two. Is there a support tracker item for this issue?

Finally, assuming you are using something close to the commit_prep.pl and log.pl from CVS's contrib dir, and that updating the tracker could be implemented as a simple SQL query or two, I think tweaking log.pl to do what I asked in response to a new command-line option should be pretty simple, on the order of 10-20 lines. Could you tell me what DB is used for Savannah's backend and point me at a description of the schema? I could probably rough-out a patch in a few minutes.

Thanks,

Derek Robert Price <dprice>
Fri 09 Sep 2005 09:39:31 AM UTC, comment #1:

Hello,

Thanks for the 2 suggestions for improving the CVS service.

Currently, it's pretty much difficult to run anything else than commit_prep+log_accum in the CVS environment, but we're working on it. We face some troubles with setting things up so that we can support more than 32 groups per system users, and we'll need to also check the 2 topics I mentioned on the CVS mailing lists (a new pserver option to support 5000 repositories, and possible adding signed changesets).

So we plan to first clean-up our CVS installation and then work on new improvements from the new solid basis.

Sylvain Beucler <Beuc>
Thu 08 Sep 2005 02:09:44 PM UTC, original submission:

It would be really, really, really, really, really, REALLY cool if a string like [bug #XXXXX] or [patch #YYYYY] in a CVS commit log message would automatically annotate the referenced tracker item with the same content as shows up in the autogenerated CVS commit emails (not the diffs, just the summary emails).

Thanks,

Derek Robert Price <dprice>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #4015:  cvs-1.10.8-rootfile.patch added by Beuc (3kB - text/x-patch)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by Beuc (Posted a comment)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 1 encouragement so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Thu 18 Jan 2007 11:12:21 PM UTCBeucOpen/ClosedOpen=>Closed
    Wed 11 Oct 2006 10:53:19 PM UTCtschwingeCarbon-Copy-=>Added tschwinge
    Fri 09 Sep 2005 03:40:36 PM UTCBeucAttached File-=>Added cvs-1.10.8-rootfile.patch, #160

    Back to the top


    Powered by Savane 3.1-cleanup