ggxl / tortoisesvn

Automatically exported from code.google.com/p/tortoisesvn
0 stars 1 forks source link

Project monitor #652

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Implement a project monitor with features similar to CommitMonitor:
http://stefanstools.sourceforge.net/CommitMonitor.html

* extend the log dialog, show a tree view on the left side
* allow the projects in the tree view to be moved and grouped
* automatically add all working copies that TSVN touches (e.g., during a 
commit, update, ...)
* monitor not just urls but also working copies
* allow to automatically update working copies on new detected commits

nice-to-have features which I'm not sure if I will implement:
* specify a filter for notifications, i.e. to exclude notifications for 
specific users
* changing folder icon using desktop.ini of the wc root in case of available 
updates

Original issue reported on code.google.com by tortoisesvn on 7 Jun 2014 at 9:41

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25547.

* new mode for the log dialog: monitoring
* in monitoring mode, show tree control on the left, splitter to the other 
controls on the right
* implement resizing and positioning of the new controls in monitoring mode
* add toolbar at the top in monitoring mode, showing buttons used only for the 
monitoring mode

Original comment by tortoisesvn on 7 Jun 2014 at 9:47

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25554.

* first draft of a dialog to enter new monitoring objects
* prevent taskbar progress in monitoring mode
* check the items for new commits in a separate thread
* indicate updates in the tree control by showing the items bold and with the 
number of unread/new commits

Original comment by tortoisesvn on 8 Jun 2014 at 3:12

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25556.

* show icons for folders, custom icons for working copy paths and urls
* implement drag/drop on the tree control and handle the saving/loading of 
these relations

Original comment by tortoisesvn on 9 Jun 2014 at 6:52

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25569.

* allow to suppress all auth dialogs during runtime
* mark an auth dialog as shown even if it was suppressed
* show an overlay on the projects that have auth failures
* fix notifications
* don't fetch project properties for urls

Original comment by tortoisesvn on 12 Jun 2014 at 10:59

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25572.

Set the head revision to the last found head revision to avoid repo contact 
when showing the logs.

Original comment by tortoisesvn on 13 Jun 2014 at 7:00

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25576.

Allow to configure username and password for monitored projects

Original comment by tortoisesvn on 13 Jun 2014 at 9:34

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25581.

* guard access to multi-thread data
* set authentication info if available before accessing the repository
* use a separate svn object in the monitor thread

Original comment by tortoisesvn on 14 Jun 2014 at 9:15

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25590.

* show a tray icon which changes when new commits are available
* add a context menu and tooltips to the tray icon
* when in monitoring mode, don't close the dialog but only hide it. Closing the 
dialog is only possible via the context menu of the tray icon

Note: the tray icons need to be replaced with better ones

Original comment by tortoisesvn on 16 Jun 2014 at 8:18

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25591.

* show the monitor dialog if the user clicks on the alert window link
* if no command is specified for TortoiseProc, start the monitor
* show the project logs on click, not on selection change
* catch the return button and show the logs of the selected item if pressed

Original comment by tortoisesvn on 17 Jun 2014 at 8:08

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25595.

Use better tray icons.

Original comment by tortoisesvn on 18 Jun 2014 at 8:02

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25596.

* show projects with unread items in bold even on startup
* implement the remove command
* ensure the dialog gets into foreground when made visible

Original comment by tortoisesvn on 18 Jun 2014 at 8:03

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25597.

* allow to start the monitor initially hidden, onlyshowing the trayicon
* re-add the tray icon when the taskbar is created (again)
* fix tray icon inconsistencies

Original comment by tortoisesvn on 19 Jun 2014 at 6:48

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25599.

* Allow to specify the checking interval for each project
* fix wrong counting of unread items

Original comment by tortoisesvn on 20 Jun 2014 at 4:59

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25602.

* add an options dialog, currently the only option is to "start with windows"
* use a weak lock in the timer since in case we don't get a lock, we can just 
restart the timer

Original comment by tortoisesvn on 21 Jun 2014 at 8:40

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25605.

* save the project data after a drag operation
* ensure the project items are saved and loaded in the right order to avoid a 
situation where a child item gets inserted before the parent item is present

Original comment by tortoisesvn on 22 Jun 2014 at 6:27

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25606.

improve the 'new commits' icon a little

Original comment by tortoisesvn on 22 Jun 2014 at 6:31

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25611.

* show unread items in bold
* prevent the log thread on the same path the monitor thread is working on

Original comment by tortoisesvn on 23 Jun 2014 at 8:29

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25613.

* Set up the project properties and the bug-id column for each shown project
* cancel the monitoring thread before showing the logs for a project to avoid a 
too long wait for the lock to get released

Original comment by tortoisesvn on 24 Jun 2014 at 7:54

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25615.

* Allow in-place renaming of projects
* update the info label while checking for updates
* implement the "Check now" command

Original comment by tortoisesvn on 25 Jun 2014 at 7:52

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25619.

Add a context menu to the project tree control.

Original comment by tortoisesvn on 27 Jun 2014 at 9:05

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25631.

* fix counting and marking of unread items if the monitored path/url is not for 
the repository root
* handle the WM_ENDSESSION message and save the monitored project data on 
shutdown

Original comment by tortoisesvn on 30 Jun 2014 at 8:07

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25640.

Add context menu to update a monitored working copy.

Original comment by tortoisesvn on 1 Jul 2014 at 7:23

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25641.

play a sound when showing an update notification.

Original comment by tortoisesvn on 1 Jul 2014 at 7:47

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25642.

Notification popups and sound are now optional

