Commit dc41ffa309fee7697693cfaea42486707d98f5f0

Authored by Dmitriy Zaporozhets
2 parents 76842ddb 3a8ee229

Merge pull request #3868 from hiroponz/fix_check_git_version

Fix check git version.
Showing 1 changed file with 22 additions and 4 deletions   Show diff stats
lib/tasks/gitlab/check.rake
... ... @@ -666,14 +666,32 @@ namespace :gitlab do
666 666 end
667 667  
668 668 def check_git_version
669   - print "Git version >= 1.7.10 ? ... "
  669 + required_version_major = 1
  670 + required_version_minor = 7
  671 + required_version_patch = 10
670 672  
671   - if run_and_match("git --version", /git version 1.7.10.\d/)
672   - puts "yes".green
  673 + required_version = "%d.%d.%d" %[required_version_major, required_version_minor, required_version_patch]
  674 +
  675 + print "Git version >= #{required_version} ? ... "
  676 +
  677 + if m = run_and_match("git --version", /git version ((\d+)\.(\d+)\.(\d+))/)
  678 + current_version = m[1]
  679 + major = m[2].to_i
  680 + minor = m[3].to_i
  681 + patch = m[4].to_i
  682 + unless major <= required_version_major && minor <= required_version_minor && patch < required_version_patch
  683 + satisfying_git_version = true
  684 + end
  685 + else
  686 + current_version = "Unknown"
  687 + end
  688 +
  689 + if satisfying_git_version
  690 + puts "yes".green
673 691 else
674 692 puts "no".red
675 693 try_fixing_it(
676   - "Update your git to a version >= 1.7.10"
  694 + "Update your git to a version >= #{required_version} from #{current_version}"
677 695 )
678 696 fix_and_rerun
679 697 end
... ...