ebonato / gurtle

Automatically exported from code.google.com/p/gurtle
Apache License 2.0
0 stars 0 forks source link

Help with the new issue tracker integration #38

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Google Code recently added their own integration of the issue tracker with
version control by using specially formatted commit messages:
http://code.google.com/p/support/wiki/IssueTracker#Integration_with_version_cont
rol

I'd like Gurtle to help with that new integration.

* extend the issue list dialog so that the user can choose not just the
issue but also a list of options on how to refer to the issue ("Closes",
"Resolves", "Update issue...", ...)
* provide an "extended" dialog after selecting an issue which provides an
UI to update issue fields (summary, status, labels, ...)

With that information, insert the corresponding lines to the commit message
by making sure those lines are correctly formatted (e.g., the line "Update
issue #xxx" is the first line).

* use the CheckCommit() method to do a final check of the commit message
and show a warning if e.g., text like "updates issue #xxx" is not on the
first line.
* in OnCommitFinished(), offer to open the webbrowser showing the updated
issue (maybe this should be configurable)

Original issue reported on code.google.com by tortoisesvn on 23 May 2009 at 7:00

GoogleCodeExporter commented 8 years ago
Is this really worth the trouble? Doesn't the current release (0.5) provide a 
more
advanced integration by also cross-referencing the commit revision number in the
updated/closed issue?

Original comment by azizatif on 25 May 2009 at 8:09

GoogleCodeExporter commented 8 years ago
I think it's worth the trouble:
 * cross-referencing the commit rev is done too
 * unlike 0.5, this doesn't require the use of undocumented APIs (or other risks of
breaking as soon as Google changes the website a little bit)

Original comment by tortoisesvn on 25 May 2009 at 10:55

GoogleCodeExporter commented 8 years ago
> * cross-referencing the commit rev is done too

Could you clarify how this is done? Do you mean it's done in Gurtle or in the GC
version control integration?

> doesn't require the use of undocumented APIs

Hopefully issue #148, http://code.google.com/p/support/issues/detail?id=148, 
will
take care of that.

> other risks of
> breaking as soon as Google changes the website a little bit

Which is why that bit is scripted and not hard-wired into Gurtle. In fact, a 
side
benefit of this approach is that it enables further room for external 
customization.

Original comment by azizatif on 25 May 2009 at 2:30

GoogleCodeExporter commented 8 years ago
The cross-referencing is done automatically. You can see an example here:
http://code.google.com/p/commitmonitor/source/detail?r=402
http://code.google.com/p/commitmonitor/issues/detail?id=143

I know about issue #148 of code hosting, but since there now is already an
integration I doubt that this issue has a high priority.

Original comment by tortoisesvn on 25 May 2009 at 4:13

GoogleCodeExporter commented 8 years ago
> The cross-referencing is done automatically. 
> You can see an example here:

Right, I wasn't aware of that. The integration document doesn't mention the 
automatic
cross-referencing so thanks for clarifying with actual examples.

Hopefully, issue #148 will address some basic things like just being able to 
read
full issue details (including meta-data and comments) in an supported and 
stable way.

Original comment by azizatif on 25 May 2009 at 11:18

GoogleCodeExporter commented 8 years ago
GCPH issue tracker API is now available:
http://googlecode.blogspot.com/2009/10/issue-tracker-data-api-for-project.html

Original comment by azizatif on 17 Oct 2009 at 11:54

GoogleCodeExporter commented 8 years ago
The script is broken as far as I can tell right now.

Original comment by futnucks@gmail.com on 17 Dec 2009 at 2:13

GoogleCodeExporter commented 8 years ago
here's a library which could be used:
http://www.codeproject.com/KB/library/google-code-issue-tracker.aspx

Original comment by tortoisesvn on 11 Jan 2010 at 8:00

GoogleCodeExporter commented 8 years ago
Thanks for the article reference, @tortoisesvn! I'll check it out and hopefully 
it will 
certainly help with some of the time constraints I have in terms of putting 
this issue 
to rest especially now that there is an API.

Original comment by azizatif on 11 Jan 2010 at 8:35

GoogleCodeExporter commented 8 years ago
If we re-open issue 16 and solve it over the official API, does this one still 
make 
sense or needed? It seems more like a nice-to-have.

Original comment by azizatif on 22 Jan 2010 at 3:49

GoogleCodeExporter commented 8 years ago
I like to close issues without an additional dialog popping up after a commit. 
So
having the issue closed by using the correct sentence in the log message is 
something
I'd like to keep.

And on another note: there should be an option to disable the dialog after a 
commit,
at least if the log message already contained a "special reference" to an issue.
Because right now, I always have to just cancel that dialog since I don't use 
it.

Original comment by tortoisesvn on 22 Jan 2010 at 6:13

GoogleCodeExporter commented 8 years ago
FWIW, one of my projects uses Google for problem tracking and Gitorious for 
hosting.
I definitely want Gurtle to manage the tickets, since non of the comments are 
visible
to Google.

Original comment by austin_h...@yahoo.com on 27 Feb 2010 at 3:07

GoogleCodeExporter commented 8 years ago
I've had great success getting bidirectional linkage working with the following 
SVN
properties:

bugtraq:append = false
bugtraq:label = Issue ID
bugtraq:message = Update issue %BUGID%
bugtraq:number = true
bugtraq:url = http://code.google.com/p/REPLACE-ME/issues/detail?id=%BUGID%
bugtraq:warnifnoissue = true

I have to type out the issue changes manually before my commit message 
("Status: Fixed", etc.), but it would be nice if Gurtle provided a UI for this.

See http://code.google.com/p/support/issues/detail?id=797#c14 for more details.

Original comment by MALfunct...@gmail.com on 16 Oct 2010 at 5:30

GoogleCodeExporter commented 8 years ago
You can use the following string for bugtraq:logregex

(([Ii]ssues?:?(\s*(,|and)?\s*#\d+)+)|(\((Fixes|Closes|Resolves) issue 
#?\d+\))|((Fixes|Closes|Resolves) issue 
#?\d+\.)|(([\r\n]|^)(Fixes|Closes|Resolves) issue #?\d+([\r\n]|$))|(^Update 
issue #?\d+:?([\r\n]|$)))

(all on one line of course).

Original comment by tortoisesvn on 16 Oct 2010 at 5:38