You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Giulio Troccoli <Gi...@uk.linedata.com> on 2006/10/05 14:50:39 UTC

Reverting schedule-deleted items

I am using Subversion 1.3.0 (r17949) on an AIX system and I have noticed this strange behaviour. I'd like to know if anybody else has experienced it and/or I am doing something wrong. If not I will post an issue.

I have delete an whole directory (dip/dscomms) and it has been scheduled correctly

agrippina[ksh]%src>svn status -q
D      dip/dscomms/dsCommsLogin.c
D      dip/dscomms/dsCommsSystemParameters.c
D      dip/dscomms/dsCommsConnect.c
D      dip/dscomms/dsCommsDisconnect.c
D      dip/dscomms/dsCommsSend.c
D      dip/dscomms/dsCommsInitialise.c
D      dip/dscomms/makefile.svn
D      dip/dscomms/dsCommsWaitForUpdate.c
D      dip/dscomms/dscomms_local.h
D      dip/dscomms/dsCommsSimulator.c
D      dip/dscomms/dsCommsGlobals.c
D      dip/dscomms/dsCommsChooseDLIVE.c
D      dip/dscomms/dsCommsInvokeAPI.c

Then I have changed my mind and revert it

agrippina[ksh]%src>svn revert dip/dscomms
Reverted 'dip/dscomms'

Here the first problem. The files are NOT restored from the BASE and the dip/dscomms directory is empty

agrippina[ksh]%src>ls dip/dscomms
agrippina[ksh]%src>

And the files are STILL scheduled for deletion

agrippina[ksh]%src>svn status -q
D      dip/dscomms/dsCommsLogin.c
D      dip/dscomms/dsCommsSystemParameters.c
D      dip/dscomms/dsCommsConnect.c
D      dip/dscomms/dsCommsDisconnect.c
D      dip/dscomms/dsCommsSend.c
D      dip/dscomms/dsCommsInitialise.c
D      dip/dscomms/makefile.svn
D      dip/dscomms/dsCommsWaitForUpdate.c
D      dip/dscomms/dscomms_local.h
D      dip/dscomms/dsCommsSimulator.c
D      dip/dscomms/dsCommsGlobals.c
D      dip/dscomms/dsCommsChooseDLIVE.c
D      dip/dscomms/dsCommsInvokeAPI.c

As another proof that the items a re still scheduled for deletion, if I try and commit the changes Subversion still tries to delete them

agrippina[ksh]%src>svn commit -m"kasj"
Deleting       dip/dscomms/dsCommsChooseDLIVE.c
Deleting       dip/dscomms/dsCommsConnect.c
Deleting       dip/dscomms/dsCommsDisconnect.c
Deleting       dip/dscomms/dsCommsGlobals.c
Deleting       dip/dscomms/dsCommsInitialise.c
Deleting       dip/dscomms/dsCommsInvokeAPI.c
Deleting       dip/dscomms/dsCommsLogin.c
Deleting       dip/dscomms/dsCommsSend.c
Deleting       dip/dscomms/dsCommsSimulator.c
Deleting       dip/dscomms/dsCommsSystemParameters.c
Deleting       dip/dscomms/dsCommsWaitForUpdate.c
Deleting       dip/dscomms/dscomms_local.h
Deleting       dip/dscomms/makefile.svn
svn: Commit failed (details follow):
svn: MERGE request failed on '/svn/src/dip/dscomms'
svn: 'pre-commit' hook failed with error output:

The message is made up so that the pre-commit script will fail, or otherwise I would have deleted the files which I don't want to do.

-------------------
Giulio Troccoli
Technical Consultant
 
Linedata Services (UK) Ltd. Bishopsgate Court, 4-12 Norton Folgate, London E1 6DB
T +44 (0)20 7360 1914   F +44 (0)20 7360 1974
E giulio.troccoli@uk.linedata.com   W www.linedata.com
MSN Messenger giulio@troccoli.it

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: Reverting schedule-deleted items

Posted by Duncan Murdoch <mu...@stats.uwo.ca>.
On 10/5/2006 11:34 AM, Giulio Troccoli wrote:
> Thanks Erik, it is however a bit confusion that delete is recursive by
> default and revert is not. Oh well, maybe it's only me who's confused by
> it.

The principle is that delete is less dangerous, because it's reversible. 
  Once you revert a file the changes in it are gone forever.

Duncan Murdoch

> 
> Anyway it worked and now I know this is the correct behaviour and the
> correct way to use the revert command.
> 
> Giulio
> 
> -----Original Message-----
> From: Erik Huelsmann [mailto:ehuels@gmail.com] 
> Sent: 05 October 2006 16:31
> To: Giulio Troccoli
> Cc: users@subversion.tigris.org
> Subject: Re: Reverting schedule-deleted items
> 
> That's correct: you didn't ask svn to: the revert command is by
> default *not* recursive. You probably wanted 'svn revert -R
> dip/dscomms'.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

RE: Reverting schedule-deleted items

Posted by Giulio Troccoli <Gi...@uk.linedata.com>.
Thanks Erik, it is however a bit confusion that delete is recursive by
default and revert is not. Oh well, maybe it's only me who's confused by
it.

Anyway it worked and now I know this is the correct behaviour and the
correct way to use the revert command.

Giulio

-----Original Message-----
From: Erik Huelsmann [mailto:ehuels@gmail.com] 
Sent: 05 October 2006 16:31
To: Giulio Troccoli
Cc: users@subversion.tigris.org
Subject: Re: Reverting schedule-deleted items

That's correct: you didn't ask svn to: the revert command is by
default *not* recursive. You probably wanted 'svn revert -R
dip/dscomms'.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: Reverting schedule-deleted items

Posted by Erik Huelsmann <eh...@gmail.com>.
On 10/5/06, Giulio Troccoli <Gi...@uk.linedata.com> wrote:
> I am using Subversion 1.3.0 (r17949) on an AIX system and I have noticed this strange behaviour. I'd like to know if anybody else has experienced it and/or I am doing something wrong. If not I will post an issue.
>
> I have delete an whole directory (dip/dscomms) and it has been scheduled correctly
>
> agrippina[ksh]%src>svn status -q
> D      dip/dscomms/dsCommsLogin.c
> D      dip/dscomms/dsCommsSystemParameters.c
> D      dip/dscomms/dsCommsConnect.c
> D      dip/dscomms/dsCommsDisconnect.c
> D      dip/dscomms/dsCommsSend.c
> D      dip/dscomms/dsCommsInitialise.c
> D      dip/dscomms/makefile.svn
> D      dip/dscomms/dsCommsWaitForUpdate.c
> D      dip/dscomms/dscomms_local.h
> D      dip/dscomms/dsCommsSimulator.c
> D      dip/dscomms/dsCommsGlobals.c
> D      dip/dscomms/dsCommsChooseDLIVE.c
> D      dip/dscomms/dsCommsInvokeAPI.c
>
> Then I have changed my mind and revert it
>
> agrippina[ksh]%src>svn revert dip/dscomms
> Reverted 'dip/dscomms'
>
> Here the first problem. The files are NOT restored from the BASE and the dip/dscomms directory is empty

That's correct: you didn't ask svn to: the revert command is by
default *not* recursive. You probably wanted 'svn revert -R
dip/dscomms'.

> agrippina[ksh]%src>ls dip/dscomms
> agrippina[ksh]%src>
>
> And the files are STILL scheduled for deletion

As expected. I hope the above suggestion helps.

bye,

Erik.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org