Method: RSCM::SubversionLogEntryParser#relative_path

Defined in:
lib/rscm/scm/subversion_log_parser.rb

#relative_path(url, path_from_root) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/rscm/scm/subversion_log_parser.rb', line 50

def relative_path(url, path_from_root)
  path_from_root = path_from_root.chomp
  url_tokens = url.split('/')
  path_from_root_tokens = path_from_root.split('/')
  
  max_similar = path_from_root_tokens.length
  while(max_similar > 0)
    url = url_tokens[-max_similar..-1]
    path = path_from_root_tokens[0..max_similar-1]
    if(url == path)
      break
    end
    max_similar -= 1
  end
  if(max_similar == 0) 
    nil
  else
    path_from_root_tokens[max_similar..-1].join("/")
  end
end