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 C9ACA200D36 for ; Mon, 6 Nov 2017 17:30:38 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id C7C42160BFF; Mon, 6 Nov 2017 16:30:38 +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 1B5B9160BD5 for ; Mon, 6 Nov 2017 17:30:37 +0100 (CET) Received: (qmail 33978 invoked by uid 500); 6 Nov 2017 16:30:37 -0000 Mailing-List: contact dev-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@subversion.apache.org Received: (qmail 33968 invoked by uid 99); 6 Nov 2017 16:30:37 -0000 Received: from mail-relay.apache.org (HELO mail-relay.apache.org) (140.211.11.15) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 Nov 2017 16:30:37 +0000 Received: from [192.168.1.8] (unknown [81.174.159.228]) by mail-relay.apache.org (ASF Mail Server at mail-relay.apache.org) with ESMTPSA id 5B23A1A0217 for ; Mon, 6 Nov 2017 16:30:35 +0000 (UTC) Subject: Re: Checkpointing v1 design -- terminology From: Julian Foad To: dev@subversion.apache.org References: <9a3d7e1b-0d10-b431-6d85-8056f108e5f2@apache.org> <92914552-01a9-2394-92b2-c76552ae2b79@apache.org> <5d51b1c1-8fd7-fd6b-6b9e-8eeb496734fc@apache.org> <1944507f-7ef2-44d6-ee6e-846e99325211@apache.org> Message-ID: Date: Mon, 6 Nov 2017 16:30:33 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <1944507f-7ef2-44d6-ee6e-846e99325211@apache.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB Content-Transfer-Encoding: 8bit archived-at: Mon, 06 Nov 2017 16:30:39 -0000 Julian Foad wrote: > 'Roll back' means retrieving an old version of a shelved change and > could be named like one or a permutation of these: > >   svn unshelve --checkpoint=3 foo >   svn shelf restore foo@3 >   svn revert --savepoint=3 --cl=foo >   svn changelist restore -v3 foo > > (I am deliberately bringing 'changelist' into the mix, as I believe > integration with 'changelist' is where we need to take this.) The integration with changelists that I am thinking of is basically that changelist FOO corresponds to the working (unshelved) version of a shelved change named FOO. Unshelving or restoring FOO will apply the saved change FOO and assign the affected files to changelist FOO; and saving or shelving FOO will use the changelist FOO as the set of files to save or shelve. With this changelist integration we could have... (I know we can't compatibly have exactly this syntax; see below for alternatives)... Shelve = save and revert: svn cl shelve FOO Checkpoint = save and don't revert: svn cl save FOO Unshelve / restore / roll back (all possible names for same thing): svn cl unshelve [-v VERSION_NUM] FOO svn cl restore [-v VERSION_NUM] FOO (etc.) Revert files in (active) changelist FOO: svn revert --cl=FOO # existing syntax svn cl revert FOO Commit the (possibly shelved) changelist FOO: svn commit --cl=FOO # existing syntax svn cl commit FOO Possible different ways to write the topic noun and the verb: svn clsave FOO [PATH...] svn cl save FOO [PATH...] svn cl --save FOO [PATH...] svn changelist save FOO [PATH...] svn changelist-save FOO [PATH...] svn save --cl=FOO [PATH...] The key point I am making here is the "topic" we're talking about in these commands is the "changelist" rather than the "savepoint" which is merely a stored version of a changelist. - Julian