Ticket #48 (closed defect: fixed)

Opened 3 years ago

Last modified 2 years ago

confsync does not fail gracefully on "client is too old to work with working copy"

Reported by: blee Owned by: confman-developers@…
Priority: major Milestone: confman-1.9.2
Component: confsync Version: 1.9.1b
Keywords: Cc:

Description

We need to improve the error handling in confsync.

Full log is attached.

Attachments

confsync.log Download (29.7 KB) - added by blee 3 years ago.

Change History

Changed 3 years ago by blee

comment:1 Changed 2 years ago by ccowart

This is actually a little on the tricky side...

The issue is inside a couple of for loops that look like
"for file in ... ; do ... ; done". The first major consideration is should
confman bail just because there's an error with one file. When I
first wrote the function, I decided no. I figured it would be better
to not install the file that had errors (let's say the group didn't
exist anymore) and continue than to stop the commit/install
half-way through. I think unless confman can reliably undo
everything it has done in "this" commit, then the right answer
is to plow ahead rather than to bail half-way through.

I think that a back-out plan for problems mid-commit is
definitely a feature worthy of being implemented in 3.0, but I
think it's far too significant of a paradigm shift to attempt to roll
into this release.

For now, maybe we could try to find a simple "svn" command,
maybe "svn info" to verify that the working copy is usable. I
don't actually have an old svn client at the moment to test a
few things out, but I'm trying to track one down.

comment:2 Changed 2 years ago by ccowart

(In [409]) confman will now bail on a rollout operation if the working copy is
too new for subversion. This will prevent confman from trying (and failing)
to install each file individually.

Leaving open for merge to 1.9.

See #48

comment:3 Changed 2 years ago by ccowart

  • Status changed from new to closed
  • Resolution set to fixed

(In [412]) Merging fixes from trunk for several issues.

Fixes #49, #53, #61, #47, #48

Note: See TracTickets for help on using tickets.