Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

vor 14 Jahren
vor 14 Jahren
vor 14 Jahren
vor 14 Jahren
vor 14 Jahren
vor 14 Jahren
vor 14 Jahren
vor 14 Jahren
vor 14 Jahren
vor 14 Jahren
vor 14 Jahren
vor 14 Jahren
vor 14 Jahren
vor 14 Jahren
vor 14 Jahren
vor 14 Jahren
vor 14 Jahren
vor 14 Jahren
vor 14 Jahren
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  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 : merge from local into master"
  12. print "python lib/wnf.py log : list last 10 commits"
  13. print "python lib/wnf.py pull : pull from git"
  14. def setup():
  15. import os, sys
  16. if not os.path.exists('versions-local.db'):
  17. if os.path.exists('versions-master.db'):
  18. import shutil
  19. shutil.copyfile('versions-master.db', 'versions-local.db')
  20. print "created versions-local.db from versions-master.db"
  21. else:
  22. vc = version.VersionControl()
  23. vc.repo.setup()
  24. vc.close()
  25. print "created fresh versions-local.db"
  26. else:
  27. if len(sys.argv)==3 and sys.argv[2]=='master':
  28. import shutil
  29. shutil.copyfile('versions-local.db', 'versions-master.db')
  30. print "created versions-master.db from versions-local.db"
  31. else:
  32. print "versions-local.db already exists. Nothing to do."
  33. def run():
  34. sys.path.append('lib')
  35. sys.path.append('lib/py')
  36. if len(sys.argv)<2:
  37. print_help()
  38. return
  39. cmd = sys.argv[1]
  40. if cmd=='build':
  41. from py import build
  42. build.run()
  43. vc = version.VersionControl()
  44. print 'version %s' % vc.repo.get_value('last_version_number')
  45. elif cmd=='merge':
  46. vc = version.VersionControl()
  47. vc.setup_master()
  48. vc.merge(vc.repo, vc.master)
  49. vc.close()
  50. elif cmd=='merge-local':
  51. vc = version.VersionControl()
  52. vc.setup_master()
  53. vc.merge(vc.master, vc.repo)
  54. vc.close()
  55. elif cmd=='setup':
  56. setup()
  57. elif cmd=='clear_startup':
  58. # experimental
  59. from webnotes import startup
  60. startup.clear_info('all')
  61. vc = version.VersionControl()
  62. print 'version %s' % vc.repo.get_value('last_version_number')
  63. elif cmd=='log':
  64. vc = version.VersionControl()
  65. for l in vc.repo.sql("select * from log order by rowid desc limit 10 ", as_dict =1):
  66. print 'file:'+ l['fname'] + ' | version: ' + l['version']
  67. print 'version %s' % vc.repo.get_value('last_version_number')
  68. vc.close()
  69. elif cmd=='files':
  70. vc = version.VersionControl()
  71. for f in vc.repo.sql("select fname from files where fname like ?", ((sys.argv[2] + '%'),)):
  72. print f[0]
  73. vc.close()
  74. # pull from remote and merge with local
  75. elif cmd=='gitpull':
  76. branch = 'master'
  77. if len(sys.argv)>2:
  78. branch = sys.argv[2]
  79. print "pulling erpnext"
  80. os.system('git pull origin %s' % branch)
  81. vc = version.VersionControl()
  82. vc.setup_master()
  83. vc.merge(vc.master, vc.repo)
  84. vc.close()
  85. print "pulling framework"
  86. os.chdir('lib')
  87. os.system('git pull origin %s' % branch)
  88. if __name__=='__main__':
  89. run()