[Box Backup-dev] [PATCH] Win32 merge [03] Additional commands for bbackupctl

Chris Wilson boxbackup-dev@fluffy.co.uk
Sun, 23 Jul 2006 01:56:33 +0100 (BST)


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323328-614214145-1153616193=:9244
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

Hi all,

The attached patch adds some new commands to bbackupctl. They are 
"wait-for-end" and "sync-and-wait". The patch includes documentation for 
them. They are useful in bbackupd unit tests (still to come).

Cheers, Chris.
-- 
_ ___ __     _
  / __/ / ,__(_)_  | Chris Wilson <0000 at qwirx.com> - Cambs UK |
/ (_/ ,\/ _/ /_ \ | Security/C/C++/Java/Perl/SQL/HTML Developer |
\ _/_/_/_//_/___/ | We are GNU-free your mind-and your software |
--8323328-614214145-1153616193=:9244
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=bb-win32-merge-3-bbackupctl-commands.patch
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.64.0607230156330.9244@localhost>
Content-Description: 
Content-Disposition: attachment; filename=bb-win32-merge-3-bbackupctl-commands.patch

SW5kZXg6IGJpbi9iYmFja3VwY3RsL2JiYWNrdXBjdGwuY3BwDQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09DQotLS0gYmluL2JiYWNrdXBjdGwvYmJhY2t1cGN0
bC5jcHAJKHJldmlzaW9uIDU2OCkNCisrKyBiaW4vYmJhY2t1cGN0bC9iYmFj
a3VwY3RsLmNwcAkod29ya2luZyBjb3B5KQ0KQEAgLTMyLDEyICszMiwxNCBA
QA0KIHsNCiAJcHJpbnRmKCJVc2FnZTogYmJhY2t1cGN0bCBbLXFdIFstYyBj
b25maWdfZmlsZV0gPGNvbW1hbmQ+XG4iDQogCSJDb21tYW5kcyBhcmU6XG4i
DQotCSIgIHN5bmMgLS0gc3RhcnQgYSBzeW5jcm9uaXNhdGlvbiBydW4gbm93
XG4iDQotCSIgIGZvcmNlLXN5bmMgLS0gZm9yY2UgdGhlIHN0YXJ0IG9mIGEg
c3luY3JvbmlzYXRpb24gcnVuLCAiDQorCSIgIHN5bmMgLS0gc3RhcnQgYSBz
eW5jaHJvbmlzYXRpb24gKGJhY2t1cCkgcnVuIG5vd1xuIg0KKwkiICBmb3Jj
ZS1zeW5jIC0tIGZvcmNlIHRoZSBzdGFydCBvZiBhIHN5bmNocm9uaXNhdGlv
biBydW4sICINCiAJImV2ZW4gaWYgU3luY0FsbG93U2NyaXB0IHNheXMgbm9c
biINCiAJIiAgcmVsb2FkIC0tIHJlbG9hZCBkYWVtb24gY29uZmlndXJhdGlv
blxuIg0KIAkiICB0ZXJtaW5hdGUgLS0gdGVybWluYXRlIGRhZW1vbiBub3dc
biINCiAJIiAgd2FpdC1mb3Itc3luYyAtLSB3YWl0IHVudGlsIHRoZSBuZXh0
IHN5bmMgc3RhcnRzLCB0aGVuIGV4aXRcbiINCisJIiAgd2FpdC1mb3ItZW5k
ICAtLSB3YWl0IHVudGlsIHRoZSBuZXh0IHN5bmMgZmluaXNoZXMsIHRoZW4g
ZXhpdFxuIg0KKwkiICBzeW5jLWFuZC13YWl0IC0tIHN0YXJ0IHN5bmMsIHdh
aXQgdW50aWwgaXQgZmluaXNoZXMsIHRoZW4gZXhpdFxuIg0KIAkpOw0KIAll
eGl0KDEpOw0KIH0NCkBAIC0xMDcsNyArMTA5LDEwIEBADQogCS8vIENoZWNr
IHRoZXJlJ3MgYSBzb2NrZXQgZGVmaW5lZCBpbiB0aGUgY29uZmlnIGZpbGUN
CiAJaWYoIWNvbmYuS2V5RXhpc3RzKCJDb21tYW5kU29ja2V0IikpDQogCXsN
Ci0JCXByaW50ZigiRGFlbW9uIGlzbid0IHVzaW5nIGEgY29udHJvbCBzb2Nr
ZXQsIGNvdWxkIG5vdCBleGVjdXRlIGNvbW1hbmQuXG5BZGQgYSBDb21tYW5k
U29ja2V0IGRlY2xhcmF0aW9uIHRvIHRoZSBiYmFja3VwZC5jb25mIGZpbGUu
XG4iKTsNCisJCXByaW50ZigiRGFlbW9uIGlzbid0IHVzaW5nIGEgY29udHJv
bCBzb2NrZXQsICINCisJCQkiY291bGQgbm90IGV4ZWN1dGUgY29tbWFuZC5c
biINCisJCQkiQWRkIGEgQ29tbWFuZFNvY2tldCBkZWNsYXJhdGlvbiB0byB0
aGUgIg0KKwkJCSJiYmFja3VwZC5jb25mIGZpbGUuXG4iKTsNCiAJCXJldHVy
biAxOw0KIAl9DQogCQ0KQEAgLTE4OCwyOCArMTkzLDc1IEBADQogCS8vIFBy
aW50IHN1bW1hcnk/DQogCWlmKCFxdWlldCkNCiAJew0KLQkJcHJpbnRmKCJE
YWVtb24gY29uZmlndXJhdGlvbiBzdW1tYXJ5OlxuIglcDQotCQkJICAgIiAg
QXV0b21hdGljQmFja3VwID0gJXNcbiIJCQlcDQotCQkJICAgIiAgVXBkYXRl
U3RvcmVJbnRlcnZhbCA9ICVkIHNlY29uZHNcbiIJXA0KLQkJCSAgICIgIE1p
bmltdW1GaWxlQWdlID0gJWQgc2Vjb25kc1xuIglcDQotCQkJICAgIiAgTWF4
VXBsb2FkV2FpdCA9ICVkIHNlY29uZHNcbiIsDQotCQkJICAgYXV0b0JhY2t1
cD8idHJ1ZSI6ImZhbHNlIiwgdXBkYXRlU3RvcmVJbnRlcnZhbCwgbWluaW11
bUZpbGVBZ2UsIG1heFVwbG9hZFdhaXQpOw0KKwkJcHJpbnRmKCJEYWVtb24g
Y29uZmlndXJhdGlvbiBzdW1tYXJ5OlxuIg0KKwkJCSIgIEF1dG9tYXRpY0Jh
Y2t1cCA9ICVzXG4iDQorCQkJIiAgVXBkYXRlU3RvcmVJbnRlcnZhbCA9ICVk
IHNlY29uZHNcbiINCisJCQkiICBNaW5pbXVtRmlsZUFnZSA9ICVkIHNlY29u
ZHNcbiINCisJCQkiICBNYXhVcGxvYWRXYWl0ID0gJWQgc2Vjb25kc1xuIiwN
CisJCQlhdXRvQmFja3VwPyJ0cnVlIjoiZmFsc2UiLCB1cGRhdGVTdG9yZUlu
dGVydmFsLCANCisJCQltaW5pbXVtRmlsZUFnZSwgbWF4VXBsb2FkV2FpdCk7
DQogCX0NCiANCisJc3RkOjpzdHJpbmcgc3RhdGVMaW5lOw0KKwlpZighZ2V0
TGluZS5HZXRMaW5lKHN0YXRlTGluZSkgfHwgZ2V0TGluZS5Jc0VPRigpKQ0K
Kwl7DQorI2lmIGRlZmluZWQgV0lOMzIgJiYgISBkZWZpbmVkIE5ERUJVRw0K
KwkJc3lzbG9nKExPR19FUlIsICJGYWlsZWQgdG8gcmVjZWl2ZSBzdGF0ZSBs
aW5lIGZyb20gZGFlbW9uIik7DQorI2Vsc2UNCisJCXByaW50ZigiRmFpbGVk
IHRvIHJlY2VpdmUgc3RhdGUgbGluZSBmcm9tIGRhZW1vblxuIik7DQorI2Vu
ZGlmDQorCQlyZXR1cm4gMTsNCisJfQ0KKw0KKwkvLyBEZWNvZGUgaXQNCisJ
aW50IGN1cnJlbnRTdGF0ZTsNCisJaWYoOjpzc2NhbmYoc3RhdGVMaW5lLmNf
c3RyKCksICJzdGF0ZSAlZCIsICZjdXJyZW50U3RhdGUpICE9IDEpDQorCXsN
CisJCXByaW50ZigiU3RhdGUgbGluZSBkaWRuJ3QgZGVjb2RlXG4iKTsNCisJ
CXJldHVybiAxOw0KKwl9DQorDQogCS8vIElzIHRoZSBjb21tYW5kIHRoZSAi
d2FpdCBmb3Igc3luYyB0byBzdGFydCIgY29tbWFuZD8NCiAJYm9vbCBhcmVX
YWl0aW5nRm9yU3luYyA9IGZhbHNlOw0KLQlpZig6OnN0cmNtcChhcmd2WzBd
LCAid2FpdC1mb3Itc3luYyIpID09IDApDQorCWJvb2wgYXJlV2FpdGluZ0Zv
clN5bmNFbmQgPSBmYWxzZTsNCisNCisJaWYoOjpzdHJjbXAoYXJndlswXSwg
IndhaXQtZm9yLXN5bmMiKSA9PSAwIHx8DQorCSAgIDo6c3RyY21wKGFyZ3Zb
MF0sICJ3YWl0LWZvci1lbmQiKSA9PSAwKQ0KIAl7DQotCQkvLyBDaGVjayB0
aGF0IGl0J3Mgbm90IGluIG5vbi1hdXRvbWF0aWMgbW9kZSwgYmVjYXVzZSB0
aGVuIGl0J2xsIG5ldmVyIHN0YXJ0DQorCQkvLyBDaGVjayB0aGF0IGl0J3Mg
bm90IGluIG5vbi1hdXRvbWF0aWMgbW9kZSwgDQorCQkvLyBiZWNhdXNlIHRo
ZW4gaXQnbGwgbmV2ZXIgc3RhcnQNCiAJCWlmKCFhdXRvQmFja3VwKQ0KIAkJ
ew0KLQkJCXByaW50ZigiRVJST1I6IERhZW1vbiBpcyBub3QgaW4gYXV0b21h
dGljIG1vZGUgLS0gc3luYyB3aWxsIG5ldmVyIHN0YXJ0IVxuIik7DQorCQkJ
cHJpbnRmKCJFUlJPUjogRGFlbW9uIGlzIG5vdCBpbiBhdXRvbWF0aWMgbW9k
ZSAtLSAiDQorCQkJCSJzeW5jIHdpbGwgbmV2ZXIgc3RhcnQhXG4iKTsNCiAJ
CQlyZXR1cm4gMTsNCiAJCX0NCiAJDQotCQkvLyBZZXMuLi4gc2V0IHRoZSBm
bGFnIHNvIHdlIGtub3cgd2hhdCB3ZSdyZSB3YWl0aW5nIGZvciBhIHN5bmMg
dG8gc3RhcnQNCi0JCWFyZVdhaXRpbmdGb3JTeW5jID0gdHJ1ZTsNCisJCS8v
IFllcy4uLiBzZXQgdGhlIGZsYWcgc28gd2Uga25vdyB0aGF0IA0KKwkJLy8g
d2UncmUgd2FpdGluZyBmb3IgYSBzeW5jIHRvIHN0YXJ0L2VuZA0KKwkJaWYo
OjpzdHJjbXAoYXJndlswXSwgIndhaXQtZm9yLXN5bmMiKSA9PSAwKQ0KKwkJ
ew0KKwkJCWFyZVdhaXRpbmdGb3JTeW5jID0gdHJ1ZTsNCisJCX0NCisJCWVs
c2UgaWYgKDo6c3RyY21wKGFyZ3ZbMF0sICJ3YWl0LWZvci1lbmQiKSA9PSAw
KQ0KKwkJew0KKwkJCWFyZVdhaXRpbmdGb3JTeW5jRW5kID0gdHJ1ZTsNCisJ
CX0NCiAJfQ0KKwllbHNlIGlmICg6OnN0cmNtcChhcmd2WzBdLCAic3luYy1h
bmQtd2FpdCIpID09IDApDQorCXsNCisJCS8vIHNlbmQgYSBzeW5jIGNvbW1h
bmQNCisJCXN0ZDo6c3RyaW5nIGNtZCgiZm9yY2Utc3luY1xuIik7DQorCQlj
b25uZWN0aW9uLldyaXRlKGNtZC5jX3N0cigpLCBjbWQuc2l6ZSgpKTsNCisJ
CWNvbm5lY3Rpb24uV3JpdGVBbGxCdWZmZXJlZCgpOw0KKwkJYXJlV2FpdGlu
Z0ZvclN5bmNFbmQgPSB0cnVlOw0KKw0KKwkJaWYgKGN1cnJlbnRTdGF0ZSAh
PSAwKQ0KKwkJew0KKwkJCXByaW50ZigiV2FpdGluZyBmb3IgY3VycmVudCBz
eW5jL2Vycm9yIHN0YXRlICINCisJCQkJInRvIGZpbmlzaC4uLlxuIik7DQor
CQl9DQorCX0NCiAJZWxzZQ0KIAl7DQogCQkvLyBObz8gSnVzdCBzZW5kIHRo
ZSBjb21tYW5kIGdpdmVuIHBsdXMgYSBxdWl0IGNvbW1hbmQuDQpAQCAtMjIw
LDYgKzI3Miw4IEBADQogCQ0KIAkvLyBSZWFkIHRoZSByZXNwb25zZQ0KIAlz
dGQ6OnN0cmluZyBsaW5lOw0KKwlib29sIHN5bmNJc1J1bm5pbmcgPSBmYWxz
ZTsNCisNCiAJd2hpbGUoIWdldExpbmUuSXNFT0YoKSAmJiBnZXRMaW5lLkdl
dExpbmUobGluZSkpDQogCXsNCiAJCWlmKGFyZVdhaXRpbmdGb3JTeW5jKQ0K
QEAgLTIzNCw2ICsyODgsMjggQEANCiAJCQkJYnJlYWs7DQogCQkJfQkJDQog
CQl9DQorCQllbHNlIGlmKGFyZVdhaXRpbmdGb3JTeW5jRW5kKQ0KKwkJew0K
KwkJCWlmKGxpbmUgPT0gInN0YXJ0LXN5bmMiKQ0KKwkJCXsNCisJCQkJcHJp
bnRmKCJTeW5jIHN0YXJ0ZWQuLi5cbiIpOw0KKwkJCQlzeW5jSXNSdW5uaW5n
ID0gdHJ1ZTsNCisJCQl9DQorCQkJZWxzZSBpZihsaW5lID09ICJmaW5pc2gt
c3luYyIgJiYgc3luY0lzUnVubmluZykNCisJCQl7DQorCQkJCXByaW50Zigi
U3luYyBmaW5pc2hlZC5cbiIpOw0KKwkJCQkvLyBTZW5kIGEgcXVpdCBjb21t
YW5kIHRvIGZpbmlzaCBuaWNlbHkNCisJCQkJY29ubmVjdGlvbi5Xcml0ZSgi
cXVpdFxuIiwgNSk7DQorCQkJCQ0KKwkJCQkvLyBBbmQgd2UncmUgZG9uZQ0K
KwkJCQlicmVhazsNCisJCQl9DQorCQkJZWxzZSBpZihsaW5lID09ICJmaW5p
c2gtc3luYyIpDQorCQkJew0KKwkJCQlwcmludGYoIlByZXZpb3VzIHN5bmMg
ZmluaXNoZWQuXG4iKTsNCisJCQl9DQorCQkJLy8gZGFlbW9uIG11c3Qgc3Rp
bGwgYmUgYnVzeQ0KKwkJfQ0KIAkJZWxzZQ0KIAkJew0KIAkJCS8vIElzIHRo
aXMgYW4gT0sgb3IgZXJyb3IgbGluZT8NCg==

--8323328-614214145-1153616193=:9244--