FreeCAD
1#!/usr/bin/python
2# -*- coding: utf-8 -*-
3# (c) 2012 Werner Mayer LGPL
4
5import sys
6from os import path
7from tempfile import gettempdir
8
9from bzrlib.branch import Branch
10from bzrlib.workingtree import WorkingTree
11
12
13def runUpdate(filename):
14branch = "versioning.git"
15REMOTE_URL = "bzr+ssh://bazaar.launchpad.net/~freecad-maintainers/freecad/%s" % (branch)
16LOCAL_BRANCH = path.join(gettempdir(), branch)
17
18# Location of branch on Launchpad
19remote_branch = Branch.open(REMOTE_URL)
20
21# Location of branch on local system
22local_branch = remote_branch.bzrdir.sprout(LOCAL_BRANCH).open_branch()
23(
24False if local_branch.__name__ else True
25) # "Use" to silence analyzers, pending PEP 640 or similar
26
27# Change a file in the local branch
28try:
29wf = open(LOCAL_BRANCH + "/src/Build/Version.h", "w")
30rf = open(filename, "r")
31except IOError as error:
32raise error
33else:
34wf.write(rf.read())
35wf.close()
36
37# Commit the change
38tree = WorkingTree.open(LOCAL_BRANCH)
39tree.commit("Update version number")
40
41# Push back to Launchpad
42# transport = get_transport(PUSHTO_URL)
43# local_branch.create_clone_on_transport(transport)
44
45
46def main():
47runUpdate(sys.argv[1])
48
49
50if __name__ == "__main__":
51main()
52