Seems to me that stashing the before-reverted copies could go into some
"recycle bin" / "trash" folder underneath the .svn folder at the root of
the working copy. And by default, the client could clean out files
time-stamped over a month old, so it doesn't perpetually grow. Cleanup
could happen on "commit" operations.
Then a new options could be added to the svn revert command. I'm thinking:
- revert --undo path/to-local/file # undoes the revert
- revert --list-undoable # lists all the available files with a revert
that can be undone
This has the advantages of not changing the existing semantics of the
revert operation, doesn't clutter up the directories of the working copy,
and self-cleans.
Eric.
On Tue, Jul 21, 2015 at 9:14 AM, Andreas Mohr <andi_at_lisas.de> wrote:
> On Tue, Jul 21, 2015 at 11:06:06AM +0200, OBones wrote:
> > Grierson, David wrote:
> > >I completely understand that the action of sending to the Recycle Bin
> (in TortoiseSVN) is very system specific.
> > >
> > >To simply rename the item being reverted as $item.$backupSuffix before
> then restoring the pristine item is presumably not that system specific?
> > >
> > >Having this functionality in the base tool would then provide a benefit
> to all users and not just those using a specific IDE.
> > I would very much prefer if this could be an option that is not enabled
> by
> > default. I mean, this would clutter the filesystem with many files that
> one
> > would have to delete manually, especially when considering that some of
> us
> > are using less than optimal filesystems when it comes down to lots of
> small
> > files.
>
> This seems to hint that the revert-backup item
> possibly should *not* be placed in the same directory as the item,
> but rather in an "alternate tree base"
> (creating random similarly-named files next to each other in unexpected
> ways
> seems just asking for trouble,
> and lots of it - think build system mechanisms, other automatic
> handling, ...).
>
>
> Knee-jerk sample (hard-coded, non-elegant, read: day-to-day occurrence ;):
>
> unit_test1.c
> unit_test2.c
> unit_test1.c.revert_backup
>
> "cp -a unit_test* some_dir/"
> "some_dir/tool unit_test*"
>
>
> One might even implement this as a config option ("revert tree base
> directory"),
> and if left unspecified/empty
> svn could fall back to having .reverted files local,
> or another mode might be to record this within the local .svn dirs.
>
> Andreas Mohr
>
> --
> GNU/Linux. It's not the software that's free, it's you.
>
Received on 2015-07-21 18:27:34 CEST