You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

пре 14 година
пре 14 година
пре 14 година
пре 14 година
пре 14 година
пре 14 година
пре 14 година
пре 14 година
пре 14 година
пре 14 година
пре 14 година
пре 14 година
пре 14 година
пре 14 година
пре 14 година
пре 14 година
пре 14 година
пре 14 година
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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()