a | b/trunk/cforge/cforge/Package/CFORGE/Scripts/action.svn.commit.py | ||
---|---|---|---|
1 | # Example Batch: |
||
2 | # set WD=%~d0%~p0 |
||
3 | # set USER=<username> |
||
4 | # set PASS=<password> |
||
5 | # set URL=https://forge.codesys.com/svn/drv,gpio-mod,code/trunk/GPIOMods |
||
6 | # "C:\Program Files (x86)\3S CODESYS-V3.5.12.0\CODESYS\Common\CODESYS.exe" --profile="CODESYS V3.5 SP12" --runscript="%WD%\action.svn.checkout.py" --scriptargs="%URL% %USER% %PASS% %WD%" --noUI |
||
7 | |||
8 | import sys |
||
9 | import os.path |
||
10 | import pysvn |
||
11 | |||
12 | if len(sys.argv) <= 1: |
||
13 | print("usage: <user> <pass> <working dir>") |
||
14 | sys.exit() |
||
15 | |||
16 | if len(sys.argv) > 2: |
||
17 | username = sys.argv[1] |
||
18 | password = sys.argv[2] |
||
19 | |||
20 | if len(sys.argv) > 3: |
||
21 | path = sys.argv[3] |
||
22 | |||
23 | if len(sys.argv) > 4: |
||
24 | message = sys.argv[4] |
||
25 | |||
26 | def set_username(req): |
||
27 | req.username = username |
||
28 | req.password = password |
||
29 | req.save = True # Optional |
||
30 | |||
31 | svn.auth_username_password += set_username |
||
32 | # checkout plain SVN files |
||
33 | pysvn.svn_commit_non_codesys(username, password, path, message) |
||
34 | |||
35 | # iterate over all projects and libraries |
||
36 | for root, dirs, files in os.walk(path): |
||
37 | for file in files: |
||
38 | if file.endswith(".project") or file.endswith(".library"): |
||
39 | filepath = os.path.join(root, file) |
||
40 | proj = projects.open(filepath) |
||
41 | proj.svn.commit(message) |
||
42 | proj.save() |
||
43 | proj.close() |
||
44 | |||
45 | system.exit() |
||
46 | |||
47 |