Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 
 
 

87 rindas
2.4 KiB

  1. #!/usr/bin/env python
  2. import os, sys
  3. from py.build import version
  4. version.verbose = True
  5. def print_help():
  6. print "wnframework version control utility"
  7. print
  8. print "Usage:"
  9. print "python lib/wnf.py build : scan all folders and commit versions with latest changes"
  10. print "python lib/wnf.py setup : setup the local system (from master or fresh)"
  11. print "python lib/wnf.py merge [local|master] : merge from source (master or local)"
  12. print "python lib/wnf.py log : list last 10 commits"
  13. def run():
  14. sys.path.append('lib')
  15. sys.path.append('lib/py')
  16. if len(sys.argv)<2:
  17. print_help()
  18. return
  19. cmd = sys.argv[1]
  20. if cmd=='build':
  21. from py import build
  22. build.run()
  23. vc = version.VersionControl()
  24. print 'version %s' % vc.repo.get_value('last_version_number')
  25. elif cmd=='merge':
  26. vc = version.VersionControl()
  27. vc.setup_master()
  28. if sys.argv[2]=='local':
  29. vc.merge(vc.repo, vc.master)
  30. elif sys.argv[2]=='master':
  31. vc.merge(vc.master, vc.repo)
  32. else:
  33. print "usage: wnf merge local|master"
  34. print "help: parameter (local or master) is the source"
  35. vc.close()
  36. elif cmd=='setup':
  37. if not os.path.exists('versions-local.db'):
  38. if os.path.exists('versions-master.db'):
  39. import shutil
  40. shutil.copyfile('versions-master.db', 'versions-local.db')
  41. print "created versions-local.db from versions-master.db"
  42. else:
  43. vc = version.VersionControl()
  44. vc.repo.setup()
  45. vc.close()
  46. print "created fresh versions-local.db"
  47. else:
  48. if len(sys.argv)==3 and sys.argv[2]=='master':
  49. import shutil
  50. shutil.copyfile('versions-local.db', 'versions-master.db')
  51. print "created versions-master.db from versions-local.db"
  52. else:
  53. print "versions-local.db already exists. Nothing to do."
  54. elif cmd=='clear_startup':
  55. # experimental
  56. from webnotes import startup
  57. startup.clear_info('all')
  58. vc = version.VersionControl()
  59. print 'version %s' % vc.repo.get_value('last_version_number')
  60. elif cmd=='log':
  61. vc = version.VersionControl()
  62. for l in vc.repo.sql("select * from log order by rowid desc limit 10 ", as_dict =1):
  63. print 'file:'+ l['fname'] + ' | version: ' + l['version']
  64. print 'version %s' % vc.repo.get_value('last_version_number')
  65. vc.close()
  66. elif cmd=='files':
  67. vc = version.VersionControl()
  68. for f in vc.repo.sql("select fname from files where fname like ?", ((sys.argv[2] + '%'),)):
  69. print f[0]
  70. vc.close()
  71. if __name__=='__main__':
  72. run()