Module: Braid::Operations::Helpers
- Included in:
- Command
- Defined in:
- lib/braid/operations.rb
Instance Method Summary collapse
- #clean_svn_revision(revision) ⇒ Object
- #determine_target_commit(params, options) ⇒ Object
- #display_revision(type, revision) ⇒ Object
- #find_git_revision(commit) ⇒ Object
-
#validate_revision_option(params, options) ⇒ Object
Make sure the revision is valid, then clean it.
- #validate_svn_revision(old_revision, new_revision, path) ⇒ Object
Instance Method Details
#clean_svn_revision(revision) ⇒ Object
120 121 122 123 124 125 126 |
# File 'lib/braid/operations.rb', line 120 def clean_svn_revision(revision) if revision revision.to_i else nil end end |
#determine_target_commit(params, options) ⇒ Object
163 164 165 166 167 168 169 170 171 172 173 |
# File 'lib/braid/operations.rb', line 163 def determine_target_commit(params, ) if ["revision"] if params["type"] == "svn" invoke(:svn_git_commit_hash, params["local_branch"], ["revision"]) else invoke(:git_rev_parse, ["revision"]) end else invoke(:git_rev_parse, params["local_branch"]) end end |
#display_revision(type, revision) ⇒ Object
175 176 177 |
# File 'lib/braid/operations.rb', line 175 def display_revision(type, revision) type == "svn" ? "r#{revision}" : "'#{revision[0, 7]}'" end |
#find_git_revision(commit) ⇒ Object
114 115 116 117 118 |
# File 'lib/braid/operations.rb', line 114 def find_git_revision(commit) invoke(:git_rev_parse, commit) rescue Braid::Commands::ShellExecutionError raise Braid::Git::UnknownRevision, "unknown revision: #{commit}" end |
#validate_revision_option(params, options) ⇒ Object
Make sure the revision is valid, then clean it.
149 150 151 152 153 154 155 156 157 158 159 160 161 |
# File 'lib/braid/operations.rb', line 149 def validate_revision_option(params, ) if ["revision"] case params["type"] when "git" ["revision"] = find_git_revision(["revision"]) when "svn" validate_svn_revision(params["revision"], ["revision"], params["remote"]) ["revision"] = clean_svn_revision(["revision"]) end end true end |
#validate_svn_revision(old_revision, new_revision, path) ⇒ Object
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/braid/operations.rb', line 128 def validate_svn_revision(old_revision, new_revision, path) return unless new_revision = clean_svn_revision(new_revision) old_revision = clean_svn_revision(old_revision) # TODO add checks for unlocked mirrors if old_revision if new_revision < old_revision raise Braid::Commands::LocalRevisionIsHigherThanRequestedRevision elsif new_revision == old_revision raise Braid::Commands::MirrorAlreadyUpToDate end end if path && invoke(:svn_remote_head_revision, path) < new_revision raise Braid::Commands::RequestedRevisionIsHigherThanRemoteRevision end true end |