+ def get_module(name, tag):
+ if not tag or tag == "trunk":
+ return Module("%s" % (module), options)
+ else:
+ return Module("%s@%s" % (module, tag), options)
+
+
+ for module in diff:
+ print '=== %s - %s to %s : package %s ===' % (tagfile, buildtag_old, buildtag_new, module)
+
+ first, second = diff[module]
+ m = get_module(module, first)
+ os.system('rm -rf %s' % m.module_dir) # cleanup module dir
+ m.init_module_dir()
+
+ if m.repository.type == "svn":
+ print ' * from', first, m.repository.url()
+ else:
+ print ' * from', first, m.repository.gitweb()
+
+ specfile = m.main_specname()
+ (tmpfd, tmpfile) = tempfile.mkstemp()
+ os.system("cp -f /%s %s" % (specfile, tmpfile))
+
+ m = get_module(module, second)
+ m.init_module_dir()
+ specfile = m.main_specname()
+
+ if m.repository.type == "svn":
+ print ' * to', second, m.repository.url()
+ else:
+ print ' * to', second, m.repository.gitweb()
+
+ print '{{{'
+ os.system("diff -u %s %s" % (tmpfile, specfile))
+ print '}}}'
+
+ os.unlink(tmpfile)
+
+ for module in new_modules:
+ print '=== %s : new package in build %s ===' % (tagfile, module)
+
+ for module in removed_modules:
+ print '=== %s : removed package from build %s ===' % (tagfile, module)
+
+
+def adopt_master (options, args):
+ modules=[]
+ for module in options.modules:
+ modules += module.split()
+ for module in modules:
+ modobj=Module(module,options)
+ for tags_file in args:
+ if options.verbose:
+ print 'adopting master for',module,'in',tags_file
+ modobj.patch_tags_file(tags_file,'_unused_','master',fine_grain=False)
+ if options.verbose:
+ Command("git diff %s"%" ".join(args),options).run()
+