Original comment by tortoisesvn on 2 Jul 2014 at 8:13

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25649.

Load and save the last unread revision.

Original comment by tortoisesvn on 4 Jul 2014 at 6:51

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25650.

Only use the head revision if it is valid.

Original comment by tortoisesvn on 4 Jul 2014 at 6:51

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25651.

On Windows 7 and later, use the GUID parameter to identify the shell notify 
icon. This solves a few problems I had with the shell forgetting the visibility 
settings of the icon.

Original comment by tortoisesvn on 4 Jul 2014 at 6:53

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25667.

* use SHQueryUserNotificationState instead of a custom function to decide when 
to show notifications
* remove the tray icon properly on exit

Original comment by tortoisesvn on 8 Jul 2014 at 8:05

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25680.

* Save the data when the dialog is closed/hidden
* First save, then return in the OnQueryEndSession() handler

Original comment by tortoisesvn on 16 Jul 2014 at 8:16

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25684.

Sort the projects in the tree view

Original comment by tortoisesvn on 17 Jul 2014 at 6:13

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25686.

* create shortcut in the programs folder on install
* document the new command/dialog

Original comment by tortoisesvn on 18 Jul 2014 at 6:20

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25693.

Allow only one instance of the commit monitor

Original comment by tortoisesvn on 21 Jul 2014 at 8:23

GoogleCodeExporter commented 8 years ago
@Stefan: Now I get something meaningful when fetching fails:

Subversion Exception!

Subversion encountered a serious problem. Please take the time to report this on the Subversion mailing list with as much information as possible about what you were trying to do. But please first search the mailing list archives for the error message to avoid reporting the same problem repeatedly. You can find the mailing list archives at http://subversion.apache.org/mailing-lists.html

Subversion reported the following (you can copy the content of this dialog to the clipboard using Ctrl-C):

In file 'C:\SVN\tortoisesvn\ext\subversion\subversion\libsvn_client\ra.c' line

678: assertion failed (SVN_IS_VALID_REVNUM(peg_revnum))

OK


Using TortoiseSVN 1.8.99, Build 25693 - 32 Bit -dev, 2014/07/21 21:23:38 and 
Bowpad's repo to monitor.

Original comment by XhmikosR on 22 Jul 2014 at 5:35

GoogleCodeExporter commented 8 years ago
no idea how you can get an invalid peg revision at that line.

* can you even show the log normally?
* what is the *exact* url you're monitoring?

Original comment by tortoisesvn on 22 Jul 2014 at 6:05

GoogleCodeExporter commented 8 years ago
I had 2 projects when this happened but I can't reproduce it anymore so I guess 
it was a one time thing. For reference

Bowpad: http://bowpad.googlecode.com/svn/trunk
CommitMonitor: http://commitmonitor.googlecode.com/svn/trunk

I'm still not able to actually use the monitor feature since I keep getting 
asked to go offline even though I can access the repositories just fine.

Original comment by XhmikosR on 23 Jul 2014 at 5:08

GoogleCodeExporter commented 8 years ago
Note that using https results to the same issue.

OS; Windows 7 32-bit SP1, using TortoiseSVN 1.8.99, Build 25696. I can access, 
clone, update, commit just fine; only monitor seems to fail.

Original comment by XhmikosR on 23 Jul 2014 at 5:13

GoogleCodeExporter commented 8 years ago
Enable the debug output:
Settings->Advanced->DebugOutputString set to true
Restart the monitor

Then get dbgview from Microsoft, start it and you should see error messages (I 
hope).
http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx

Original comment by tortoisesvn on 23 Jul 2014 at 5:14

GoogleCodeExporter commented 8 years ago
See the attached file.

Original comment by XhmikosR on 23 Jul 2014 at 5:18

Attachments:

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25698.

Implement the svnrobots.txt restrictions when monitoring

Original comment by tortoisesvn on 23 Jul 2014 at 8:15

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25705.

Save the monitor projects to disk when the dialog closes or ends.

Original comment by tortoisesvn on 25 Jul 2014 at 8:15

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25717.

Allow to configure commit authors to ignore, and a regex to match commit 
messages to ignore.

Original comment by tortoisesvn on 31 Jul 2014 at 6:52

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25732.

When showing the monitor dialog from the tray, deselect the entry in the 
project tree.

Original comment by tortoisesvn on 5 Aug 2014 at 5:51

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25735.

when deselecting the project tree, also cancel all threads and clear the path.

Original comment by tortoisesvn on 5 Aug 2014 at 7:45

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25736.

When selecting a monitored project fails because the thread is still running, 
clear the selection.

Original comment by tortoisesvn on 5 Aug 2014 at 7:46

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25737.

in monitoring mode, disable the project tree control while the thread is 
running.

Original comment by tortoisesvn on 5 Aug 2014 at 7:49

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25738.

The project tree is disabled in the thread, no need to do it here.

Original comment by tortoisesvn on 5 Aug 2014 at 8:00

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25739.

Move the "add project" to the editing group.

Original comment by tortoisesvn on 5 Aug 2014 at 8:04

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25740.

Show the "Get All" button in monitoring mode.

Original comment by tortoisesvn on 6 Aug 2014 at 7:55

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25749.

pass the return result to the MonitorShowProject() method to allow it to cancel 
the selection if necessary.

Original comment by tortoisesvn on 8 Aug 2014 at 8:21

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r25750.

Reset the log limit when showing the logs for a monitored project, and ensure 
the end revision is not higher than the start revision.

Original comment by tortoisesvn on 8 Aug 2014 at 8:22