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.

pirms 14 gadiem
pirms 14 gadiem
pirms 14 gadiem
pirms 14 gadiem
pirms 14 gadiem
pirms 14 gadiem
pirms 14 gadiem
pirms 14 gadiem
pirms 14 gadiem
pirms 14 gadiem
pirms 14 gadiem
pirms 14 gadiem
pirms 14 gadiem
pirms 14 gadiem
pirms 14 gadiem
pirms 14 gadiem
pirms 14 gadiem
pirms 14 gadiem
pirms 14 gadiem
pirms 14 gadiem
pirms 14 gadiem
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()