Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id AEED4200AE1 for ; Mon, 6 Jun 2016 16:19:59 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id AD7F4160A24; Mon, 6 Jun 2016 14:19:59 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id AB7B6160A1E for ; Mon, 6 Jun 2016 16:19:58 +0200 (CEST) Received: (qmail 86349 invoked by uid 500); 6 Jun 2016 14:19:57 -0000 Mailing-List: contact users-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list users@subversion.apache.org Received: (qmail 86339 invoked by uid 99); 6 Jun 2016 14:19:57 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 Jun 2016 14:19:57 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 2046CC0DB8 for ; Mon, 6 Jun 2016 14:19:57 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.279 X-Spam-Level: * X-Spam-Status: No, score=1.279 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=tvh-com.20150623.gappssmtp.com Received: from mx2-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id dDKuU9RT_KWW for ; Mon, 6 Jun 2016 14:19:53 +0000 (UTC) Received: from mail-lf0-f54.google.com (mail-lf0-f54.google.com [209.85.215.54]) by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with ESMTPS id 1211C5F1BE for ; Mon, 6 Jun 2016 14:19:53 +0000 (UTC) Received: by mail-lf0-f54.google.com with SMTP id b73so95572956lfb.3 for ; Mon, 06 Jun 2016 07:19:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tvh-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=Wq/xRqsSnE74k8O52fxh6RbVfmmkJRILZxv1rzyh81M=; b=bPJpqNotmaUhEb5xqEbRh3g1tmNnneu6OEtu7tj307hvk/zmOwb+FjpA+VnY/9FNnd qri/54EsbqCvw3BqX82VvlpqXfz30GvOhh2KDY+2MZXUJdqDIJOx5hH+3GDWuILOT5aJ M6f2l3Bya83fKHSuYZqyjWpkiatpJumjwjM5wqqEgNUm6pfHpFaCCvoaI4fXyWc8Wr6f audW0GO4w8MWoSIRO4BU9+jvqDFsdTgXdUoqScQiJpT0fydAQByjiUsSg++xL8tl+1KL ye23cCqw5f5B1S+SnmqEtmn/2l8XssOL8wKjXQ19tmpTQsd3r/J49drdkO+3bNl89OgS M6NA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=Wq/xRqsSnE74k8O52fxh6RbVfmmkJRILZxv1rzyh81M=; b=bnyJs0SwJa8BK3hwtK4QNgR0rtQq9aw4BwvbbKExIXa5RLj0tTS0ISZRCTctFvYKWC aNjMjr3zOXfOKf0XVN2ljxZymNK9Wp9b0WTpZJxGkEwyMAz/w8urPmdxF1RHM5iOVrGJ ss8K+v4eo6b8MAklN6IWAQkzpt55QD0RORJzBDnfuHM8R99l0BSsRplZmv6XRxr0x7PP ien35raKd0kGxWSeRqoX0doCALSiZzSX6kHoc7cjya6O0kN31JgC2/qCZd8SSrneX+5l ZEQ44nlry6M8VmI2MM1lNG+N90GaSypuGwivmtw2MNVpi/sNb4SCSEsWsCbNrbPaZN2E rcVQ== X-Gm-Message-State: ALyK8tIGpSKaqNK6+Zux+C5VTq9NMza0Bap/zmenYfKugygIFHXqpH6lvag+LdKxUYSgU3w3tp8VjyuUBXyOHqTeIIBpUQYW7bJywiVaGhqEEnvHKisCt5eEVaThXFmcIjHjfox2mreJ/6DAV1vHehos5HQ= X-Received: by 10.46.9.76 with SMTP id 73mr4105432ljj.62.1465222791126; Mon, 06 Jun 2016 07:19:51 -0700 (PDT) MIME-Version: 1.0 Received: by 10.25.30.193 with HTTP; Mon, 6 Jun 2016 07:19:36 -0700 (PDT) In-Reply-To: References: <5b401c90-6eb8-494d-b010-2d36e36ad3af@googlegroups.com> From: Jan Keirse Date: Mon, 6 Jun 2016 16:19:36 +0200 Message-ID: Subject: Re: which version control supports file locking and who has it locked To: Doug Robinson Cc: Andreas Stieger , users@subversion.apache.org Content-Type: multipart/alternative; boundary=001a114b1026fb79d005349cc383 archived-at: Mon, 06 Jun 2016 14:19:59 -0000 --001a114b1026fb79d005349cc383 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Mon, Jun 6, 2016 at 3:47 PM, Doug Robinson wrote: > Andreas: > > On Mon, Jun 6, 2016 at 3:50 AM, Andreas Stieger > wrote: > >> > or knowing who is actually working on a file. >> >> Incorrect, this is shown in both TortoiseSVN and svn cli. >> > > To be more precise, you can know who, in the past, has made changes to > files > *and*checked those change into the repository. You cannot know who has > made changes > in their working copy and has not yet checked them back into the > repository (they > may never do so). > > To know who is actually working on a file requires a level of integration > that is not > found in SVN, Git or CVS. I have a vague recollection of an SCM that did > enable > such information but I'm not remembering which one it is at the moment. > > =E2=80=8BWhether it is possible to know who is working on a file is not the= same as what the changes made so far in the working copy are. This IS possible without much problems with at least CVS with minor effort: By setting a watch on a module alle files in that module are checked out read only. Before changing a file one uses the CVS edit command, that takes care of making the file read/write and keep track of who edits what. I'm not entirely sure if this is the behavior the SVN implementation supports. Off course it is possible to ignore the read-only flag and use operating system tools to overwrite them without first using the edit command, but as long as everyone involved knows the tools this works very well and accidents are unlikely because files are read-only by default. The only problem might be you only find out you had not yet edited a file the first time you save changes and fixing that requires either a habit change (the new habit being either first edit or save early, save often, which is a good idea anyway) or a simple trigger in your IDE. We have used this CVS feature with success in the past for source files that require 'exclusive edits' because merging was next-to-impossible (as would be the case for many binary file.) When we migrated to Subversion for unrelated reasons I couldn't quite get it to work like we wanted (if I remember correctly taking a lock was more on a voluntary basis, you couldn't make the files read-only by default and therefore accidentally forgetting to lock was far more likely.) So I ended up implementing an edit trigger in the IDE to handle this, which works fine for our use case but might not be possible in other setups. I don't see how it could be implemented in a DVCS though, at least not without a non-distributed part added to it which defeats at least some of its purpose. As for other systems supporting this functionality, to answer the original question: At least Microsoft TFS and Roundtable TSMS (a platform intended specifically for OpenEdge ABL) support it to some extent. This being said, I wouldn't pick any of these or CVS over something like Subversion, GIT or Mercurial if I were to make the choice. --=20 **** DISCLAIMER **** http://www.tvh.com/glob/en/email-disclaimer "This message is delivered to all addressees subject to the conditions set forth in the attached disclaimer, which is an integral part of this message." --001a114b1026fb79d005349cc383 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

