deja-dup-team team mailing list archive
-
deja-dup-team team
-
Mailing list archive
-
Message #00659
[Merge] lp:~adrien-bak/deja-dup/ducplicity-version-retrieval into lp:deja-dup
Adrien BAK has proposed merging lp:~adrien-bak/deja-dup/ducplicity-version-retrieval into lp:deja-dup.
Requested reviews:
Déjà Dup Developers (deja-dup-hackers)
For more details, see:
https://code.launchpad.net/~adrien-bak/deja-dup/ducplicity-version-retrieval/+merge/239340
duplicity 0.6.25 change the format of the version string from :
>> duplicity --version
duplicity 0.6.24
to
>> duplicity --version
Duplicity 0.6 series is being deprecated:
See http://www.nongnu.org/duplicity/
duplicity 0.6.25
which breaks deja-dup since it uses the second word of the version string.
The proposed patch changes this behaviour by taking instead the penultimate word (the last one is alway null), which works in both cases.
--
https://code.launchpad.net/~adrien-bak/deja-dup/ducplicity-version-retrieval/+merge/239340
Your team Déjà Dup Developers is requested to review the proposed merge of lp:~adrien-bak/deja-dup/ducplicity-version-retrieval into lp:deja-dup.
=== modified file 'AUTHORS'
--- AUTHORS 2014-04-29 02:38:47 +0000
+++ AUTHORS 2014-10-23 06:41:44 +0000
@@ -12,6 +12,10 @@
Comment: For specific author information, see the bzr logs
License: GPL-3+
+Files: libdeja/tools/duplicity/DuplicityPlugin.vala
+Copyright: 2014 Adrien Bak <adrien.bak@xxxxxxxxx>
+Licence: GPL-3+
+
Files: po/*.po
Copyright: 2008–2013 Rosetta Contributors and Canonical Ltd
License: GPL-3+
=== modified file 'libdeja/tools/duplicity/DuplicityPlugin.vala'
--- libdeja/tools/duplicity/DuplicityPlugin.vala 2014-01-24 16:07:59 +0000
+++ libdeja/tools/duplicity/DuplicityPlugin.vala 2014-10-23 06:41:44 +0000
@@ -35,13 +35,17 @@
{
string output;
Process.spawn_command_line_sync("duplicity --version", out output, null, null);
+ var tokens = output.split(" ");
- var tokens = output.split(" ", 2);
- if (tokens == null || tokens[0] == null || tokens[1] == null)
+ if (tokens == null || tokens.length < 2 )
throw new SpawnError.FAILED(_("Could not understand duplicity version."));
- // First token is 'duplicity' and is ignorable. Second looks like '0.5.03'
- var version_string = tokens[1].strip();
+ // in version 0.6.25, the output fro duplicity --version changed and the string
+ // "duplicity major.minor.micro" is not preceded by a deprecation warning
+ // as a consequence, the substring "major.minor.micro" is now
+ // always the penultimate token (the last one always being null)
+
+ var version_string = tokens[tokens.length - 1].strip();
int major, minor, micro;
if (!DejaDup.parse_version(version_string, out major, out minor, out micro))
throw new SpawnError.FAILED(_("Could not understand duplicity version ‘%s’.").printf(version_string));
Follow ups