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

Re: Automatic update & commit

From: Staffan Olsson <solsson_at_gmail.com>
Date: Thu, 25 Oct 2012 06:31:57 -0700 (PDT)

Stefan Fuhrmann-3 wrote:
>
>
> I would like to move the core automatic commit &
> update code to TSVN to make it available to a much
> larger user base.
>
>

I learned about this interesting effort at Subversion Live and would like to
re-ignite the discussion. For many years I've been first line support for
TSVN users who are not developers. Subversion is really great for documents
and graphics too so a dropbox-like client would definitely, as Stefan
writes, broaden the user base a lot.

I suggest the feature is introduced in steps.

The first hurdle I've seen is that users unintentionally corrupt their
working copy by moving folders around without using right-button-drag. This
has been remedied in Svn 1.7 thanks to WC-NG. A related sysadmin worry is
that duplicates (not svn copies) occupy storage, but I've recently learned
that svn's de-duplication solves that.

The second major improvement would be to, before every svn update,
automatically mark all missing (status=!) entries as deleted. The fact that
svn restores missing files at update has caused many duplicate files and
wasted cleanup efforts. As a support person, unless you're lucky and the
user still has the update dialog open, there's no chance to repair this
after the fact.

Automatic update in response to "out of date" at commit is, correct me if
I'm wrong, planned for TSVN 1.8 and will be a natural part of automatic mode
too. I guess avoiding restore of unversioned files becomes increasingly
important when this feature is introduced. We always recommend users to
"select all" in the modification list at commit, but they forget.

Third, preventing conflicts is the goal. The strategy available today is to
use svn:needs-lock. Here's where automatic update would make a huge
difference. Conflicts mean support calls and that's fine when it happens
once a month, but not once a day. Helping conflict resolution by renaming is
interesting too. As would a feature for automatic locking of modified binary
files.

My impression is that non-technical users are ok with manual commit. People
understand commits. Automatic commit is of course a way to reduce the risk
for conflicts. On the other hand I'd like users to learn to appreciate the
value of commit (with comments) as results of a task, and learn to commit
often. The same goes for developers actually. A reminder would in my opinion
be a nice option. If the daemon monitors open files in the working copy,
reminders could even pop timely as files are saved and closed.

That leads to the topic of a notification system. You'd probably feel unease
about automatic updates if it didn't notify you. On the other hand dropbox
style notifications for every updated file is distracting. I'm guessing the
notification system will naturally become the user interface for this
feature, and raise lots of requests for configurability.

EasySVN being cross-platform, I think this is a chance to make a part of
TSVN cross-platform, with relatively modest UI work involved. I'd wish for a
layer of abstraction that allows OS specific notification APIs to be plugged
in.

Icon overlays are very useful in combination with automatic mode. There is
already RabbitVCS and SCPlugin for Linux and Mac and my guess is that no
integration with the automatic client is necessary.

Is it possible that even the dialogs can be abstracted out of this effort?
EasySVN already uses TSVN dialogs on windows. Maybe RabbitVCS's commit
dialog can be used on linux. Even the obvious need for the daemon to issue
svn command could benefit from an abstraction, for example to couple with
notifications and allow users to skip an automatic commit.

What is the status on the code move?
Do we track this topic in
http://code.google.com/p/tortoisesvn/issues/detail?id=77 ?

Staffan Olsson

-- 
View this message in context: http://old.nabble.com/Automatic-update---commit-tp33891781p34601064.html
Sent from the tortoisesvn - dev mailing list archive at Nabble.com.
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=3023443
To unsubscribe from this discussion, e-mail: [dev-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2012-10-25 16:51:29 CEST

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.