On Mon, Jun 6, 2016 at 3:47 PM, Doug Robinson <doug.robinson@wandisco.com> wrote:
Andreas:

On Mon, Jun 6, 2016 at 3= :50 AM, Andreas Stieger <Andreas.Stieger@gmx.de> wrote:=
> or knowing who is actually wo= rking on a file.

Incorrect, this is shown in both TortoiseSVN and svn cli.

To be more precise, you can know who, in t= he past, has made changes to files and
checked those change into = the repository.=C2=A0 You cannot know who has made changes
in their work= ing copy and has not yet checked them back into the repository (they
may= never do so).

To know who is actually wo= rking on a file requires a level of integration that is not
found= in SVN, Git or CVS.=C2=A0 I have a vague recollection of an SCM that did e= nable
such information but I'm not remembering which one it i= s at the moment.


=E2=80=8BWhether it is possible to= know who is working on a file is not the same as what the changes made so = far in the working copy are. This IS possible without much problems with at= least CVS with minor effort: By setting a watch on a module alle files in = that module are checked out read only. Before changing a file one uses the = CVS edit command, that takes care of making the file read/write and keep tr= ack of who edits what. I'm not entirely sure if this is the behavior th= e SVN implementation supports.=C2=A0
Off course it is possible to ignore the read-only flag and use = operating system tools to overwrite them without first using the edit comma= nd, but as long as everyone involved knows the tools this works very well a= nd accidents are unlikely because files are read-only by default.=C2=A0 The= only problem might be you only find out you had not yet edited a file the = first time you save changes and fixing that requires either a habit change = (the new habit being either first edit or save early, save often, which is = a good idea anyway) =C2=A0or a simple trigger in your IDE.=C2=A0

We have used this CVS feature with success in the past = for source files that require 'exclusive edits' because merging was= next-to-impossible (as would be the case for many binary file.) When we mi= grated to Subversion for unrelated reasons I couldn't quite get it to w= ork like we wanted (if I remember correctly taking a lock was more on a vol= untary basis, you couldn't make the files read-only by default and ther= efore accidentally forgetting to lock was far more likely.) So I ended up i= mplementing an edit trigger in the IDE to handle this, which works fine for= our use case but might not be possible in other setups.=C2=A0
<= div>

I don't see how it could be implemented in a DVCS tho= ugh, at least not without a non-distributed part added to it which defeats = at least some of its purpose.=C2=A0

As for ot= her systems supporting this functionality, to answer the original question:= At least Microsoft TFS and Roundtable TSMS (a platform intended specifical= ly for OpenEdge ABL) support it to some extent. This being said, I wouldn&#= 39;t pick any of these or CVS over something like Subversion, GIT or Mercur= ial if I were to make the choice.=C2=A0

**** DISCLAIMER ****

http://www.tvh.com/glob/en/email= -disclaimer

"This message is delivered to = all addressees subject to the conditions
set forth in the attached discl= aimer, which is an integral part of this
message."

--001a114b1026fb79d005349cc383--