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

Re: Automate backup of working copy

From: Stefan Hett <stefan_at_egosoft.com>
Date: Tue, 2 Aug 2016 13:16:02 +0200

On 7/29/2016 5:52 PM, Tim Scott wrote:
>> Mind if I ask why don't you change your working habbit and create a feature branch for this kind of work, commit it regularly and at the point it's ready for trunk (or the production version) reintegrate the
> feature branch?
> Not at all ...
> I guess it comes down to procedure / habit / commit policies etc.
> Not that these are set in stone, but I'm a great believer in computers being here to make our lives easier. Whilst I develop code to make my customer's lives easier, I think of things that could be done to make it easier to do my job.
> I don't like maintaining more than one version of a piece of code and branching means potentially working with another version of the same code - so I tend to avoid it.
> If TSVN can't do it - and I didn't think it could - I'll have a quick hunt for folder sync'ing options that are aware of svn status. I could always just sync the files (excluding .svn folders) to a cloud sync'd folder with rsync -C ..
> Time for some thought over the weekend, I think.
I might not get the point here correctly or maybe it's related to some
policies or infrastructure setup in your case, I'm not aware of.

But in principle using feature branches is exactly what helps me in this
described scenario.
Assume I've been working a week on some code in my WC without having it
committed. At that point I need to work at something else. What I do
then is:
1. TSVN -> branch/tag...
2. to path: ProjectName/branches/Stefan_feature_xxxx
3. mark "Switch working copy to new branch/tag"
4. OK
5. TSVN -> Commit (committing my current WC changes
6. TSVN -> switch (back to the project's trunk)

Now I start working on the other task. At the point I'm done with that I
do (on my clean working copy):
1. TSVN -> merge...
2. Next
3. URL to merge from ProjectName/branches/Stefan_feature_xxxx
4. Next
5. Merge
6. In TSVN's repository browser: remove the Stefan_feature_xxx branch

And I'm back at the state I was before.

While I agree that the interface could be improved to provide a way with
less required clicks/windows to deal with in this use-case, I don't see
how this would be too much different from syncing the folder with some
remote directory - especially in light of the problems the sync-approach
might cause (like overwriting files with old versions, readding files
which were removed meanwhile, etc.).

There's the SVN feature request for adding the shelving feature for
exactly that use case (see
https://issues.apache.org/jira/browse/SVN-3625 ). But note that this
would be a WC feature and therefore not serve as a backup in case the
drive the WC is located on would fail.

Stefan Hett
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2016-08-02 13:16:15 CEST

This is an archived mail posted to the TortoiseSVN Users mailing list.